プリンシプルプログラミング プログラミング

【POP87】曳光弾について

はじめに

この記事は「プリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則」を読んだ際に記した議事録です。

著作権の関係により、詳細には書きません。詳しい詳細を知りたい方はぜひ本書を読んでみてください。

プリンシプルオブプログラミングをPOPと訳します。

What : 最終形態となる「骨格コード」

まず「曳光弾」について知りましょう。

曳光弾

発光することで、飛んだ奇跡が分かるようになっている弾丸のこと。進撃の巨人なんかでも出てきます。笑

ソフトウェア開発における曳光弾とは優先的に検証したい部分を先行的にプログラミングすることです。とりあえず実際の環境下で動作させて、エンド・ツー・エンドのソフトウェアを作成します。

ここで作成するいわばプロトタイプのコードはフレームワークであり、後に土台となります。プロジェクトを通して肉付けされてゆき最後にサービスとしてローンチされるのが「本物のコード」です。

Why : ソフトウェア開発という暗闇で道筋を照らしてくれるから

ユーザーの要求が曖昧なので、ソフトウェア開発そのものが曖昧で暗闇の中を走るようなものです。不慣れなアルゴリズム、開発技法、言語、ライブラリを使って道の世界に直面します。またプロジェクトを通して状況や目的も変化していきます。

そうした中での曳光弾によるアプローチをとることでいかのメリットを享受できます。

  • ユーザーからのフィードバックを受けられる

早い段階でユーザーにソフトウェアを見せることになるので、コミュニケーションの取り方次第ではフィードバックを期待できます。

  • プログラマの活躍できる舞台を整えることができる

ソフトウェアのエンド・ツー・エンドをのやりとりを考えてコードに具体化すると、早々にプログラマの舞台が整い、生産的な作業が可能になります。

  • デバッグ、テストが早く、正確にできる

ソフトウェアのエンド・ツー・エンドで接続されていることは、テストが完了したコードを統合できる環境を構築したことになるのでい短期間で何度も統合を行えます。

  • でも可能なソフトウェアを確保できる

ステークホルダーはいつでもを見たいと言ってくるかわかりませんが曳光弾による開発では常にデモを行える環境を整えることができます。

  • 進歩が明確

曳光弾によるコード開発はひとつ終われば次のものへと進みます。ですので生産性の報告やユーザーへの進歩報告が容易になります。

How : 最初に動作する土台を作ろう

まず土台を作り、徐々に肉付けしていきます。

土台は動作する程度の最小限に押さえて、目標とのズレがないように常にチェックを入れながら軌道修正しましょう。土台を作り、そこから肉付けしていくということがポイントです。

終わりに

この記事ではプリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則の議事録を自分用に記しています。

この記事ではカバーしきれていない部分も多いので、是非本書を手にとって読んでみてください。

次回、「【POP88】契約による設計」です。ぜひ、次の記事も読んでみてください。

  • この記事を書いた人
  • 最新記事

ミッチー

小中高と野球漬けの毎日 ▶︎ 大学時に自分が何もできないことに気づき、プログラミング学習開始 ▶︎ PCは疎かったがめげずに継続 ▶︎ 受託で案件を頂きながら、オーダースーツ事業に、通販事業にも参戦 ▶︎ 東証一部Web系自社開発企業にエンジニアとして内定。

-プリンシプルプログラミング, プログラミング

© 2022 オミチャンネル Powered by AFFINGER5