web-dev-qa-db-ja.com

アジャイルで幻滅;リリース1.1以降の生活の準備はどのようにしますか?

私の会社は、アジャイルプロセスを備えたSteamをフル稼働させ、複数のアジャイルプロジェクトを実施しています。最初のアジャイルチームであるPoC(概念実証)は、リリースまでの製品と最初のポストプロダクションリリースを実行しました。

この成功した努力の後、チームはすぐに解散し、機敏な方法で他のプロジェクトを支援するために派遣されました。アジャイルでの幻滅は、ソフトウェアライフサイクルの3番目以降のリリースステージから生じます。

アジャイルは専門家を引き寄せ、瞬間を築き、プロジェクトにすべて興奮するのが得意ですが、既存の顧客が満足しなければならない段階にプロジェクトを絞り込み、その早いアジャイルの楽しみすべてにお金を払い続けるにはどうすればよいでしょうか。可能であれば、パーティーは終了し、ドキュメントが軽視されますが、必要になるまでデザインしないでください。次のスプリントに向けてレースを続けると、ドキュメント、ビジョンがほとんどなく、デザイン決定が行われた理由の記録が不十分になります。この人生のステージはまた、最初のアジャイル開発者にはほとんど関心がありません。彼らはそのプロジェクトを完了していて、新しいエキサイティングなチームを探し始めているからです。

私は理解し、長期計画、スケジュールの欠落、要件の最新化などの問題の滝を乗り越えてきましたが、一部は利用可能であり、お客様に受け入れられていたため、意思決定が行われた理由に関する情報と分散知識があります、どのような措置がとられたのか、そして最終的にはよりサポート可能なものになります。

基本的に、アジャイルプロジェクトが成功するためには、アジャイルチームが何をしなければならないか、何をしなければならないか、何が実現可能でなければならないか。

私たちが構築したアジャイルソフトウェアを維持できない場合、数年後のアジャイルは、ビジネスマネージャーが支払うことのないもう1つの破られた約束になり、古いマイクロ管理可能なウォーターフォールプロセスに戻ることができます。

7
Scott S

あなたが経験していることは、最初にアジャイルに移行した他の多くのチームと非常に似ていると思います。私の最後の会社では俊敏であると言われたときに、ほぼ同じことが起こりました。 Cargo Cult Agile Methodology に関するこの記事は、おそらく1.1以前の時代に経験したことのいくつかに共鳴するかもしれません。ポイントは、一歩下がって、チームと特定の状況にとって本当に重要なことを考慮せずに、書き留められたルール/ガイドラインに従うことはできないということです。

重要なのは、アジャイルの方法論では、ドキュメントを作成できないとは決して言われていないことです。ウォーターフォールと比較すると、ドキュメントの90%(それ以上ではないにしても)が排除されているため、このように見えます。それは良いことですが、一部のチームでは、「ドキュメントなし」を文字通り少し多めに取りすぎて、ドキュメントの99.9%を排除しています。次に、文書化されていない製品の原因としてアジャイルをオンにします。

私はグーグル検索をして アジャイル/リーンドキュメントに関するこの記事 を見つけ、結局この同じトピックに触れる1年前の 私の質問に対する別の質問 を見つけました。私が書いたものからの結論は、設計ドキュメントは重要であると私が信じているということですが、組織的な記憶のためであり、十分に高いレベルに保たれている場合のみです。コードの前に書かれたとき、それらはほとんど完全に役に立たない。

同じことがビジョンと長期的な方向性についても言えます。アジャイル方法論は、大きな先行設計が悪いことを示唆しています。そして、それらが意味することは、言葉を使用してアプリケーションのすべての要点を「スケッチ」しようと試みてから、それらすべてをコード化しようとしないことです。それはうまくいきません。しかし、私自身も含めて、多くのチームが文字どおりに理解しすぎて、新しいプロジェクトを開始するときに、全体的なアーキテクチャを定義したり、最終的な製品の全体像を概観したりせずに、すぐにコーディングに取り掛かりました。結論としては、アジャイルでは十分な文書を用意して、前進するのに役立ち、より効率的になる(つまり、ビジョンを思い付く)必要があるということです。チームは共通の目標に向けて作業でき、前に戻って作業をやり直す必要はありません)ただし、a)誰も読んでいない、b)になるであろう設計仕様の量に基づいて量を生産するのと同じだけのドキュメントを作成しないでくださいソフトウェアが出荷される前でも完全に時代遅れです。

アジャイルは非常に重要な点で非常にシンプルです。それは短い反復についてであり、無駄を省き、継続的な改善を行います。あなたは時間を無駄にし、効率を低下させる原因を常に見直し、それを修正する必要があります。チームがドキュメントの作成に2週間を費やしたばかりで、それらのドキュメントがだれも必要としていないことに気付いた場合、それは無駄です。ただし、チームが顧客からの問い合わせによってスローダウンされていること、および作成されたコードを自分で理解できないことがわかった場合、おそらくドキュメントが不足していることは無駄です。

13
DXM

あなたがやっていたことは俊敏ではなかった、あなたのポイントを越えてみましょう:

  • ドキュメントのライト-アジャイルは「ドキュメントなし」ではありません。ドキュメントを必要としないコードを作成し、必要なドキュメントを作成するだけです。
  • 必要になるまで設計しないでください-アジャイルでは、これは何も意味しません。後で設計しているからといって、まったく設計していないという意味ではありません。
  • 次のスプリントへのレースを続ける-アジャイルは次のスプリントへのレースではありません。アジャイルの主なポイントは、安定した持続可能な開発ペースを生み出すことです。したがって、ソフトウェアがどれほど大きく複雑になっても、チームは新しい機能を追加し、1年前と同じ割合で品質を向上させることができます。
  • ほとんどドキュメントを残しません-繰り返しますが、アジャイルとは、チームが作業に必要なドキュメントを決定することです。他の方法論の主な問題は、どのドキュメントが必要かを決定するのが誰かであるということです。そのため、ドキュメントが解決するよりも多くの問題をドキュメントに与えることがよくあります。
  • 小さなビジョン-間違っています。開発者自身は本当に長期的なビジョンを必要としません。ただし、少なくとも製品の所有者は、1〜2年先を見て、どのようなソフトウェアが必要かを想像する必要があります。それほど多くのwhat-ifで開発者に負担をかける必要はありません。
  • 設計上の決定が下された理由の不十分な記録-アジャイルでは、これらの記録はコード、開発者のメモリ、およびチームが作成したドキュメントに存在します。

つまり、質問に答えるには:アジャイルをやったことがないのに、アジャイルで幻滅することはありません。

9
Euphoric

幻滅は幻想を持っていることに由来します:-)

これらの問題についての私の見方(スクラムメガネの着用)は、

  1. 主に不十分な「定義済み」によって引き起こされます。現在のスプリントの後で後のスプリントをクリーンアップする必要がある場合、スプリントが機能しなかったと私には言います。

  2. 成功したチームを分割することで貢献しました。これは、製品を詰め込む古典的な方法の1つです。

私にとって、アジャイルの重要な特徴は、持続可能なペースを維持することです。これは、各スプリントでチームが達成できること、チームの速度を知ることから生じます。チームの大きな変化は、将来の予測因子としての過去の速度の信頼性に大きな変化をもたらすことを意味します。その持続可能なペースにはメンテナンスが含まれ、突然のカットオーバーがないことも意味します。

もちろん、チームは人々が行き来し、スキル要件が変化するにつれて進化します。しかし、チーム全体を解散させると、身震いします。

6
andy256