去年から受託形式で自社内で開発を担当したはじめてのプロジェクトの開発フェーズが終了したのでその振り返り記事です。
今まではSESで客先に常駐する形でしか仕事をしていなかったのでそこらへんを中心にお話できればと思います。
プロジェクト概要
BI系のプロジェクトで某食品企業の販売情報とかを集計するツールのリプレイス案件です。
現行ツールはMySQLに入ったデータをSQLスクリプトを使って集計します。
新ツールはAb InitioというETLツールを使います。
開発規模は15~20人月くらいでメンバーは自分を含め4~5人程度になります。
私の社内での立ち位置としては開発チームのサブリーダーです。
ただリーダーとPMを先輩が兼任していたのもあり基本私が開発を任されていました。
失敗したこと
要件定義
リプレイス案件だったのでお客さんからは現行保証!現行保証としか言われず互いの役割分担だけ決めて始めったプロジェクト
終盤になるにつれ、インターフェイス間のデータの不整合がわかり追加の作業が発生しました。
分担としてそこはお客さんの方で責任を持つ場所だったのですが開発スケジュールが遅れてしまうためうちで消化することになりました。
お客さんと話をしていてどっちが責任をもつ作業か?という話し合いをして自分たちがやらないことに関してあまり考えないでいたと思います。
実際に手を動かすのは私達でなくても想定として問題ないかヒアリングして検証しておく必要があったなと思いました。
コードレビュー
メンバーのうち二人は1~2年目の新人だったのでこまめにチェックをしていました。
ただもうひとりは私より経験が長い方だったので簡単な規約を守ってるか程度のチェックしかしていませんでした。
あとからわかったこととしてこの方が作ったコードが規約など決めていないレベルで結構トリッキーな処理をしていてあとから私が修正することになりました。
コードレビュー大切
良かったこと
Trelloの活用
進捗の管理はTrello(https://trello.com/ja) を使ったのですがこれまでエクセルで進捗管理していたみからするととてもよかったです。
Trelloについて自分なりに調べて記事も書きました。
【随時更新】Trelloを使った進捗管理
https://qiita.com/nanaki11/items/c591bc4a317a34c1b48a
ルールとしてなにかあったらとりあえずコメントを書いておこうということにしてデスクトップにコメントが通知されるようにしていたので早い段階で新人たちのミス等を発見できました。
知識の共有
今回使用したツールはメンバー全員が経験年数1年未満でした。
私が一番短くて今回が初めてです。
また独自ツールなのでネットに情報も転がっていません。
なので知識の共有が急務だと思いノウハウを共有できるようにしました。
ペアプロとかをしてみるのも良かったのかなと思います。
今後挑戦してみたいこと
アジャイル開発
今回のプロジェクトはウォーターフォールよりアジャイル的な考え方で進めていました。
ただスクラムとかなんだとか私以外のメンバーが理解していなかったのであくまで風という感じでコントロールして終わってしまいました。
小さいウォータフォールを繰り返しただけかもしれません。
PMの先輩もアジャイルって設計書書かないやつでしょくらいの感じです。
自分自身もそうですがメンバーの皆さんにもアジャイルの知識をつけてもらってプロジェクトを進められればなと思いました。