回答編集履歴
1
追記
answer
CHANGED
@@ -16,4 +16,45 @@
|
|
16
16
|
|
17
17
|
受注開発の場合に問題がおこる場合が多いと考えています。
|
18
18
|
|
19
|
-
改善方法としては、発注側に技術責任者をおいて、仕様書を減らしアジャイルな開発方法を採用できれば、真にOOPの恩恵があるでしょう。しかし、技術責任者に権力が集中するので、専任以外に委員会を設けるなど細かい配慮が必要かなとも思います。
|
19
|
+
改善方法としては、発注側に技術責任者をおいて、仕様書を減らしアジャイルな開発方法を採用できれば、真にOOPの恩恵があるでしょう。しかし、技術責任者に権力が集中するので、専任以外に委員会を設けるなど細かい配慮が必要かなとも思います。
|
20
|
+
|
21
|
+
---
|
22
|
+
追記
|
23
|
+
|
24
|
+
優秀な技術者についてのイメージが回答者によってまちまちなので、私のイメージを書きます。
|
25
|
+
|
26
|
+
・おおむねタイプ速度は速いですが、2倍も速いということはないと思います。
|
27
|
+
・コードが短いので早く仕上がります。
|
28
|
+
・手順がしっかりしているので手戻りが少ないです。もしくは自動化をしています。
|
29
|
+
・バグフィックスが早いです。
|
30
|
+
・テストの回数は多いですが、テストを実行する時間は短いです。
|
31
|
+
・バグは早期につぶされます。
|
32
|
+
・潜在的なバグが少ないです。
|
33
|
+
|
34
|
+
たぶん、この時点で2~4倍程度の生産性の差が出ます。
|
35
|
+
バグフィックスにかかる時間は思いのほか大きいものです。
|
36
|
+
それでも、このレベルの優秀さであれば、大量に人を集めても変わらないと判断する人も多いと思います。
|
37
|
+
|
38
|
+
さらに優秀な技術者はプロセスにも精通しています。
|
39
|
+
|
40
|
+
・テストの管理・変更管理・デプロイなどの定型業務のあるべき姿を知っていて改善することができます。
|
41
|
+
・不要なプロセスを指摘することができます。
|
42
|
+
・チェックポイントをまとめ上げ、可能ならば自動化します。
|
43
|
+
|
44
|
+
開発チーム全員の生産性を上げることができるので、寄与した生産性は10人分を超えます。
|
45
|
+
ただし、そうすることが許されればの話で、個別の作業にEXCELの資料を求められたら意味がありません。
|
46
|
+
|
47
|
+
さらに、ほとんどが優秀な技術者のチームとなるとこのような効果があります。
|
48
|
+
(書いてから気が付きましたが、まんまアジャイル開発ですね・・・)
|
49
|
+
・設計段階からきちんとしたモデリングをすることができます。
|
50
|
+
・モデリングされたコードを書くことができます。
|
51
|
+
・開発段階でリファクタリングを行い設計変更による影響を減らせます。
|
52
|
+
・設計資料は最小限に抑えられます。
|
53
|
+
・テストを大規模に自動化できます。
|
54
|
+
・細かいリリースで、ユーザーテストに十分な時間をかけられます。
|
55
|
+
|
56
|
+
これができれば生産性は一人当たりの生産性は100倍になっても不思議ではないかと考えています。
|
57
|
+
もちろんこれを受託開発で行うにはかなりのハードルがあると思われます。
|
58
|
+
|
59
|
+
しかし、これは大規模なソフトウェア開発では普通に行われていても不思議ではありません。
|
60
|
+
(google・Facebook・Microsoft・LINE・楽天 などを思い浮かべてください。)
|