« 2006年12月27日

2007年1月3日の投稿

2007年1月8日 »

TPS でいう 5S とは、「整理」、「整頓」、「清掃」、「清潔」、「躾」を言う。これは、ソフトウェア開発ではほとんど関係ない--と考えている人が多い。しかし逆で、アジャイルのような持続可能な開発では非常に重要になる。

この5Sは、しっかり英語にもなっており(いくつか文献によってばらつきがあるが)、Maryの本では、Sort, Systemize, Shine, Standardize, Sustain である。要不要を区別し(Sort)、見つけやすく場所を移動し(Systemize)、いつでも使える状態に磨き(Shine)、誰でもわかるようにし(Standardize)、それをキープするルールを作る(Sustain)。

Kent Schnaith がより具体的にこの5Sを、ソフトウェア開発で例示したものを、Mary Poppendieck は本の中で紹介している。

1. 整理(Sort)

コードの中で、通過しない死んだコードや、不要な import 文、使われていない変数、使われていないクラス、メソッド、アトリビュートを削除。整理する。

2. 整頓(Systemize)

プロジェクトのパッケージ構造を見直す。相互参照や循環参照を取り除いたり、依存関係を最小にする。

3. 清掃(Shine)

プロジェクトの掃除をする。

テストケースのエラーをなくす、ユニットテストのカバレッジを上げる、AllTests のパフォーマンスを上げる、checkstyle の警告をなくす、PMD の警告をなくす、javadoc の警告をなくす、…などなど。

4. 清潔(Standardize)

きれいな状態になったら、それをキープする。プロジェクトの複雑性を上げないよう、監視する。

5. 躾(Sustain)

これをプラクティス(実践項目)として、チームのルールにする。

文献によっては、Sift, Sort, Shine, Standardize, Sustain となっているものもある(この方がぼくはよいと思う)。

平鍋

昨年は、トヨタの方やトヨタ生産方式のコンサルタントの方(松井順一さん)と話す機会があり、とても刺激になった。松井さんが出された本、『職場の「カンバン方式」~トヨタ流改善術ストア管理』や、Mary Poppendieck の新刊、『Implementing Lean Software Development』を読みながら、再度、トヨタ生産方式とアジャイル開発について考えて行くことが、今年の一つの僕の活動になりそうな予感がしている。

というわけで、「TPSとAgile」を開始します(不定期です)。

最初にことわっておきたいが、TPS(トヨタ生産方式)は生産に関する考え方であり、ソフトウェアのような開発活動にそのまま適用できる訳ではない。「生産」と「開発」は異なる活動であり、実際の実践項目(プラクティス)のレベルでは全く違うものだ。しかし、考え方の部分では、非常に共通するものがある。アジャイルでいう原則と価値、TPSでいう原理原則の領域は、同じことやものを別の名前で指している例が本当に多い。

プロセスとメタプロセスの同居

まず、「ものを作る(making products)」ことの中に、「ものをよりよく作る(making products better)」という視点が盛り込まれており、この2つを同時に行うという点が、TPSとAgileが共通している原点だと思う。これは、「カイゼン」であり、アジャイルが繰り返しを重視し、繰り返しごとに「ふりかえり」を行う理由である。

2. 先行してやらない

また、例えばトヨタで「最遅着手」という原則がある。余裕があれば、ぎりぎりまで着手しない。変更による手戻りが発生したり、在庫をかかえたりするからだ。これは、Agileの「重要な決定をできるだけ遅らせる」ことと良く似ている。ウォーターフォール型のBDUF(Big Design Up Front)開発では、すべてを先読みして大きな分析・設計を決定してしまう。ソフトウェア開発には「やってみないとわからない」ことが多く、またビジネス変化も速いので、このように先行して全体をロック・インしてしまうような「ビッグ・デザイン」は、Agileではご法度。なるべく決定を遅延するのだ。すなわち、できるだけ情報が集まってから、手戻りがおこらないようになった段階で、大きな決定する。そのためには、少しずつ実装して試していく(情報収集する)必要がある。問題解決をしながら問題理解をしていくのがAgileのスタンスだ。かといって、まったく設計しないわけではない。現時点の情報でもっともシンプルな解決を行うこと。そして、これをリファクタリングしながら進化型設計をすること。これが、Agile で ENUF(ENough design Up Front)もしくは、YAGNI(You Aren't Going to Need It)と呼ばれる原則だ。これを続けることで、大きな設計が「現れて(emerge)」くるのだ。

(このシリーズ、つづく…はず。反響があれば…、求む、フィードバック!)

平鍋

« 2006年12月27日

2007年1月3日の投稿

2007年1月8日 »

» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

平鍋 健児

平鍋 健児

株式会社チェンジビジョン代表取締役社長、永和システムマネジメント副社長。
オブジェクト指向開発、UMLの勘所、アジャイルな開発手法の未来、マインドマップのソフトウェア開発での利用方法、プロジェクトファシリテーション(見える化)を語ります。現在、マインドマップとUMLの融合エディタ、astah*(アスター、旧JUDE)を開発中。

詳しいプロフィール

Special

- PR -
最近のトラックバック
カレンダー
2013年4月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
hiranabe
Special オルタナトーク

仕事が嫌になった時、どう立ち直ったのですか?

カテゴリー
エンタープライズ・ピックアップ

news094.gif 顧客に“ワォ!”という体験を提供――ザッポスに学ぶ企業文化の確立
単に商品を届けるだけでなく、サービスを通じて“ワォ!”という驚きの体験を届けることを目指している。ザッポスのWebサイトには、顧客からの感謝と賞賛があふれており、きわめて高い顧客満足を実現している。(12/17)

news094.gif ちょっとした対話が成長を助ける――上司と部下が話すとき互いに学び合う
上司や先輩の背中を見て、仕事を学べ――。このように言う人がいるが、実際どのようにして学べばいいのだろうか。よく分からない人に、3つの事例を紹介しよう。(12/11)

news094.gif 悩んだときの、自己啓発書の触れ方
「自己啓発書は説教臭いから嫌い」という人もいるだろう。でも読めば元気になる本もあるので、一方的に否定するのはもったいない。今回は、悩んだときの自己啓発書の読み方を紹介しよう。(12/5)

news094.gif 考えるべきは得意なものは何かではなく、お客さまが高く評価するものは何か
自社製品と競合製品を比べた場合、自社製品が選ばれるのは価格や機能が主ではない。いかに顧客の価値を向上させることができるかが重要なポイントになる。(11/21)

news094.gif なんて素敵にフェイスブック
夏から秋にかけて行った「誠 ビジネスショートショート大賞」。吉岡編集長賞を受賞した作品が、山口陽平(応募時ペンネーム:修治)さんの「なんて素敵にフェイスブック」です。平安時代、塀に文章を書くことで交流していた貴族。「塀(へい)に嘯(うそぶ)く」ところから、それを「フェイスブック」と呼んだとか。(11/16)

news094.gif 部下を叱る2つのポイント
叱るのは難しい。上司だって人間だ、言いづらいことを言うのには勇気がいるもの。役割だと割り切り、叱ってはみたものの、部下がむっとしたら自分も嫌な気分になる。そんな時に気をつけたいポイントが2つある。(11/14)

news094.gif 第6回 幸せの創造こそ、ビジネスの使命
会社は何のために存在するのでしょうか。私の考えはシンプルです。人間のすべての営みは、幸せになるためのものです――。2012年11月発売予定の斉藤徹氏の新著「BE ソーシャル!」から、「はじめに」および、第1章「そして世界は透明になった」を6回に分けてお送りする。(11/8)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ