6月4日(木)Java・システム開発演習(最終日)~成果発表会~

皆様、こんにちは。

いよいよ、成果発表会当日になりました。

4月の当初から37日間続いてきた「新人IT研修」も、今日で終了いたします。

 

新型コロナウイルス感染防止のため、オンラインにて実施してまいりましたが、

ここまで集中を切らさず、よく頑張ってきたと思います。

いよいよ、成果を披露するときです!最終日、張り切っていきましょう!

 

 

昨日の日報には、こんなコメントがありました。

 

「あらかじめ今日の進捗目標を決めて作業に取り組む日々が続いたので、

 遅れた時のリカバリープランも立てやすかった。

 実務でも時間の遅れは必ず生じると思うので、

 完成日から逆算して遅れずに完成できるように

 時間、計画の管理をしっかりしたい。」

 

「話がまとまらず言いよどんでしまう場面があった。

 話の内容が変わる際は、「次は○○について説明いたします」など、

 内容に変化があることを明言する。

 話す内容を明言することで、自分の話している内容を意識し、

 言いよどみも減少すると考える。」

 

毎日、グループで進捗報告と振り返りをしていますが、

自身でも、きちんとトライアルアンドエラーを繰り返して、

PDCAサイクルをまわす癖が身についてきたようですね。

 

朝の進捗報告でも、下記のような発表がありました。

 

「発表のリハーサルをして、まだ改善できるところを発見できたのが良かった。

 時間も調整が必要な部分があるので、何度かリハーサルをして調整したい」

 

「昨日午前中に新たなエラーが見つかったが、

 期日内に確実に予定が終わるように、

 逆算して予備時間を設けて予定を組んでいたので、

 突発的なエラーにも対処でき、発表練習も十分にできた」

 

講師も、

「時間調整も大事だけど、何よりも、きちんと聞く側に『伝わる』ことが大事!」

「質疑応答の際に、誰でもこたえられるように、

 また、デモをする人以外もコードを見せることができるように、

 準備をしておいてください!」

と熱心にアドバイスをしていました。

 

KPT(Keep(良かったこと)、Problem(課題、改善点)、Try(解決策))の

プレゼンテーションを習慣にしたことで、

「余裕をもってタスク期限を設定し、軌道修正する」タイムマネジメントの基本が

定着しつつあることが伺えます。

 

本日は、最大で20名以上の方が見学に来られます。

しっかりと「見られている」ことを意識して、自信をもってプレゼンしてくださいね!

 

f:id:insblog:20200604183558j:plain

 

進捗報告の後は、各グループ、昨日のリハーサルの講評を踏まえて、

プレゼンテーションの構成を練り直しています。

 

コンセプトにこだわりがあるグループでは、

一生懸命考えた独特な「世界観」が、どう話したらうまく伝わるのかを

一生懸命議論しています。

 

「昨日、世界観が伝わらないのはもったいない、

 ってフィードバックがあったけど、

 たしかに『何のことかよくわからない』って思われたまま進んだら、

 意味がないよね~」

「そうしたら、序盤で『こだわった点』について、

 時間をかけたほうが良さそうかな?」

「世界観的なこだわりと、ポイント付与とか、技術的にこだわった部分と

 スライドを分けて話すのもいいね」

 

前提として、「自分たちが話したい」内容よりも、

「相手が聞きたい」と思うであろう内容に焦点を当てて、

ディスカッションできているのがよいですね。

 

f:id:insblog:20200604183631j:plain

 

別のグループの様子をのぞいてみると、早速リハーサルを行っていました。

 

11:00から、3グループそれぞれを回って、講師陣とリハーサルをするので、

その前に何回かリハーサルをして、プレゼンを仕上げよう!と意気込んでいるようです。

 

終わった後は、早速反省会。

「さっきの話し方よかったよ!」と褒めたり、

「以上で○○の説明を終わります、は入れたほうがいいね!」

と意見を言い合っていました。

 

昨日、講師からフィードバックされた内容を受けて、

早口にならないように気を付けながら、丁寧に話している様子です。

11:00からの最終リハーサルでも、かなり様になっていました。

 

f:id:insblog:20200604183654j:plain

 

午後、いよいよ発表会が始まりました。

全員が必ず、機能の説明ができるように話の構成を工夫しており、

それぞれのグループが持ち味を最大限に生かして、一生懸命、プレゼンをしていました。

 

ラムダ式を使って、実装を完成させたことで、クラスの整理に貢献できました」

「購入後に付与できる、ポイントシステムを導入しました」

技術的に苦戦したところも含めて、発表してもらい、

様々な観点で、参加企業の皆様にご質問・ご講評をいただきました。

 

参加されている企業の方も

「う~ん、やるなあ…」と感心しているような表情をされていたり、

全体が笑いの表情に包まれる場面も。

 

f:id:insblog:20200604183720j:plain

 

最後には、運営陣や、講師の方からコメントがあり、

受講者のみなさんも、感慨深い思いに浸っていた様子です。

 

発表会も無事に終わり、研修のゴールにたどり着きました。

本当に、この数か月、よく頑張って受講していただきました。

 

研修終了ですが、エンジニアとしては、まさに今日がスタートを切る日です。

皆様の活躍を心よりお祈りしております。

 

最後までお読みいただき、ありがとうございました。

 

6月3日(水)Java・システム開発演習(10日目)~発表会準備、本番環境への移行~

皆様、こんにちは。

いよいよ、成果発表会の前日。

「Java・システム開発演習(11日間)」の10日目です。

 

泣いても笑っても、準備にかけられるのはあと1日です。

本番環境への移行と、発表資料、提出資料を仕上げてもらいますよ!

 

昨日の日報には、自身の成長について振り返るコメントがありました。

 

(プログラミング経験者の方)

「CSSを初めて見た時は、どこに書けばいいのか、

 どんな風に書けばいいのか分からず、

 ずっと迷っていましたが、今は、簡単な変更であれば時間をかけずに

 変更できるようになって良かった。」

 

(プログラミング経験者の方)

JavaScriptを使わないと記述不可能そうな箇所があったため、

 過去の研修で使ったテキストを読み直し、想定通りのものが作ることができた。

 自分で調べて考え、JavaScriptを書くことができたので、自信がついた。

 他人に助けられることでは、生まれない感情だと実感した。」

 

Webアプリケーションの機能を仕上げ、

CSSやJavaScriptでデザインの適用しているようですが、

処理とデザインを、トータルでコーディングできるようになったと実感が持てるのは、

ひとまわりも、ふたまわりも成長した証でしょうね。

自信を糧に、最後までやり抜いてください!明日の発表を心待ちにしています。

 

f:id:insblog:20200603182420j:plain

 

さて、今日もKPTのプレゼンテーションから研修を開始しました。

発表会の発表順で進捗報告してもらいます。

 

「テストを行うグループと、CSS作成グループに分かれたことで、

 効率的にテストを完了させることができたことが良かったです。

 発表資料に着手できていないことが課題ですが、役割分担を明確にして、

 効率よく進めたいと思います。

 時間の余裕があれば、やはりレスポンシブウェブデザインにも挑戦したいです」

 

「デザインを3人で行おうとして、意見がまとまらないことが多く、

 時間がかかってしまったことがありました。

 細かい部分の最終調整は、一人の人に作業を任せて、

 他の人でドキュメントを完成させます」

 

といった報告がありました。

昨日、レスポンシブウェブデザインに挑戦するか迷っていたチームですが、

余裕があればチャレンジしよう!ということを決めたようですね!

(楽しみにしています)

報告の仕方も、「結論→理由→具体的な解決策」の順を、

自然に意識できるようになったところが素晴らしいと思います。

 

 

進捗報告の後は、各グループで最終調整に入っています。

 

あるグループでは、昨日のうちに発表資料の作成を大方終えたようで、

Webアプリケーションのヘッダー部分を、

一つ一つロゴに差し替えようとしている様子です。

 

f:id:insblog:20200603182443j:plain

 

Webアプリケーションのコンセプトをこだわっただけに、

デザインでどこまでそのコンセプトを再現できるか、というところに

全員がこだわりを持っているようですね。

(※突飛な発想をしている、斬新なアイデアが魅力的なグループです)

 

 

他のグループでは、ドキュメントを完成させるべく、一人ひとつ、

完成していないドキュメントを割り振って作成しているようです。

 

過去に作成された資料を参照しつつ、

どこまでデモンストレーションをするか、プレゼンテーション資料で説明するか、

共通認識を取って、発表資料のスライドのボリュームを調整しています。

 

手が空いてしまった方がいることもあってか、

他のグループに先駆けて、本番環境への移行を並行して進めます。

 

サブ講師が手順を説明しながら、

最終的にアップするWARファイルを書き出し、

本番のデータベースの接続も行いました。

 

f:id:insblog:20200603182509j:plain

 

本番環境での動作が確認できると、皆さんかなり嬉しかったようで、

全員が手を止めて画面をのぞき込み、わいわいと話していました。

 

「おー!動いてる!ここまでよく仕上げられたね~!!」

「いったん仮で会社概要ページを作ったけど、

 個々の情報は書き換えたほうがよさそうだね」

「代表者名も変えようか、全員の名前もじって書き換えよう(笑)」

という具合に、細かい修正点を確認して、また個人作業に戻りました。

 

 

午後も、最終的なエラーチェックと、発表資料の準備を進めています。

 

もう一つのグループでは、先にデバッグを完了させて、

今から発表資料作成に着手する様子。

チャットにざっと、作りたいスライドを整理して、分担を決めています。

 

 

f:id:insblog:20200603182612j:plain

 

「みんな、どのページ作りたい?(笑)」

「サイト作成の『動機』っていうと難しいけど、

 コンセプトの言い出しっぺは私だから、私が担当するよ!」

「○○さんは本番環境アップ後の最終チェックやってほしいから、

 軽めの資料作ってもらおう!」

「了解!こだわりポイントは、とりあえず各々のスライドを作った後で、

 みんなでアイデア絞って決めようか!」

 

作りながら、「機能ってこんなもんだっけ?」と確認しながら、作成しています。

 

f:id:insblog:20200603182652j:plain

 

「ベタに書くと、文字数が多くなって見づらいかなあ」

というメンバーの指摘を受け、

「○○機能

  -○○一覧ページ

  -○○詳細ページ」

というようにまとめ直していて、見やすさを考えて資料も作っています。

 

1時間足らずで全員分の資料を統合し、内容を調整しました。

分担作業後でも大きな認識のずれもなかったようで、

少し画面のキャプチャを加えて完成させていました。

 

見やすい資料にするための工夫をしたり、

きちんと方向性を合わせて作業に取りかかったりするなど、

自然に適切な仕事の進め方をしているところを見て、とても安堵しています。

 

まだまだ荒削りのところはありますが、

研修後も「能動的に発信する」ことを意識できれば、

現場でも、十分にコミュニケーションがとれるのでは、と期待できます。

 

 

先ほど、本番環境での動作確認を終えたグループに戻ってみると、

本番環境で画面遷移を確認しながら、

このWebページでこの説明をしよう、と細かく決めていました。

 

昨日の予行練習で、講師から、「裏側での処理も説明するとより良いプレゼンになる」

とフィードバックがあったことを受けて、

「会員登録はデータベースにデータを移行し、

 ログインした後はセッションスコープでデータを保持していることを

 説明しておこう」

「注文が完了した段階で、データベースのカラムも見せよう」

「お問い合わせページとか、注文関連の機能については、

 ログインしているか、していないかで表示される内容が違うから、

 まずログインせずに見せたほうがいいね」

と、熱く議論を交わしていました。

ディスカッションしている内容が的確なので、今から本番が楽しみです!

 

ディスカッションを終えたところで、

「とりあえずぶっつけ本番でやってみるぞ!」と、原稿は作らずにいきなり通して話し始めました。

※この対応力、素晴らしいですね。

 

f:id:insblog:20200603182734j:plain

 

タイムキーパーが時間を測り、「○○さんは△分△秒」と発表して、

早速反省会をしていました。

 

「原稿を作り、端的に話すことで時間短縮できそう!」

「エラーで苦労したことも発表したいから、○○の時間を削ろう」

「あえて質問してもらうことも考えて、全部説明しないのも手だね」

と意見を出し合っています。

 

15:30を過ぎたあたりから、講師陣が各グループを回って、

発表会の予行練習にフィードバックをしました。

伝わりやすい話し方や、スライドの見やすさ、声のトーンについても指摘をしました。

 

どのグループも、多少不安を感じている点はありますが、

無事明日を迎えられるところまで仕上げています。

いよいよ明日ですね!楽しみにしております!

 

本日も、一日お疲れさまでした。

 

6月2日(火)Java・システム開発演習(9日目)~発表会準備、受講者の皆さんの伸び~

 

皆様、こんにちは。

ついに、発表会の2日前となりました。

「Java・システム開発演習(11日間)」の9日目です。

 

昨日の日報には、こんなコメントがありました。

最終調整の段階に入っており、役割分担を試行錯誤している様子が伺えます。

 

(プログラミング経験者の方)

「やることリストをうまく作れなかったために、

 何を優先すべきかあやふやになってしまった。
 午前中に終わらせる予定のものが間に合わず、

 進行に遅れが出ていることが課題である。

 明日から担当者と優先度をつけたTODOリストを作る。

 担当分けを明確にし、何をすべきかわからなくなることのないようにする。」

 

(プログラミング経験者の方)

「課題として、ガントチャートをあまり気にせずに、

 その場その場で見つけた作業を進めていることがある。」

 今一度スケジュールを確認し、逸脱しない範囲で作業を進める。」

 

期限までに納得のいく成果物を作るには、

期限までのタスクを細かく確認し、

優先順位づけと分担をして取り掛かるのが肝要です。

ラストスパートなので、自分から積極的にタスクの調整を図っていきましょう!!

 

 

さて、日課である進捗報告から、研修スタートです。

今日はKPTのプレゼンテーションに加えて、

簡単なデモンストレーションを見せてもらいました。

現時点での懸念事項についても共有を行ってもらいます。

 

「細かな修正点が多く、作業分担をしないままに進めてしまったことが

 課題として挙がりました。

 修正点が10か所程あるので、今日はやることリストを作り、協力して分担します」

 

「では、ここからデモンストレーションに移ります。

 ログイン機能では、誤ったデータを入力するとエラーが出るようにしています。」

f:id:insblog:20200602171343j:plain

 

「懸念事項としては、カートに何も入っていないのに、

 支払いができる状況になってしまうバグが起こってしまうことです。

 解消するのに苦戦しています」

 

昨日夕方に、デモンストレーションの指示を出したのですが、

即席でも、どのグループもクオリティの高い発表で、驚きました。

 

「過去の履歴を確認して再注文する」などの機能もさることながら、

バリデーションのチェックを工夫した点についても言及しています。

 

講師も、

「実装された機能以外にも、裏側の処理をどう工夫したかも知りたい方が多いので、

ぜひ本番の発表会でも、今のような発表を意識してください!」と激励していました。

 

f:id:insblog:20200602171834j:plain

 

進捗報告のプレゼンテーションを見ていると、

伝えたいことが相手に伝わるように、

最適な手段を選ぶコミュニケーションスキルがついていると感じました。

デバッグ作業の分担するために「チャットで『やることリスト』を作る」

のがいい例です。

 

講師は「チャットを使うといい」とアドバイスをしたのみですが、

「エラーの一覧を作ってチャットで共有する」

「10時にチャットで進捗を報告する」

「分担作業をチャットで随時確認し、終わったら他の人をフォローする」

など、自分たちで独自のルールを決めて、

ホウ・レン・ソウ(報告・連絡・相談)を積極的にしています。

 

良いことや改善点を振り返り、具体策を講じて実践するサイクルは、

必ず現場でも、ひいては職場の業務改善にも役に立つはずです。

ぜひ、「研修でできるようになったこと」も、発表会で共有してほしいなと思います。

 

 

進捗報告が終わった後は、グループで作業します。

 

あるグループでは、チャットにバグの内容を書いたうえで、

さらに口頭で、どのページのバグか、誰が修正するかを確認しています。

冒頭の「デバッグと発表準備の作業分担」を行っていましたね。

 

f:id:insblog:20200602171844j:plain

 

「ここのエラー、原因はあたりが付くので私がやりますよ!」

「画像サイズも調整が必要だから、CSSは○○さんに調整をお願いしてもいい?」

「大丈夫ですよ!今思い出したけど、メニュー画面の画像が表示されない件、

 たぶんデータベースのURL指定間違っている気がするな。

 すぐ直せるからやっておくね!」

「そうしたら、発表資料の準備は二人でやりましょうかね!」

 

という具合に、10分足らずで確認して、各々の作業に分かれていきました。

決断するのも早くなって、頼もしい限りです。

 

あるグループでも、同じように役割分担をして、

昨日までに作った「デバッグリスト」を参照しつつ、バグを解消し終えました。

また、こだわったコンセプトにあったロゴを作成できるように試行錯誤している様子。

 

資料作成チームは、ある程度のところで、作った発表資料を全員に共有しながら、

説明事項の概要をすり合わせていました。

一生懸命考えたコンセプトから、斬新なアイデアにいたるまで、

発表したい内容は盛りだくさんのよう(笑)

 

f:id:insblog:20200602171850j:plain

 

制限時間はありますので、デモンストレーションとの兼ね合いも考えつつ、

調整してほしいと思います。

 

各グループがWebアプリケーションの仕上げと、

発表会の準備を着々と進めている様子ですね。

ここまでのところでお昼休憩に入りました。

 

 

午後の時間も、引き続き作業してもらいます。

発表用の投影資料はもちろんですが、要件定義書などのドキュメントも仕上げるように指示しています。

 

あるグループでは、レスポンシブウェブデザインの作成にチャレンジするか、

否かについて話し合っていました。

※機能とデバッグの解消が終わったグループに対して、

講師が追加機能の提案をしています。

 

スマートフォンの仕様を作るのも、できたらアドバンテージになるかな」

「確かに、スマホでも挙動が確認できたら、UIも良くなるよね」

「研修テキストにも書き方が書かれていたような…」

「フォームの形式とか、変えなきゃいけない箇所も多そうだね」

「ちょっと今は他のページのエラーが本当にないかどうかを検討すべきじゃないかな」

 

追加課題にチャレンジしたい!という意欲の強い方もいらっしゃったようですが、

いろいろと意見を出し合って、現在まで出来ている成果物を

仕上げきることにしたようです。

 

一通りのバグを解消したところで、まず提出が必要なドキュメントを確認し、

出来ていない部分を分担して、作成していました。

 

f:id:insblog:20200602171901j:plain

 

終盤では、講師から明後日の発表会について補足説明があり、

発表順をオンラインじゃんけんで決めました!(笑)

結果は当日のお楽しみです!

 

各グループ、発表会を意識して準備を進めており、メモ帳に発表する項目を列挙して、

担当を決定しているグループもありました。

 

全員で完成させたWebアプリケーションなので、

必ず全員に発言の機会があるように調整したようですね。

 

いよいよ、十分に準備に時間を使えるのは、残すところ明日1日となりました。

悔いのないよう、しっかり認識のすりあわせをして、ミッションを完了させましょう!

 

本日も、一日お疲れさまでした。

6月1日(月)Java・システム開発演習(8日目)~機能・デザインを仕上げよう~

 

皆様、こんにちは。

緊急事態宣言が解除されてから最初の週末が明け、

「Java・システム開発演習(11日間)」の8日目となりました。

外は蒸し暑く、梅雨が近づいていることを肌で感じます。

 

いよいよ今週の木曜日が最終日。最後の仕上げに取り掛かります。

(筆者も、ついにここまで来たか、と感慨深くなりました。。。)

残りの時間でどれだけ仕上げられるか、時間との闘いです。

最後に「いいものができた!」と胸を張れるように、最善を尽くしましょう!!

 

先週の日報には、こんなコメントがありました。

 

(プログラミング初心者の方)

「変数名等をチームで必要な情報を事前に決めておかなかったために、

 誤った属性名をコードに入れてしまいエラーが発生した。

 事前に決めていれば、このエラーで時間を取られなかったため、

 時間のロスがもったいなかった。」

 

(プログラミング経験者の方)

「プログラミング技能を正しく把握せず、あるメンバーに

 実装難度の高いプログラム作成を割り当てていたことに気づいた。

 画面に表示する情報量や操作する情報量、ページ遷移の多さなどで

 難度を推定すべきと感じた。」

 

そろそろ基本機能の仕上げに入る段階ですが、

事前に共通認識を持てなかった部分に苦戦しているグループもいらっしゃるようです。

優先順位を明確にしながら、できること/できないことを明確にして

進めていきましょう。

 

 

さて、いつも通り、進捗報告から始めます。

 

「テストが実施できていないため、まず本日の午前中を目途に機能を仕上げ、

 挙動を確認できるようにしたいと思います。

 また、CSSを適用できるように同時並行で準備しておきます。」

 

「未完成の部分の洗い出しができていないため、

 効率的な作業分担ができていないのが課題点です。

 遅れを取り戻すため、技術的に難しい部分については

 講師に積極的に質問するようにします!」

 

講師は、

「実質、あと2、3日の時間でWebアプリケーションを完成させる必要があるので、

未完成のタスクを確認し、逆算して取り掛かるのが肝になる」と助言していました。

 

テストの実施内容も、ぜひ発表会で聞かせてほしいですね。

(会社のご担当者様も、とても楽しみにされていますよ!)

 

 

f:id:insblog:20200601183642j:plain

 

午前中、あるグループでは、本格的にCSSを当てていくにあたって、

送信ボタンなどの共通するパーツのクラスを何に統一するか、などを共有しています。

きちんとマージして、CSSが適用されているか、個々で確認しました。

 

このグループでは、CSSが得意なメンバーがいるので、

先週までの作業分担で、CSSファイルも大方完成させていたようです!

 

「ボタンを下に置きたいけど、うまくCSSが当たってないのか、

 横に配置されているな」

「この部分、テーブルにしてもらったほうが分かりやすいかも」

「クラスで囲む場所を間違えて、画面全体にCSSが当たって変なことに

 なっちゃった…(笑)」

「変えてほしいところがあれば、修正箇所まとめて書き直すので、

 言ってくださいね~」

という具合に、意見を言い合いながら、細かい部分のデザインを調整していきます。

今日中に終えられると、いいペースで完成させることができそうですね!

 

 

他のチームでも、同じようにCSSの適用を行っています。

こちらは、先週の遅れを取り戻そうと、機能を実装するチームと

CSSファイルを作るチームに分かれています。

 

Webサイトも参考にしつつ、

チャットにもカラーコードを書き込みながら、テーマカラーを指定しています。

 

f:id:insblog:20200601183734j:plain

 

試行錯誤していますが、メニューバーがうまく表示されないようで、

テキストや参考サイトを調べつつ、直そうと必死になっています。

 

時間を忘れて集中しており、「ふー!お昼になるの、早いな!!」と驚いていた様子。(笑)

ここまでで、お昼休憩に入りました。

 

 

f:id:insblog:20200601183814j:plain

 

 

午後も、各グループで処理ファイルの仕上げを行っていきます。

 

別のグループは、午前中までに出来た作業の進捗を確認したうえで、

マージしてエラーが出ていないかを確認していました。

 

データベースのインポートがうまくいかず、

プログラミング経験者の方を中心に、エラーの出る箇所を修正していきます。

 

f:id:insblog:20200601183856j:plain

 

複数人、エラーが消えない人が出ているようで、

エラーを指摘し、指摘された人がコードを直して、

その間に他の人を見て…という作業を繰り返しています。

 

今日中に処理の部分は完成させよう!と意気込んでいます。

デザインについては、CSSに強いメンバーが、

先週のうちにコツコツCSSファイルを作り上げたので、

比較的余裕をもって、エラーに対処できているようですね。

 

書き換えてほしいコードが伝わりにくいときは、

チャットに指示内容を書き込んで、「これを試して!」とお願いしていたりもします。

その場に応じて、何を使うと一番伝わるかを瞬時に判断しています。

 

 

f:id:insblog:20200601184101j:plain

 

15:00も過ぎ、各個人が作成した画面を統合して、

一通り画面遷移は問題ないことを確認できたようです。

あとは個人が気になったところを一つ一つ解消していきます。

 

「図柄は選べるけど、なぜかオレンジだけ、無地の色が選べない…」

「選んだ柄によって、表示される画像のサイズが違うみたい」

 

f:id:insblog:20200601184130j:plain

 

各グループの様子を確認する限りでは、ほとんどのグループが画面遷移の確認を終え、

CSSの適用と、画像ファイルの表示などの細かい部分の調整に入っています。

 

開発に充てられる時間も、実質、あと1日半。本番環境での動作確認も必要です。

今一度、チームで抜け漏れがないかを見直して、

完成度の高いプログラムに仕上げてほしいと思います。

 

本日も、一日お疲れさまでした。

 

5月29日(金)Java・システム開発演習(7日目)~画面のデザイン~

 

皆様、こんにちは。

本日は、「Java・システム開発演習(11日間)」の7日目。

一週間も今日で終わりです。

 

開発実習に入ってから、1週間駆け抜けてきました。

イデアを形にしていくのは、思いのほか大変な労力を使うものですよね。

あまり根を詰めない程度に、頑張っていきましょう!

 

 

昨日の日報には、複数人で、共同でプログラミングする

ペアプログラミング」の効能についてコメントしている人が多いのが印象的でした。

 

(プログラミング初心者の方)

ペアプログラミングを行ったことで、

 グループ全体の作業効率を向上させることができた。

 常にアドバイスを受ける側ではったが、記述しながら学ぶことができた。

 今後も作業を行う中で知識を吸収していきたい。」

 

(プログラミング初心者の方)

「プログラミング経験のあるメンバーに、自身のコードを修正してもらった。

 変更してもらった後にファイルを確認すると、

 よりきれいなコードになっていて驚いた。

 経験者のコードを参考に、取り入れられるものを吸収して成長したい。」

 

個々人の関係性を作れる、長期研修の場だからこそ、

ペアプログラミングが、お互いのスキル底上げに功を奏しているようですね。

どんどん吸収して、自分で応用できるようにアウトプットしていきましょう。

 

 

さあ、いつも通り、朝一番は進捗報告で幕を明けました。

 

 

「前日で決めた『チャットで相談する』を実践することで、

 他の人の作業を妨げることなく、うまく相談することができたのがよかったです。

 その一方で、全員でのやり取りが少なく、

 進捗を把握しにくいデメリットもありました。

 解決策として、作業の節目で「完成報告」をチャットし、視覚化します」

 

「現時点の不具合を確認したら、チャットに『気づいたことリスト』を作り、

 今後解消する不具合を明確にするようにしました。今日も継続します。」

(気づいたことリストの例)

f:id:insblog:20200529174721j:plain

 

「新しい作業に取り掛かる前に、文字ベースでの報告を徹底することで、

 耳を傾けていなくても、自分のタイミングで確認できるようにします!」

 

というように、昨日よりも「具体的」で「すぐに行動できる」ことを

発表していました。

チャットを使ったコミュニケーションも、試行錯誤を繰り返していますね。

 

プログラミング初心者の方同士でもデバッグがスムーズに進むなど、

予想以上に円滑に進められる場合は、比較的手が空いた時間も出てくるようです。

「手持ち無沙汰です」と発信している人が多いので問題ありませんが、

「不具合の確認」など、手が空いたときにできるタスクも

明文化しておくといいですね!

 

進捗報告の後は、早速グループに分かれました。

f:id:insblog:20200529174819j:plain

 

あるグループでは、2つのサブグループに分かれて、それぞれ、

処理の完成と、デザインの作り込みを担当しています。

 

このグループは、他よりも半日ほど進捗が遅れているので、

プログラミング経験者がマンツーマンで初心者の方をフォローするように

体制を変えたようですね。

 

他のメンバーが作ったJSPやサーブレットの不明点については、

一時的に元のグループに戻ってメンバーに相談したり、講師を頼りに行っていました。

 

開発にかけられる時間も、残り3日程度と期日が迫ってきているので、

メンバー同士で解決できないことは、すぐに講師を頼るように動いています。

講師も、これまで見守ることをメインにしていましたが、

少し理解しづらい部分に関しては、介入する頻度を高めてフォローしています。

 

 

別のグループでは、未完成のところを詰めています。

新規会員登録をする際に、「入力に誤りがあればエラーを出力する」処理の実装

悩んでいるようです。

データベースサーバを起動するのを忘れて動かなかった、

という凡ミスが原因でした(笑)

 

基本的な画面遷移は完成しているので、

「買い物後に付与するのは、何ポイントにするか」などの細かい設定を詰めています。

 

f:id:insblog:20200529174901j:plain

 

画面のデザインも少しずつ進めているようで、ECサイトのロゴも入れています。

このグループは、初日のECサイトのコンセプト作りに時間をかけていたので、

デザインには力が入りそうですね。

 

午後一番は、全員で集合して、進捗報告をしています。

 

f:id:insblog:20200529174954j:plain

 

まさかのじゃんけんで、次にやることの役割分担を決め、

デザイン担当の2人、細かい処理担当の3人に分けました。

「何か変更点があったときはチャットに送ろうね!」と念押しをしたうえで、

「じゃあ行ってきます!」と他の小部屋

(オンライン上のミーティングルームのようなもの)に移っていきました。

処理担当の3人は、役割分担を進めて早速個人作業に移りました。

 

デザイン担当の2人を見てみると、

ヘッダー・フッターを作りこんだ後、CSSを当てています。

「研修でやったみたいに、ラインを引きたいんだけど、solid?dotがいい??」

「はっきりさせたいし、solidでいいんじゃないかな?」

「どんな色?濃い目の赤がいいかな」

と、色コードのサンプルを見つつイメージを固めています。

 

f:id:insblog:20200529175032j:plain

 

「個人的には、このヘッダーはこのデザインがいいと思う」

「全部のページにも共通するからデザインがこれでいいか、

 他の3人に確認しようか。」

「もし3人の誰かが更新していたら、

 自分が更新してもコンフリクトになっちゃうから、

 一応チャットで連絡して、返事待ってからにしよう」

と、念のためチャットで報告したうえで進めています。反省を生かして意識していますね。

 

f:id:insblog:20200529175059j:plain

 

午後の後半は、また「スパイ活動」と題して、

他のグループの様子を見てもらうワークを行いました。

各グループ、だいぶWebアプリケーションが仕上がってきているので、

画面遷移のデモンストレーションを見せながら、処理を説明しています。

 

「スパイ」として観察に来た受講者も、いろいろな収穫があったようです。

「KPってなに?通貨?(笑)」

「日本円じゃ面白くないから、サイト独自でポイント購入して

 買い物できる仕様にしたよ!」

「このコードの書き方分かりやすいね!

 うちも同じような処理で困っていたけど、こんな書き方もできるんだね!」

「フッターに○○を入れておくの、いいな!うちもそうしようかな」

と、他のグループのいいところを、持って帰ることができました。

 

 

今週はずっとコーディングとすり合わせを繰り返していたので、

疲労もたまっていることでしょう。

来週のラストスパートに向けて、土日はしっかり体を明日めてくださいね!

 

本日も、一日お疲れさまでした。

 

5月28日(木)Java・システム開発演習(6日目)~画面遷移、各画面の作りこみ~

皆様、こんにちは。

開発実習も折り返し地点、「Java・システム開発演習(11日間)」の

6日目に入ります。

研修最終日まで、残り5日となりました。

本当にあっという間にここまで来ましたね。

 

昨日の日報には、開発に対する熱意が垣間見えるような

コメントが多く書かれていました。

 

(プログラミング初心者の方)

「データベースのドキュメント設計から作成までの対応に加え、

 複数のWebページのコーディングを担当したので、

 一連のプログラミングの流れを把握できるようになった。」

 

(プログラミング経験者の方)

「メンバー一人ひとりの行動が評価されることが多かったです。

 開発しているページのロゴの作成、継承用DAOの作成(ひな形づくり)など、

 個人の努力が見られます。

 また、休憩時間や研修後も実装に取り組んでいることがあり、

 熱意も大変すばらしいと思います。」

 

研修が終わった後も、自宅学習できる環境にあるからか、

講義の後にコミットして作業を進めている人もいたようですね。

 

残り時間が少ないので、焦りも出てきているかと思います。

成長していることは確かなので、自信をもって進めていきましょう!

 

f:id:insblog:20200528172355j:plain

 

さあ、朝はいつも通り、グループの進捗報告からスタートです。

 

「分からないことはメンバーや講師にすぐに質問し、

 極力『分からずに過ぎてしまう』時間を減らすことを全員が意識できたことが、

 とても良かったです。

 今日も、意識します!」

 

「ほかのメンバーが一対一でデバッグしていても、

 つい耳を傾けて一緒にデバッグしてしまい、作業効率が落ちてしまっていました。

 エラーが出た時は、画面のスクリーンショットとチャットツールを活用して、

 記録も兼ねて会話するように、全員で決めています。」

 

という発表がありました。

良かったこと・反省を生かして、全員でルールを決めたようですね。

 

作業分担するうえでは、自分なりに考えて解決することも大事ですが、

開発スピード重視で、人に頼ることも重要です。

 

後半は、適切な業務分担とこまめな進捗報告がカギになります。

これまでのチームワークを発揮して、助け合って進めてください!

 

 

本日も一日、グループワークで進めます。

DAOの作成と画面を遷移させるところまでは、大体のグループが終えており、

個別のページのフロント部分を作りこんでいきます。

 

f:id:insblog:20200528172405j:plain

 

あるグループでは、昨日と同様、進捗を確認するところから始めました。

ガントチャートの予定を見直しながら、昨日までの実績を記入していきます。

 

まずは、複数人で作業するべきファイルを仕上げることを優先し、

コードとテーブル定義書を見比べながら、ページを作りこんでいます。

 

プログラミング経験者の方のなかには、より効率的にコーディングするために、

独学で「ラムダ式」の理論を理解し、ロジックを組んでいる方もいらっしゃいました。

(Java経験がある方でも、自分で組むのは難しいのですが…

 (講師もびっくりです!!)

 

f:id:insblog:20200528172413j:plain

 

講義では学んでいない内容ですが、うまく活用すれば

早くコーディングできると考えたようで、

メンバーの皆さんに概論を説明しています。

 

リモートだと、理解が及んでいない人をフォローする時間が

多いように見受けられますが、口頭で「教える」だけではなく、

持てる技術でチームに貢献しようとする意識を持っている方もいます。

 

 

別のグループも、画面の作りこみをしています。

HTMLの理解が怪しいプログラミング初心者の方に向けて、

得意な方が1対1で、フォローしていました。

 

f:id:insblog:20200528172419j:plain

 

※他の3人のメンバーは、別の小部屋

(オンライン上のミーティングスペースのようなもの)に移動して、

 連携しているページの作りこみに熱中しています。

 

対面での研修であれば、作業場所を分けて話すところですが、

オンライン研修でも別の「小部屋」で作業することで、同じような環境を作れます。

 

この間、小部屋に入ってしまうと他の人の会話は一切聞こえないので、

集中して作業ができるメリットもあるんですね!

一区切りして、お昼休みに入りました。

 

 

午後も、引き続き各グループのペースに任せます。

他の3人のメンバーの様子をのぞいてみると、

プログラミング経験者を中心に、遷移が完成した画面のロジックを

一つ一つ見直しています。

 

f:id:insblog:20200528172425j:plain

 

「私が作ったロジック、あんまり自信なかったけど、これで大丈夫そうだね!」

「私たちのパートはこれで良さそうだから、とりあえず二人の様子を見に行こうか」

「よし、グループに戻ろう!」

といって、小部屋を抜けて、もとの5人グループに戻りました。

 

全員が集合したところで、それぞれの進捗を報告します。

「会員登録のページから、マイページに遷移して、

 過去の注文履歴まで見れるように、組み直しましたよ~」

「こっちも、注文内容を保存しておくカート機能から、

 決済処理の流れまでできたよ!」

「統合して一通り、流して遷移してみましょう!」

「いけるかな…?」

全員、ドキドキしながら、画面を眺めます。(筆者もハラハラです…)

 

 

「遷移できたーーーー!やった!」

「ここまで来た!感がありますね!」

「なんか、昨日に比べたら、今日すごく進んでるよね!!」

「こうやってグループ分けて進めるの、正解だね!いいね!」

 

というようなやり取りがあり、やり方を変えたことで効率が良くなったと

喜んでいる様子でした。

できたことに甘んじることなく、「よし次!」と切り替えます。

一番心配していたグループだけに、スピードが加速してきたようで安心しました!

 

他のグループでも、同じように小部屋を作って作業しており、

後半戦に向けて、課題であった点を克服できたようで何よりです。

 

Webアプリケーションの土台ができ、

どのグループも「Webサービスらしい」機能が実装されてきました。

 

明日からは、CSSやJavaScriptでデザインや動きを加えていきます。

ECサイトのコンセプトも改めて考えつつ、完成に向けて走り抜けましょう!

 

本日も、一日お疲れさまでした。

 

5月27日(水)Java・システム開発演習(5日目)~DAOでデータベース連携~

皆様、こんにちは。

本日は、「Java・システム開発演習(11日間)」の5日目です。

 

昨日の日報では、本格的に個人作業でのコーディングを始め、

表面化してきた課題についてのコメントが多いように見受けられました。

 

(プログラミング経験者の方)

「画面遷移(どのページからどこに飛べるか)や

 ページをまたぐ状態の保持の設計が甘いと感じた。

(商品選択~トッピング選択~カートに格納まで)

 簡易的な画面遷移のみの処理を作ってから、どうするか議論したい。」

 

(プログラミング初心者の方)

「昨日は口頭のみでチーム内の打ち合わせを実施しており、

 メモを取らなかったことから認識誤りが発生した。

 再発防止のために、チャット機能を活用し、認識のズレを防いだ。

 何かメモを残した際は、認識があっているのかを

 必ずグループのメンバーに確認してもらう。 また確認後は速やかに修正する。」

 

やはり、ニュアンスが伝わりにくい分、

完全に共通認識を取れないまま進めてしまうこともあるようです。

全員に共通する大事なことは、目に見える形で

「ホウ・レン・ソウ(報告・連絡・相談)」して進めましょうね。

 

f:id:insblog:20200527171311j:plain

 

さて、朝一番は、各グループの進捗報告から始まりました。

発表では、作業分担についての意見が多く挙がっていましたね。

 

「前日のKPTで作業分担ができていないことが課題だったので、

 分担を徹底し、負担がかからないように意識できたのが良かったです。

 『Keep』として継続します」

 

「各々の作業状況が分からないのが課題だったので、

 改善策として、グループの複数人で進める時間を増やして連携します」

 

Gitを使って共同作業することが増えます。

特にマスターにプルリクエストをするときは、エラーがないことをしっかりと確認し、

出来上がった段階で更新するようにと、講師も注意していました。

 

 

本日も引き続き、グループワーク主体で進めます。

昨日までに、大方JSPファイルの作成を終えていたので、

本日はDAOクラスによるデータベースとの接続と

各ページの遷移の準備に入ります。

 

講師のほうで休憩時間を設けることもなく、

グループですべて指揮をとって進めてもらいます。

 

あるグループでは、各自がどこまで着手できたかを確認し、

作業がどれくらいで終わりそうか、完了したら次に何をするかを確認してから

作業を始めました。

 

画面遷移で、複数人が共通のファイルを使用することも考え、

関係する人だけで、図式を書いて認識合わせをしています。

 

f:id:insblog:20200527171326j:plain

 

グループワークだと、ずっとイヤホンを付けたまま作業しているので、

何人かが話していると、自分に関係のない話でも、

つい耳を傾けて、作業の集中が途切れてしまうこともあるかもしれません。

 

グループの中の何人かでやり取りをする際は、

別途グループメンバーを別の部屋に集中タイムを作ることもできますので、

ぜひ講師に発信して、どうしたいか言ってもらえるといいですね。

 

 

またあるグループでは、昨日の反省を踏まえて、

さっそく決めたことを文字として記録に残しています。

 

なかには、本当に「新入社員ですか?」と思うほどに、

丁寧で的確な指示を書き込む人もいました。心強いですね~。

(講師からはチャットの使い方について細かい指示出しはしていませんが、

 ビジネス文書の基本を押さえています!)

 

 

f:id:insblog:20200527183820j:plain

 

このグループは、とても活発に議論しており、

気になったことはすぐに質問するような環境ができているようです。

個人作業をしている間も、ポンポン質問を投げかけています。

 

ある程度まとまった時間を取ったところで、

「今どこまで終わったか、確認しましょうか」と声をかけ、

画面を共有しながら、自分で考えたロジックをグループ内で説明していました。

 

 

f:id:insblog:20200527183700j:plain

 

この方は、実習前に講師から指導があったように、

誰もが分かるように、コードにコメントを書いています。

コードを確認していると、確実にJavaを理解していることが伺えます。

 

コーディングが不安だと言っていた初心者の方も、

講義以外でかなり努力されていたのでしょうね!

 

「…ここまで終わったんですけど、○○で悩んでいて、

 どうしたらいいか分かりますか?」

「△△っていうように変えるのかな…、私が分かるのはここまでかな」

「技術的なこともありますし、ちょっとグループを抜けて

 講師に相談しに行ってきます!」

「いってらっしゃい!じゃあ、次誰のコード確認しようかな?」

 

という具合に、どうしても解決できないことについては、

講師、サブ講師に連絡して解決してもらうようにしています。

 

講義であまり行っていなかったデータベースのエクスポート/インポートについては、

サブ講師が各グループを巡回して、方法を説明していました。

 

f:id:insblog:20200527171623j:plain

 

午後も引き続き開発作業を進めます。

午前中までで、他よりも少し遅れていた様子のグループをのぞいてみました。

 

「どうにかここまで仕上げましたよ!!」

と、若干誇らしそうにメンバーに呼びかけています。

 

各々が作ったJSPファイルとサーブレットを一つに統合したところで、

メンバー全員が作業の手を止めて、画面遷移ができるか、固唾をのんで見守りました。

 

f:id:insblog:20200527171340j:plain

 

カートの画面でエラーが出現!全員でレビューしていきます。

 

「カート機能のJSPとサーブレット見せてくれる?

 なんとなくエラーのあたりがついてるから!」

「37行目、パス間違ってない?」

「本当だ!…直して実行したけど、今度は画面が真っ白だね~」

「パスは間違ってないから、とりあえずリンクには飛んでいるんだろうね。」

「ん~、せめてエラーが出てくれたらなぁ…(笑)」

 

 

DAOファイルなど、一から作るのが難しいファイルについては、

サブ講師が作成したサンプルコードを確認して、作成しています。

 

 

開発実習の開始当初は、少し心配していましたが、

Gitのコミットやプルの操作、コードレビューの仕方に慣れたようで、

講師陣の心配を裏切り、比較的順調に進んでいるように見えます。

 

明日からはもう開発実習も後半に入りますので、

スケジュールを修正しながら、期日を意識して取り組んでいきましょう!

 

本日も、一日お疲れさまでした。