この記事は我々のチーム活動の概要を書いた記事になります。自身が非エンジニアの初学者なので、用語の間違い等はご容赦下さいm(__)m
どんなチーム
全員オンラインサロン「IT KINGDOM」のメンバー(兵士)です。サロン内で行われている朝活終了後の雑談で、「農業に役立つプロダクト開発をしたい」と話したメンバーの言葉に、他数人が乗っかり、「チーム開発やろう!」となったのが始まりでした。
メンバー構成:当初は7名でスタートしました。途中、追加募集・卒業等で変更がありましたが、現在も7名で活動中。現役エンジニア、非エンジニア、学生の方等、幅のある経歴・年齢層の方が集まるチームです。
チームの目的
・農家の課題を(アプリ等のITスキルを用いて)解決したい
・チーム開発を通して各個人のスキルを向上させたい
「農業に役立つプロダクト開発をしたい」と話から始まったチームであった事と、そもそも全員がオンラインサロンのメンバーなので、この2つは全員の最大公約数的に決定しました。
開発方針
開発手法としてはアジャイルを採用しました。
⇒アジャイル開発とは
従来型のウォーターフォールモデルは、最初に決めた機能設計・計画を段階的に遂行していく開発で、実際に開発に着手するまでに時間が掛かる傾向があります。一方アジャイルは、『計画→設計→実装→テスト』といった開発工程の機能単位を小さいサイクルで繰り返しながら細かく開発を進めていくスタイルになので、実績・経験ゼロのメンバーも普通にいるチームにとっては、比較的に開発開始のハードルは低いと判断しました。
プロジェクト管理ツールとしてはjiraを活用し、チケット管理によるタスクの分割と、そのタスクのポイント(ストーリーポイントといって、「時間見積」でなく、基準となるタスクを基に相対的な難易度をメンバー共通で決める)による進捗管理を行っております。
後は各自タスクの作成したコードをgithubにプルリクをあげ、別のメンバーがレビュー⇒マージするといった流れです。
チームのルーティーン
活動場所は「oVice」をサロン側が専用のコアキングスペースとして用意してくれているいるので、全てオンライン上での活動になります。
月~金曜日:「デイリースクラム」
スクラム開発における各自のアクションの結果・予定の報告、詰まっている箇所の相談、情報共有を行うショートミーティングです。
土曜日:「レトロスペクティブ」
初めに1週間のスプリントの振り返りを行いつつ、我らのチームにおいては、個人の話等をしながらのコミュニケーションタイムになったりしてます。
日曜日:「スプリントプランニング」
前週のスプリント(消化したタスク)の結果の確認と、バックログ(アクション内容は決まっているが実施予定日が未定のタスク)を検討し、今週消化するスプリントに選出する作業を行います。
選出する数量の基準となるのはタスクのストーリーポイントで、メンバー全員で確定させます。手法としてプランニングポーカーといって、全員で同時にポイントを出し合います。
タスク内容の再確認等も行うので、週の活動の中で最もボリューミーな日になりますww
チーム開発履歴
3月:チーム方針決定期間
・代表的なアジャイル開の手法に従いフレームワークと、各個人の役割を決定、チーム名の決定等
・現役のエンジニアの方がホストとなって勉強会(基本的なgithubの使い方)
4月:各自活動開始&スキル向上期間
・農業に関する情報収集(市場にある農業アプリの調査)
・ユーザーヒアリングの実施
・Todoアプリを作成しながらReactの学習
5月:プロダクトの決定&開発事前準備期間
・ユーザーストーリーマッピングから、解決すべき課題の可視化と抽出
・プロダクトの要件定義、issu毎にタスクを作成、デザイン作成(figma)
・作成したTodoアプリのTodoをfirestoreに保存するまでの学習
6月:プロダクト開発開始
・全員でタスクを処理
・フロント(Next.js)以外の設計に悩む⇒最終的にfirebaseでホスティングに決定
7月:引き続き開発期間
・ひたすらタスクを処理
・機能テスト実施
・他アプリとの連携(会計ソフトfreee、運送会社クロネコヤマト)に苦戦
8月:無事ファーストリリース!!
現在は、クライアントのフィードバックを基に機能を修正し、10月を目標にセカンドリリースを目指して活動継続中です。
★現状の残っているjiraのタスクポイントからリリース時期を推定したところ、年末になる見込みとの結果となった為、現在サロンにて追加メンバーを募集しておりますww
最後に
目標(クライアント)が存在し、実際に使用して頂けるのは非常に大きいです。ポートフォリオ作成においても目的や目標が無いと挫折するのが良く解ります。適度なプレッシャーが、チーム活の最大のモチベーションになっているのは間違いないです。
また自身が、チーム開発に経験なんて出来ると思っておらず(それどころか個人開発も完成してない!)、怖さ半分で始めたかたちなのですが、他メンバーの協力や、学びが頂けるのがとても有難いです。
プロジェクトの完成と、更なるスキルの向上を目指し、残り期間を精進して参ります。
最後まで読んで頂き、ありがとうございます。