I社様の常駐案件を終えて

宮下です。
1月末をもって、I社様での常駐案件が終了となりました。

今後のためも含めて、軽く振り返ってみようと思います。

案件概要

I社様での常駐案件は、PHP(フレームワークはLaravel)での大型システム開発でした。
I社様に委託されている部分の開発に入る感じです。
この開発チームに参画する形で、常駐して開発をしてきました。

私の主な担当箇所は、条件が揃った場合にメールを送信する機能です。
”メールを送信する機能”と書くと簡単に思われるかもしれませんが、指定されたWebAPIを使ったり、送信に失敗した場合の再送を考慮したり、エラーが返ってきた場合の処理を考えるなど、かなりケアする部分はありました。

あとは開発フェーズが2段階目ということもあり、前のフェーズでタスクとして積み上げられていた項目の消化も担当してきました。

今回の開発を経て学んだこと

今回の開発を経て、初めて触るLaravelについて理解を深めることができました。
前職で触ったSpringBootライクな感じなだと思いました。まぁ違う箇所は当然多いですが、考え方は近いかなと。
DB周りの操作がLaravelだとすごく扱いやすくて、便利だなぁと感じました。

あと、前職の時から構想していたユニットテストのスケルトン生成ツールが完成しました。
今はPHP用ですが、関数ヘッダとユニットテスト用の関数宣言までを自動で作ってくれるツールです。
こちらで治具の話を書きましたが、それですね。
このツールは作ってみて改めて便利さを感じましたので、C言語やC#向けに拡張して、同機能を使用しての出力サービスをココナラとランサーズストアで販売しようと考え中です。

また、PlantUMLというテキストベース作成するUMLについても学びました。
詳細は公式ページを見てほしいのですが、かなり便利です。
最大のメリットはGitで差分管理ができ、記載したテキストを読めるようになればある程度はテキストからも差分が読み取れることですね。
VisualStudioCodeとGraphvizを導入すれば無料で使えるのもいいですね。

チーム運営は、大規模ではRedmine、小規模ではTolleroを使用しました。
Tolleroは初めて使用しましたが、カンバン形式での運用に向いていますね。
カードで作業を記述して、視覚的に分かりやすく管理できていたため、自分のタスクだけではなく、他のメンバーのタスクも把握できたのは良かったです。
私も小規模のチームで作業をするときはTolleroを使ってみようと思います!

1点残念だったのは、設計書/仕様書ですね。
基本設計レベルと詳細設計レベルが微妙に混ざったドキュメントしかなく、クラス図やシーケンス図もなかったため、既存コードの把握と改修にかなりコストが掛かりました。
新規でドキュメントを作成するもクラス図やシーケンス図はあまり歓迎されず、異端扱いされたのも残念でした。(こちらとしては改善の提案をしたつもりだったのですが、、、)

ただ、この点についてはI社様内のチームでは課題として共有することができ、前述のPlantUMLでチーム内ドキュメントとして情報共有をできたのは大変良かったです。
改めて、ドキュメントの品質は重要だなと痛感しましたね。

クラス図などのドキュメントはDoxygenなどを利用すれば比較的簡単に出力できますので、ぜひ試してみてほしいです。

編集後記

2月は常駐案件のお仕事はお断りして、Scratch3.0とTelloを組み合わせた拡張機能とシミュレータ機能を開発します。
なかなかドキュメントの整備が大変な感はありますが、PlantUMLを生かしてドキュメントの整備をしてけたらなと考え中です。

今回参加させていただいたチームは雰囲気もよく、新人さん教育にも関われたのが良かったです。(約半年でかなり成長されました!)
またご縁があれば、同じチームメンバーで仕事ができたら最高です!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です