ハードなプロセス、ソフトなプロセス
さかばさんの記事を読んで思ったことをラフなメモ書き。
【元ネタ】
[#TiDD] チケット駆動開発の開始タイミング - 良いプロダクトはふさわしいプロセスが生む -: ソフトウェアさかば
システム開発から属人性を排除しようとして失敗する: プログラマの思索
さかばさんが書かれているように、製造業の会社から派生したSIはハードウェアの開発に憧れて、ソフトウェア工場によるソフトウェア開発の工業化を目指していたように思える。
属人化を廃し、信頼性重視の開発スタイル。
(前略)
ソフトウェア開発の歴史を振り返ると、ソフトウェアはハードウェアの開発にあこがれていたと思います。各社が「ソフトウェア工場」を作り、ソフトウェア開発の工業化を目指していました。
工業化における品質とは主に信頼性です。計画された仕様が満たされたかどうか、設計どおりに実現されているか、それが求められます。当初定められた計画通りにできることを重視する、それをここではハードなプロセスと呼びます。
しかし、近年のソフトウェアに求められるものは、そのようなハードなプロセスでは実現が難しい柔軟な対応です。作ってみないとわからない仕様や、日々変化する実行環境とビジネスに対応できるソフトウェアです。
(後略)
ソフトウェア工場による開発を目指していたのは、製造業の会社から派生したSIだけではない。
マイクロソフトも一時期興味を持っていたようで「ソフトウェアファクトリー」のような本を出していた。
「ソフトウェアファクトリー」を僕も読んだけれど、ピンとくるものが無かった。
オブジェクト指向による限界を示した部分はなるほどと思ったけれど、内容はモデル駆動開発(MDA)のように思えた。
MDAは、抽象的な論理モデルをお絵描きしたら、動くソースを自動生成できるはずという思想。
OOAを突き詰めると、MDAにぶち当たる。
しかし、プログラムが書けない業務SEやPMはモデル駆動開発にいつも憧れているけれど、実現が難しいのが実情。
むしろ、RailsやSeasarのように、DOAによるデータモデル設計さえしっかりしていれば、優れたフレームワークによって、従来よりも大規模な実装が少人数で可能になった現実がある。
平鍋さんが主張するように、ソフトウェア開発は「プロジェクトを生産的に、協調的にするには、人の力とモチベーション、コミュニケーションを引き出すことが一番重要である」のが本質なのだろう。
チケット管理システムをつかってみよう!:An Agile Way:ITmedia オルタナティブ・ブログ
ソフトウェア開発は生物(なまもの)だ。
僕もチケット駆動開発を運用して、プロジェクトファシリテーションの各種のプラクティスを実践してみて、なるほどと思う所が沢山あった。
「ザ・ファシリテーター2―理屈じゃ、誰も動かない!」に書いてある「解けない問題を解ける問題へ変換すると、人は自然に解決する方向へ動き出す」ことを身近に感じられたからだ。
実際、ロードマップを見れば、チームのゴールが共有され、そのゴールへ到着するために何をしなくてはならないのか、メンバー自身が考え始める。
【Facilitation】解けない問題を解ける問題へ変換する: プログラマの思索
チケット駆動開発とプロジェクトファシリテーションの関係についても、もっと考えてみる。
| 固定リンク
「モデリング」カテゴリの記事
- UMTPモデリングフォーラムのパネル討論の感想(2022.11.29)
- Go言語でできることは何なのか(2022.11.06)
- クラウド上の開発がJavaに与えた影響は何なのか(2022.10.16)
- 「ソフトウェアアーキテクチャの基礎」本はアーキテクトが読むべき本だった(2022.09.18)
- 組込みソフトウェア開発でUMLを使う手法を説明した書籍のリンク(2022.06.17)
「ソフトウェア工学」カテゴリの記事
- DDPは品質管理に役立つのか(2022.12.13)
- 組合せテストにおける因子と水準はどちらを最優先で考えるべきか(2022.12.04)
- XPエクストリームプログラミングは偉大だ~時代がその設計思想に追いついた(2022.11.16)
- 第23回東京Redmine勉強会の感想~コミュニティは仲間から生まれて続く #redmineT(2022.11.06)
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
「チケット駆動開発」カテゴリの記事
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
- タスク分割は親子チケットにすべきか、それともチェックリストにすべきか #redmine(2022.03.04)
- Redmineにメンション機能が入るらしい(2022.01.15)
「Agile」カテゴリの記事
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
- DDPは品質管理に役立つのか(2022.12.13)
- UMTPモデリングフォーラムのパネル討論の感想(2022.11.29)
- XPエクストリームプログラミングは偉大だ~時代がその設計思想に追いついた(2022.11.16)
コメント