の⾯ • ソフトウェア開発の経験から⽣まれた理論、技法、考え ⽅を体系化したもの ü開発戦略 ü品質管理/プロセス管理の技術 üリスク管理/コスト管理/スケジュール管理 ü要求開発技術/設計技術/テスト技術 Software Engineering の⾯ メタスキル l エンジニアの⼤好物。放っておいても頑張れる。 ü 動作の速い、コンパクトなソースが書ける ü 拡張性に富んだ斬新なアークテクチャを考えら れる ...etc メタスキル l 現場で経験してみないと理解が進まない。 ü 開発⽅法論を使ってプロジェクトを推進できる。 ü 品質保証でバグを⾒つけやすくする ü 構成管理をきちんと実施できる ü ピープルウェアの概念を理解している ...etc
◦ 組織的学習 ◦ ⽣産性の⾼いチームの開発 ◦ ヒューマンコンピテンシーのモデリング ソフトウェアを動かすのはピープルウェア * Silvia T. Acuna (2005). A Software Process Model Handbook for Incorporating People's Capabilities. pp. 9–11.
technological as sociological in nature.” ― Tom DeMarco and Timothy Lister(1987) 「実際のところ、ソフトウェア開発上の問題の多くは、技術的というより社会学的なものである」 ― トム・デマルコ&ティモシー・リスター(コンサルタント)
are copies of the communication structures of these organizations.” ― Melvin Conway 「システムを設計する組織は、その構造をそっくりまねた構造の設計を⽣み出してしまう」 ― メルヴィン・コンウェイ(コンピュータ科学者、プログラマー)
必死なって「バ グ」をあぶり出し 使用上問題の無 いことを保証しよ うとする "Workers on the first moving assembly line put together magnetos and flywheels for 1913 Ford autos" Highland Park, Michigan