見出し画像

初めてのチーム開発

先日、訓練校で初めてのチーム開発の授業があった💻

内容は、
6〜7人で1グループとなり7日間の開発期間でPHP言語を使い1つのサイトを完成させる。

細かい指定はないがルールがある。
・提示された【顧客要項】を満たす事
・チームメンバー全員が設定された役割を担当して、機能を1つ以上作ること

私達のチームが作ったのは、
少しアンティーク調の落ち着いたデザインのパン屋のサイトを制作した🍞

画像1


初めての開発の結果は・・・

結果から言うと
とてもよい出来だった。

【顧客要項】は全て満たし、
予定した機能も全て問題なく実装できた。

また、
バックエンドは全てオリジナル仕様で、
顧客管理、商品管理、お客様からの連絡確認ページ、購入履歴、売上ランキングが見れるように
管理ページを作ってくれた。

フロント側も
少しデザインを変えてもらい、
3つほどオリジナル仕様を入れる事ができた。

制作のまとめを発表したプレゼンテーションも
台本、リーハル通りに進み、
全体として大成功だった。

今回リーダーの役割だった私はふぅ〜〜〜(➖Д➖)一安心。
といった心境だった。

どのよう流れで進めのか概要だけ説明する


全体の完成までの流れ

素人が集まって、開発したので、
まったく参考にはならないだろうが、
一応、分からない人間にやらせた場合のサンプルデータだと思っておいてほしい。

①全員が作りたいモノを聞く
②役割を決める
③モデルするとサイトを選ぶ
④全体のスケジュールを決める
⑤全体のページの構造、必要なページを洗い出す
⑥ 関係図を作る
各ページのの階層と、どのページに飛ぶか、
フロントとバックの切り分け
⑦洗い出したページをタスクとしてスケジュール表で振り分ける
⑨各担当の制作に入り、必要ならば手伝いに入ってもらい担当から指示をする
⑩とりあえず機能は後にして、大体のレイアウトと文章だけのページを作る
この段階でデザイナーはロゴなど、オリジナルデザインを作ってくれていた
11, そのままページを作っていた人間が機能も作り始める
12, ページが出来てきたら、テスト担当はテスト表を作り始める
13, 単体テストでページが機能するかテストしてもらう
14, 機能まで出来たら、正規化、つまり正しく入力できるか、とか、お客さんや操作によってエラー引き起こしてしまう仕様になってないかチェックもしてもらう。
15, 機能ページがある程度進んだら、デザインチームを作り、その班はCSS(ページ装飾)に専念してもらう
16, 機能があらかた完成したら、テスト担当は流れでのテストか注文の数を多くしてみる、など細かいチェックもして、さらにテスト表の作成者でない人間がチェックするダブルチェックの形でテストを進める。
17, 機能ページができた人は手が必要なページに入るか、自身が作ったページを中心にCSSをつける
また新たに変更や仕様を増やしたい部分の作業をする
18, まだ細かい調整があるかもだが、一旦、全部が組み上がった段階で、ミーティングのような形で集まってもらい、
全員が【顧客要項】をまとめた表から全パターン、ユーザーになったつもりで使ってもらい、意見を聞く。
[例] 買い物してみる、新規登録してみる
今回は、自分達のチームでは特に使い心地など細かい修正の意見は出なかったが、もし意見が出ればユーザビリティを高めるのに改善できると考えている。
19,半数以上のメンバーが自分の機能は、おおかた完成したので、機能の追加や改良を加える。
できてない人間は進めながら、難しそうなら助けを求める。
(このあたりからだいたい完成した人が多くなってきて、フリーダムな雰囲気になってくる)
20, 機能が完成したら、別の機能を作るか他の担当を手伝う。
またデザイン班とシステム班で仕事を分けていたが、デザイン班は大変そうでCSSも手伝える部分は手伝ってもらう。
(*注意* このあたりから基本ずっとみんなフリーのような状態で進んでいった。原因として、私が担当した決算機能が完成できず、ほぼメンバーと先生に助けてもらったが2日遅れで完成したので、私だけの作業でバッファーを食いつぶした。ので、全体のドッキング、テストも影響を受けたし、全体への進行やスケジューリングも、この数日はまったくできていなかった)
21, テスト担当に必要な人員を確保してもらい全部テストをしてもらう。他のメンバーは、まだ修正が必要なメンバーは作業して、他はプレゼンテーション用の内容を流れをざっくり決めてもらう。
(実際の現状は、一番、出来る人が率先してテストを行ってもらっていた。またテストと関係ないデザイン班は、かなり大変そうでずっとCSSを書き続けているような状況だった)
22, [最終日]テスト班は最終テストをして、他のメンバーは資料を見ながらプレゼンのリハーサルをした。
軽く話す文章を相談して、必要なパワーポイントがあれば追加した。
午後からプレゼンで発表して、終わり。

こういう流れだった。
プレゼンテーションの内容は、次回で書く。
最後に今回の総括でしめる。

総括 〜改善点と感想〜

もちろん初めてという事で、反省点、改善点、良かった点、苦労した点がある。

[反省]
全体の流れや必要事項が最初、明確でなかったのは初めてなので仕方ない部分だと考えている。
・ただ改善するべきだったのが最新ファイルの管理である。
全員で作るので、共有ファイルが1つあるのだが、2人が同じファイルを使っていたとすると、どれが最新か分からず、せっかく更新したはずが内容が消えたり違う更新がされており仕事が戻ってしまう事が発生していた。た自分の技術的な理由から機能を完成できずスケジュールを押したのも大きな反省である。
・自分の技術的な理由から機能を完成できずスケジュールを押したのも大きな反省である。
・全体のスケジューリングが甘く、作業の優先順位や手が空いた場合のタスクが何をするべきか分からなかった。その判断やペースも全て個人に委ねていた。

「改善」
・ファイルに関しては、管理者を1人にするなど権限を作り責任の所在を明確にするとよかったと思う。
また今の知識があればgithubで管理してもよかったと思う。
・終始、温厚な良い雰囲気で進めれたが、全体の意見交流はそこまで多くなく、問題点は調べるか他の人の聞くなど個人の解決に任せており、簡単に共有するぐらいで、共有事項も個人次第で、全体の質の向上の為の方向性やルール、仕組みを作ってなかった。
・自分に余裕がなかったのが良くなかったが、もう少しリーダー達と方向性の話はできたかもと思う、やはり共有すべきはコンセプトとヴィジョンである。

「良かった点」
・終始、良い雰囲気で自然とお互いを助け合おうとしており、それで管理や個人が難しい課題があっても何とか進んだ。が、逆に言えば、そこに頼り過ぎていたとも言える。
・完成できて、全員が完成度の高いアプリケーションを作成できて満足していた事。
担当と権限をハッキリした事で個々人がしっかり力を発揮して、各機能が素晴らしかった事。
・自分の話になるが随所、随所でイベントを仕掛けて(お菓子を配る、手本サイトで本当に注文して商品を見てみる)、場の雰囲気として仕事とうかサークルのような空気感で楽しく作業で進める難しさ
・これは実習の目的そのものだが、チームで進める難しさや楽しさ、開発の難しさやアイディアやチームワークによる効率性やモチベーション向上、維持。それらも経験できた事。


「苦労した点」
・そもそも何をやればいいのか、どういう順番か、必須作業は何か、など全員が分からない状態から始めた事。
・技術的に機能を実現できず苦労した。
・スケジューリング管理やリスケの基準が分からなかった。


「感想」
実際に初めてチーム開発をやってみた感想だが
「とにかく初めて事ばかりわけが分からず大変だった!」
「最初は不安だらけで苦労は多かったが、少し時間が経つと楽しく感じるものだ」
「ダメな所も多かったが一生懸命やったかいはあった!」

といった振り返るとありがちな抽象的なものだ。

「行動」
細かい所で、実際の私の行動というと
・最初にみんなで朝礼をして、全員が本日の作業内容を話してもらう。
(ここでは朝イチで作業モードに切り替わってもらう為と、全体に宣言する事で仕事内容の整理と達成意欲を高めてもらう、さらに基本、作業中は話さずずっと作業が多いのでコミュニケーションや話すストレッチになるという意図)

・そして昼イチで午後の作業予定や進捗状況、また共有事項があれば発表してもらう(ここは朝礼の意図もあるが、作業の中だるみやモチベーションの低下を防ぐ、問題解決や効率化の為のコミュニケーション頻度たかめる意図のほうが高い。)

たまに朝礼、昼礼でも「ガンバるぞ!おおーー!!」✊
とかをやったりしていた。やはり刺激が少ない環境だと人間は徐々にパフォーマンス低下する可能性があり、なるべく変化が起きている環境になるよう努めた。
ただ私自体で1人でじっくり進めるのが好きなタイプであるので、ほんの先週習ったばかりの言語を、すぐに開発で応用できず、何回も出てきているが私の完成の遅れでかなりスケジュール押してしまった。

・終礼で全員が今日の進み具合や状況を話してもらい、共有事項があれば伝える。そして、自分は内容をまとめて先生に伝える。

私自身の反省としては、
新しく習ったばかりで技術的にキャパがない状態で、さらに全体の方向性やスケジュールの管理などを同時に進める仕事は無理だな。
と感じている。

実際、開発期間である2週間は土日も含めて開発以外はしている記憶はない。学校が終わり、残って作る。喫茶店とかで作業する。
朝、起きて作業して学校に行く。土日は朝からずっと作業する。
1、2回の短時間のバイトは行ったかもしれないが、ずっと開発の事を考えながら過ごした日々だった。
それでも自分の機能が完成できず、チームで一番プログラミング能力の高い人に半分作ってもらって、それでも完成まで進まず、結局先生に何回も聞いてようやく完成したのが2日遅れだったのでかなり萎えた。

そんな過程ではあったが結果として完成度の高いアプリができ、みんなも満足だったので、実習おわった後は凹んでいたが、思い返してみると良い思い出しか残らないというのは本当だと思う。





いいなと思ったら応援しよう!