はじめに
今回は受託系開発企業でデータ基盤構築の案件に参画時の話です。プロジェクトの概要や取り組み、得られた知見を共有し、同様の業務に関心のある方々に少しでも参考になる内容をお届けできればと思います。
案件に入った経緯
もともと、受注前の調査に参加しており、受注が決まったことでプロジェクトメンバーの一員として参画することになりました。
案件で行ったこと
今回は要件定義には参加せず、基本設計から開発まで担当しました。データベースにはOracleを使用し、PL/SQLを利用して毎日データを統合するシステムの作成を行いました。
案件でよかったこと
SQLの知識が大いに身についたことが、今回の案件で最も良かった点だと思います。具体的には、以下のようなスキルを習得できました。
- WITH句を使った可読性重視のSQL開発
- パフォーマンスを意識したインデックスの活用
- トラブルシューティング時のエラーログ解析
社会人になってから、これほどまでにSQLに触れる機会は初めてで、その結果知識が定着したと感じています。単純にSQLを書くこと自体は、AIで調べれば簡単に答えを得ることができます。しかし、AIでは予測できないような考慮すべき要素が多く存在するため、それに対応するための工夫が求められます。このような知識を身につけることができたので、今回の案件では一番大きな収穫でした。
SQLに向き合った約2ヶ月間を振り返ると、まだまだ思考力が足りないと感じる部分もあり、今後は周囲の経験豊富なメンバーから学び、さらにスキルを向上させる必要があると認識しています。
案件でよくなかったこと
要件定義の内容が不十分だったことが、非常に大きな課題でした。要件定義を担当したメンバーによると、データ構造の把握が全くなされておらず、「データが収集できているから大丈夫」という雰囲気で要件定義が終了してしまいました。
その結果、第一正規化もされていないデータが大量に存在しており、開発が大幅に遅延しました。また、先方から提供される予定だったサンプルデータが2週間遅れで届いたため、プロジェクトの進行にも大きな影響を与えました。
ただし、先方の納期遅れもあり、納期が若干延長されたため、最終的には無事納品できました。この点については、開発メンバー全員が協力して解決した結果だと思います。大変嬉しく感じています。
最後に
今回参加した案件は、引き続き進行中であり、プロジェクトは第二フェーズに移行するみたいです。私自身は別プロジェクトのアサインのため今回限りで完結しましたが、続けていくメンバーのサポートは怠らないようにしようと思っています。