オルタナティブ・ブログ > An Agile Way >

アジャイルに行こう!

TPS と Agile(2) - 5S

»

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 となっているものもある(この方がぼくはよいと思う)。

Comment(3)

コメント

sakata

5Sについては、整理:要不要、整頓:配置・構造、清掃:表示・命名、清潔:維持・メンテ、躾:組織知化・習慣化。だと思っています。なので、ソースコードのレベルから顧客要求のレベルまで通用する考え方だと思いますし、ソフトウェアに限った話でもないのではと、考え始めています。

本来の意味での5Sも気持ちよくチーム運営して行くには必要ですね。
リアルな環境の整理整頓清潔はもちろん、コーディング標準を守る守らせるのは躾だし、朝夕挨拶をするという躾も大事ですね。だめなプロジェクトは大抵朝夕というか出社退社時にメンバー間で挨拶が無く、いったい何時来て帰ったかわからなくなってたりしますね。

平鍋

sakata さん、

おお!コメントありがとうございます。どんどん突っ込んでくださいね。「ソースコードのレベルから顧客要求のレベルまで通用する考え方」なるほど。

いしさかさん、

「だめなプロジェクトは大抵朝夕というか出社退社時にメンバー間で挨拶が無く」まったくそうですよね!

気持ちよく仕事をする、ということ、それから問題を明らかにするためにノイズを減らすということ、両方の意味があると思っています。

コメントを投稿する