Smily Books Blog 2023年7月更新中

達人プログラマー アンドリューハント、デビッドトーマス(ピアソンエデュケーション)

1.変化の触媒たれ
あらかじめ要求をうまく引き出せるようなシステムを作成する。
元々必要な機能追加質問に対してあらかじめ準備しておく。

2.大きな構想を忘れないようにすること
細かな仕様変更要求に対しては、大きな視点でものを見て、周囲で何が起こっているか注意する。

3.品質要求を明確にすること
トレードオフにユーザを巻き込み、現段階でのやめ時を選択させる。

4.モジュールの独立性と開発生産性を上げるために設計はレイヤー化する。
(1)ユーザインターフェース
(2)データベースアクセス
(3)レポートエンジン
(4)ビジネスロジック
(5)アプリケーションフレームワーク
(6)標準ライブラリ
(7)オペレーティングシステム

5.(客先依頼において)最終決定などというものは存在しない
可逆性のある設計、コーディングとすること。「やり直し」をできるだけ発生させない。

6.(要求の最終形態に対する何らかの解釈として)できるだけ基本的な構造仕様を迅速に明確に提示すること
デモ可能な環境を整え、目標を明確に捉えるまで何度も提案、修正すること
(1)プロトタイピング
システムの最終形態についての理解を検証するもの。
コンセプトの確認を終えた後は作成したものを捨て去り、得られた情報から再構築する。
(2)曳光弾によるアプローチ
アプリケーション全体の連携、アーキテクチャの骨格を作成する。
先行して作成した公開フレームワークは、その後新しい機能が追加され、完全なルーチンに置換される。