オルタナティブ・ブログ > 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)