十数年の開発期間を経て品質関連コンサルを5年目やっているのですが僕も周りにはいわゆる「スタート・アップ」と言われる企業をやってる方がおおいです。
企業人数が10人当たりの場合、開発がフール・スタック開発者に全部行われて仕様管理、開発の進捗管理、テスト管理までやる精神的な暇はない。こんな組織に「コード分析をしましょう」とか「仕様管理をちゃんと記録して管理しましょう」のコンサルは受けられるわけはないですね。
個人的にいままで経験したのを整理すると下のようです。
規模が大きい組織の場合
- 開発チームが別にあるしパート別に担当者がいる。
- テストも単体でやってる。(もちろん組織によってしないのもあります。)
- 自分のコードの品質向上活動も仕事の一部。
- 大体にクライアントさんの範囲が広い。
- 以外にアジャイルで興味が高い。
規模が小さい組織の場合
- 開発の担当区分が曖昧。
- 単体テストをやる精神的な暇がない。流れ込む仕事の処理でいつも忙しい。
- もちろんコード品質管理は興味なし。(すれば良いのは知ってるけれども…)
- 大体にクライアントさんの範囲が狭い。
- 以外にアジャイルに興味がない。
組織がアジャイルとかのいろんなSW工学手法を導入すると、どう導入すればよく成果が目立つのかが僕のポイントです。
そのポイントに着くため僕が建てた仮説は下のようです。
(開発組織が)大きい場合:下流工程*にフォーカスする。
(開発組織が)小さい場合:上流工程**にフォーカスする。
*:V-Modelの下位部分の活動(設計、開発ー単体てすと、統合テスト、システムテストなど)の意味です。
**:V-Modelの上位部分の活動(仕様分析、機能定義ー受け入テスト)の意味です。
詳しい話は次の投稿でやります。