原則2:”品質を作りこむ” という言葉が好き。
リリースして、リファクタリングかけて、自動テストして、リリースして。
常にシステムをいい状態においておく。
使う人も、マーケットも、企画も、業務も、
全て流動的で変化し続ける。
だからシステムを時代に追随させていく。
その品質を作りこむことは可能だと思う。
そのために必要な要素は、
人であり、その人の技術力だと思う。
頻繁なリリースを可能にするには、
コードが容易に解読できないと難しいだろうし、
容易なコードにするにはリファクタリングは不可欠だろうし、
リファクタリングをかけるには自動テストは必要だろうし、
自動テストやるには・・・・。
全ての原点には人がいる。
だからその人が知っていて、理解していて、実行できないと、
何もできないのだと思う。
現状を確認して、
方向性を合わせて、
できることを一つずつ増やしていく、
できる人を一人ずつ増やしていく、
それが品質を作りこむことなのだと思う。
(以下抜粋。○:完全抜粋、●:簡略抜粋)
○マネージャとは、その人が監督する分野で名人になった教師なのである。
新人のエンジニアを訓練し、弟子から職人へ、
職人から名人エンジニアへと変えていくのだ。(P.19)
○ソフトウェアの機能の半分以上は、最初のリリース以降に開発される(P.25)
○優れたソフトウェアデザインとは、
妥当な実行性能を実現しながら、
ソフトウェアの構築・修正・保守にかかる時間を最短にするものである。(P.25)
○ソフトウェア業界では、価値が変わりやすい。
それはたいてい、顧客自身が、
自分たちの欲しいと思っているものを本当には知らないからだ。(P.28)
○ソフトウェアのムダを排除する、
最高のチャンスをもう一度振り返って見よう。
それは、「コードをできるだけ書かない」ことである。(P.35)
○専門知識をすべて外注に任せている企業は、
競合他社も同様に外注できる、ということに気づくだろう。
専門知識など必要ないと考えている企業は、
維持可能な競争優位を何ひとつ持ち合わせていないことに気づくはずだ。
聡明な企業なら、確実に、目的に合ったエキスパートエンジニアを育成して、
目標達成に必要な専門知識を備えた人員を配備しようとする。(P.45)
●コンピュータ化とは、標準化することであり、目標を絞って行う。
(中略)
開発者はシステム機能を最大にするのではなく、最小に絞る。(P.85)
○ソフトウェア製品に対して見境なく機能を詰め込むのは、
マーケティングをサボっている証拠だ。(P.87)
○すべてのコードは、書くのにもお金がかかるが、
サポートするのにさらにお金がかかる。
不要なコードを書くぐらいなら、
開発者にはサーフィンでもしてもらっていたほうがよっぽどいい。(P.87)
○トヨタの真の強みが、『普通の』従業員の知恵を終結する能力にある(P.143)
○本当にコーディングを学びたいのであれば、
オープンソースプロジェクトに参加するとよい。(P.243)
○最初にテストを書くと、通常は設計がシンプルになる。
テスト可能なコードを書いていると、コードの結合度が弱くなるからだ。(P.248)
○プロジェクトはそれぞれ1回かぎりの取り組みであるため、
見積もりは憶測にすぎない。
つまり、プロジェクトはそもそも、
未知の要素でいっぱいだということだ。(P.288)
○監督者は自分の監督する作業に関して、
高度な技術を備えている必要があると考えた。 (P.291)
リリースして、リファクタリングかけて、自動テストして、リリースして。
常にシステムをいい状態においておく。
使う人も、マーケットも、企画も、業務も、
全て流動的で変化し続ける。
だからシステムを時代に追随させていく。
その品質を作りこむことは可能だと思う。
そのために必要な要素は、
人であり、その人の技術力だと思う。
頻繁なリリースを可能にするには、
コードが容易に解読できないと難しいだろうし、
容易なコードにするにはリファクタリングは不可欠だろうし、
リファクタリングをかけるには自動テストは必要だろうし、
自動テストやるには・・・・。
全ての原点には人がいる。
だからその人が知っていて、理解していて、実行できないと、
何もできないのだと思う。
現状を確認して、
方向性を合わせて、
できることを一つずつ増やしていく、
できる人を一人ずつ増やしていく、
それが品質を作りこむことなのだと思う。
(以下抜粋。○:完全抜粋、●:簡略抜粋)
○マネージャとは、その人が監督する分野で名人になった教師なのである。
新人のエンジニアを訓練し、弟子から職人へ、
職人から名人エンジニアへと変えていくのだ。(P.19)
○ソフトウェアの機能の半分以上は、最初のリリース以降に開発される(P.25)
○優れたソフトウェアデザインとは、
妥当な実行性能を実現しながら、
ソフトウェアの構築・修正・保守にかかる時間を最短にするものである。(P.25)
○ソフトウェア業界では、価値が変わりやすい。
それはたいてい、顧客自身が、
自分たちの欲しいと思っているものを本当には知らないからだ。(P.28)
○ソフトウェアのムダを排除する、
最高のチャンスをもう一度振り返って見よう。
それは、「コードをできるだけ書かない」ことである。(P.35)
○専門知識をすべて外注に任せている企業は、
競合他社も同様に外注できる、ということに気づくだろう。
専門知識など必要ないと考えている企業は、
維持可能な競争優位を何ひとつ持ち合わせていないことに気づくはずだ。
聡明な企業なら、確実に、目的に合ったエキスパートエンジニアを育成して、
目標達成に必要な専門知識を備えた人員を配備しようとする。(P.45)
●コンピュータ化とは、標準化することであり、目標を絞って行う。
(中略)
開発者はシステム機能を最大にするのではなく、最小に絞る。(P.85)
○ソフトウェア製品に対して見境なく機能を詰め込むのは、
マーケティングをサボっている証拠だ。(P.87)
○すべてのコードは、書くのにもお金がかかるが、
サポートするのにさらにお金がかかる。
不要なコードを書くぐらいなら、
開発者にはサーフィンでもしてもらっていたほうがよっぽどいい。(P.87)
○トヨタの真の強みが、『普通の』従業員の知恵を終結する能力にある(P.143)
○本当にコーディングを学びたいのであれば、
オープンソースプロジェクトに参加するとよい。(P.243)
○最初にテストを書くと、通常は設計がシンプルになる。
テスト可能なコードを書いていると、コードの結合度が弱くなるからだ。(P.248)
○プロジェクトはそれぞれ1回かぎりの取り組みであるため、
見積もりは憶測にすぎない。
つまり、プロジェクトはそもそも、
未知の要素でいっぱいだということだ。(P.288)
○監督者は自分の監督する作業に関して、
高度な技術を備えている必要があると考えた。 (P.291)
コメント
コメントを投稿