メイン» ソフトウェアの部屋 »アジャイルソフトウェアマネジメントを考える - その

アジャイルソフトウェアマネジメントを考える - その

 ところでソフトウェアのエンジニアリングと、製造業の製造は似ていないという議論があります。だからソフトウェアエンジニリングプロセスは、コントロール不可能だというロジックなのでしょう。

 たしかにソフトウェアはヒトがつくります。ですから、知識労働と言って良いでしょう。一方、自動車の車体を型に合わせて打ち抜く例えが、この「アジャイルソフトウェアマネジメントを考える」エッセーのきっかけになっている書籍「アジャイルソフトウェアマネジメント」にあります。

 いわく、100個の車体を打ち抜くためにかかる時間は、ひとつの車体を打ち抜くためにかかる時間のほぼ正確に100倍だ、つまり線形である・・・

 一方、知識労働は予測もできないし線形でもないから、製造管理と同じやり方では管理できないという意見がある・・・

 残念ながら、現実的に、ソフトウェアプロジェクトは、まずめったに計画通りに行かないし、ほとんど見積もりは黒魔術だ、見積り結果は、完全なフィクションになってきたということです。

 しかしアジャイルソフトウェアマネジメントは、ソフトウェアエンジニアリングがコントロール可能であることを示しています。

 そしてその成功の秘訣は、ソフトウエアエンジニアリングが、製造業の生産よりも、より大きな不確実性を抱えていることを認識すること。そのことが、製造業を革新してきたパラダイムシフトの、ソフトウェアエンジニアリングへの適用を阻むものではないことを認識することでしょう。

 たとえば、TOC(制約条件理論)が教えるのは、どのようにして不確実性をバッファリングするかです。ソフトウェアエンジニアリングにおいて、不確実性が大きいからと言って、TOCを適用できない理由は何もないということです。

 となれば、製造業を革新してきたパラダイムシフトを、ソフトウェアエンジニアリングの領域でも起こすことが可能だということですし、一部の領域では既に起きているということです。