見出し画像

アジャイル開発の12の原則(後半)

どうも”おもり”です。


アジャイル開発には12個の原則があります。

今回はその7から12までの原則について説明をしていきます。

1から6の原則については、前回の記事で説明しております。


⑦動くソフトウェアこそが進捗の最も重要な尺度です。

仕様があって、その仕様に対して2週間や1ヶ月程度のサイクルで完成させるアプリケーションの目標を決めます。その目標に向かって開発を進めるが、毎日動いて他部署やクライアントに進捗を見せるものを用意しておくのがベストです。

2週間に1回でもPMに「ここまで動くようになりました」という報告ができれば、PMも安心できるはずです。

スプリント開発

PMに見せる前に、技術側でCTOやPLにも動きを見てもらわないといけません。各担当者の開発が仕様や顧客の思惑通り進んでいるのかを舵取りしてもらわないといけないです。


⑧アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持できるようにしなければなりません。

アジャイル開発は、開発者一人一人の動きが非常に重要になります。毎日動くアプリケーションを用意すること、2週間ぐらいの短いスパンで成果を出すことが求められます。

そのために、アジャイル開発にはツールがあります。現状、自分がどんなタスクを持っていてい、そのタスクがいつまでに完了しないといけないのか、タスクの優先度などを知る即座に把握できないといけないです。

そういうツールの使い方をしっかりと理解して、タスクのマネジメントを自分の中でも行わないと、優先順位を間違ってしまったり、気がつけば締め切りを過ぎていたりということが出てきます。

ツールをしっかりと使いこなし、自分のタスクのタイムマネジメントを行い、マネージャーが舵取りをしながら、みんなで大きな船を進めていかなければなりません。全員がきちんとマネジメントできれば、短い周期での開発を成功させることができるでしょう。

⑨技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。

アジャイル開発では、動くアプリケーションと顧客が求めるアプリケーションの両方を常に実現させなければなりません。しかし、開発を進めながら、このままコードをチームで書き続けると、将来的に柔軟性の低いアプリケーションになったり、パフォーマンスが落ちたりすることがあることもあるのです。

開発を進めながら、設計が悪い箇所を見つけたり、最新技術を取り入れることでパフォーマンスを向上させたり、そういったことはアジャイルマスターやPL, PMに報告しておき、後のスケジュールに取り入れるたりする必要があります。

⑩シンプルさ(ムダなく作れる量を最大限にすること)が本質です。

短い期間で動くアプリケーションを作成しなければならないので、まずは凝ったデザインなどに時間を優先していてはいけません。優先順位としては、最低限の実装が最も優先度が高く、パフォーマンス・UI/UXの向上などは優先順位が低くなるものです。


⑪最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。

以上のように、短い期間でイテレーションを繰り返さないといけないアジャイル開発では、個人の主体性が重要になってきます。チーム全体で顧客の最優先事項に掲げ、開発者は個人のタスクマネジメントをしっかりと意識し、PLなどはチーム全体が向かっている方向を常に舵取りして開発を行っていく必要があります。


⑫チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整します。

これは忘れられがちですが、重要なことです。短い期間でトライ&エラーを繰り返しているということは、多くのエラーが生まれているということです。そのエラーを回収することなく進んでしまうと、また同じエラーを起こし効率が悪いです。

定期的に振り返りを設け、自分たちの開発手法を改善し続けていかなければなりません。何度も振り返りをしておくことで、後には振り返りに使う時間も短くなってくるでしょう。


最後まで読んで下さりありがとうございました。

アジャイル開発にはこの様な原則がありますが、現場ではこれらを実践することは非常に難しくなってきます。次回からは筆者の現場での実際の姿について書いていこうと思います。

それでは、またまた。。。

func pleaseSupportMe() { if ( isSupportedFromYou ) print("より一層がんばります!") else print("頑張るぞい") }