フィードバックループ
アジャイルエンジニアが行うべきプラクティスに、CIやTDDがあります。
CIなんかは、ずっとビルドが健康体であることを保つことが大事、だったり、リーンの考え方だと、ラインストップ文化になぞらえられたりします。
TDDは、まず汚くても動くものを作って、きれいにしていくという、アジャイルが目指す小さい動くものを積み重ねていくという文化と相性がよかったりします。
僕はアジャイルはXPよりも先にスクラムから入ってきていて(という人はまれなんじゃないかと思います)、その前にウォーターフォールの開発リーダーみたいなこともやってきていたのもあって、しばらくアジャイル=リーンのむだを省くという考え方というのが定着していたので、CIやTDDもその文脈の中で考えていました。
リーンスタートアップなんかも出てきていて、それらを含めてアジャイルを見直してみると、アジャイル+リーンスタートアップって大小様々なループの連続なんですよね。
CIやTDDはコードに対するフィードバックなのだけれども、イテレーションの最後にあるレビューは成果物に対するフィードバックだし、リリースってユーザーからのフィードバックだし。
そういう、さまざまなフィードバックを得ながら、プロダクトやサービスを進化・深化させていこうよ、っていうのがアジャイルなんだなぁって。
そんなこと考えてると、ウォーターフォール vs アジャイル開発 っていう対立軸があほらしく思えてくることがあるんですよね。ウォーターフォールって作ったあとのフィードバックは何も考えてくれてないじゃないですか。きっとそれだけでは不完全なんだろうな。