アジャイル開発の課題
Software Design 2023年8月号が、アジャイル開発の課題とプラクティスについての特集でした。
アジャイル開発の課題に立ち向かう
「なんとなくアジャイル」から脱却するためのプラクティス
これまでも「More Effective Agile 〜 “ソフトウェアリーダー”になるための28の道標」のように、実践に基づく経験からより効果的にアジャイル開発を行うための方法が記載された書籍はあったし、アジャイルのコミュニティを通じて、事例やプラクティスの共有はされているものの、網羅的にコンパクトにまとまっていて、私自身の経験と照らし合わせてみても頷くところ多き内容でした。
ただ、紹介されていたプラクティスも頷きまくりだし、アジャイル開発未体験な方、課題にどう向き合ったらいいか悩んでる方はみんな読むべきだよと思うものの、立ち向かうべきは課題であり、用いるプラクティスもチームによっても、チームの状況によっても段階があり、そのまま実践しようと思っても難しいことのほうが多いんじゃないかと思い、こんなツイートをしました。
課題に立ち向かうことが重要で、プラクティスを適用することが目的になってはいけないよねと思う今日この頃である。 pic.twitter.com/bbFuZ14bhG
— かず (@curanosuke) July 18, 2023
課題への立ち向かい方
アジャイル開発の手法の一つである「スクラム」での実践においても、POや開発者など、チームのメンバーのほとんどがソフトウェア開発やスクラムの知識と経験が豊富、最初からそんなメンバーが集まることは稀で、少なくともスクラムマスター1人と、経験のある開発者が1、2人から始まるチームがあったとします(それよりも少ないケースは、更に課題が多くなると思います)。
スクラムのプロセスに従い、スクラムイベントを開催していくことで、ある程度は、スクラムの三本柱である「透明性」と「検査」と「適応」が実施できていきます。ここで重要なのはチームをよく観察することで、見えなかったものを見えるようにしていく、見えるべきものを問いを立てて確認していくことで、少しずつ表出化される「透明性」です。
「透明性」がどれだけ確保できるかが、チームが「検査」と「適応」によって、改善のサイクルが効果的に進み、自己組織化が進むチームになれる一番の鍵じゃないかと思います。
というようなことを書いていて、そういえば、同じように「見えないものを見えるように気づかせてあげることが大事」ということを何処かで書いたことを思い出しました。
『アオアシに学ぶ「考える葦」の育ち方』とアジャイル開発 という記事を去年のアドカレでも書いていたのでした。
課題への立ち向かい方としても、サッカーとアジャイル開発は共通点が多いと思っています。
技や戦術などのプラクティスの練習を重視しがちな日本のサッカーではなく、試合の中で学ぶことの方が大切だということが、「競争闘争理論 サッカーは「競う」べきか「闘う」べきか?」にも書かれていました。
この記事を書き始めた時は、先ほどのツイートに続けて書いたランニングのプラクティスと絡めて書こうかなと思っていたのに、結局サッカーに戻ってきたので、スクラムもチームである以上、陸上のような競争の競技ではなく、闘争の競技であり、実戦の中で学ぶべきことの方が多いということなのだろう。でも、やっぱりプラクティスも知らないと見えてこないところも多いから、アジャイルだけじゃなく、アーキテクチャー、クラウドやCI/CDも含めたプラクティスも学ぶのも大事だよね。おわり。
信頼できるトレーナーから教わったプラクティスをいろいろ試してみたところ、自分に足りなかったプラクティスが見つかったり、悩まされてきた症状が解決してきたりした。
— かず (@curanosuke) July 18, 2023
これはランニングのトレーニングの話。
プラクティスを学んで、自ら試してみることも大切である。