あなたの経験(逸話的またはその他)で、アジャイルを非アジャイル組織または会社に導入するための効果的な方法は何ですか?
更新:アジャイルを導入しようとしたが「撃ち落とされた」ケースについてだれでも話せますか?また、なぜあなたが「撃down」されたのかを振り返って理解していますか?
あなたの経験(逸話的またはその他)で、アジャイルを非アジャイル組織または会社に導入するための効果的な方法は何ですか?
更新:アジャイルを導入しようとしたが「撃ち落とされた」ケースについてだれでも話せますか?また、なぜあなたが「撃down」されたのかを振り返って理解していますか?
回答:
それは難しいが不可能ではない。あなたが楽園に住んでいない限り。具体的な手順については、恐れることのない変更のコピーを選択することを心からお勧めします
あなたが推測したかもしれないように、それが意味をなしたことを願っています。
チーム、経営陣、利害関係者に耳を傾け、手がかりを聞いてください。彼らは、アジャイルが直接取り組んでいる多くの分野で痛みを感じているようです。
これらの痛みを直接軽減できる提案に固執します。「あなたが感じることができないものを癒すことはできません」-いわば。
これには長い時間がかかりますが、信頼を築くことが最も重要です。過去の成功により、チームとマネージャーの両方の信頼を得て、彼らは決断を下すときにあなたに目を向けます。
私は、ソフトウェアを提供する方法を人々に変えさせようとする何年ものフラストレーションの後、自分の目でそれを見ました。そして、今は成功していますが、完全に近いところはありません。改善すべき領域はたくさんありますが、現在、ある種の痛みに直接対処する小さな変更を導入することに成功しています。
最後に、私は非常に共感的だと言いたいです。「XYZアジャイルブック」でそれについて読んでいなかったので、実際にそれらを通過する前に、ほとんどのアイデアを却下するというミスを犯しました。チームの声に耳を傾け、彼らの提案のいくつかを実装しようとすることは大いに役立ちます。
幸運を!
技術をスキップして、アジャイル手法を取り入れて「テストベッド」を提供できる組織内のグループを見つけることが重要であることがわかりました。当社には、さまざまなアジャイルの用語を理解しておらず、用語やプロセスに混乱している多くの人々がいて、一般的な恐怖がありました。
私の研究グループは、(他のいくつかのアジャイル型の方法論とともに)スクラムを機能させることに非常に興味がありました。私たちの興味は、さまざまな要素を試すために社内にテストベッドを形成することを可能にしました。私たちは最初に多くの教育をしました-人々との廊下での会話、会社幹部へのプレゼンテーションなど。私たちは教育をしました。次に、私たちはグループでそれを試してみる許可を求めました。
ペアプログラミング、テスト駆動開発、スクラムなどのすべてが時間を節約する方法を経験的に示すことについて多くの答えがありますが、結局のところ、あなたの会社内から証明が必要だと感じています。テストベッドとして使用できるグループを見つけて、実際に実行させる。あなたのグループがそれを実現することを示すことほど、恐怖を軽減するものはありません。
喉に詰め込みますが、気づかないうちに;)
私は、過去6か月ほどにわたって、アジャイルの原則(主にスクラム)を自分の職場にゆっくりと実装しようと試みてきました。私は最初に毎日のスタンドアップを導入しましたが、これは誰もが慣れるまでに時間がかかりましたが、うまく機能しています。全員が1つのシステムの一部であるさまざまなプログラムに取り組んでいるので、定義上スクラムに従うのは少し難しいです。次のステップは、スプリント会議を開始して、各リリースをフォローすることです。すでに1か月の長いサイクルがありますので、スプリントの長さは問題になりません。また、次の主要プロジェクトでは、スクラムの原則を完全に遵守する予定です。私はプロジェクトのチームの2人の開発者のうちの1人であり、彼はすべて継続的な改善を目指しています。私の希望は、経営陣が私が達成しようとしていることの利点を理解することです。
鍵はゆっくりと取ることだと思います。何年も同じ立場にいる人々は、一般的に侵入的な変化に反対していますが、少しずつこっそりと忍び込めば気付かないはずです。最初は小規模な頻繁な会議から始めます。それらを短く保つことにより、経営者はそれを時間の無駄と見なすべきではありません。
最初に自分自身を改善します。本当に。例は、アジャイルについて話すための強力な方法です。さらに、既に誰かが言ったように、技術的な定義を避け、マネージャーと役員が理解できる用語を使用してください。代わりに2週間。スプリントプランニングまたはプランニングゲームの代わりにプランニング。プロダクトオーナーではなくプロダクトマネージャーなど。Michele SligerはWaterfall Enterpriseでアジャイルについて素晴らしいプレゼンテーションを行いました。本当に必見のビデオ。また、アジャイル導入に関する別のビデオにも興味があるかもしれません。
私が働いているところでは、スクラムがアジャイルを始める良い方法であることがわかります。それは、経営陣がアジャイルを素早く理解するからです。これは単純で、名前がいいです。後者は、レトロスペクティブを行うときに、XPのプラクティスを改善策として提案することができ、人々は少なくともそれらを試してみるのは非常に簡単です。
敬具
「メンテナンス」タスク(バグ、影響の少ない変更など)に2週間のスプリントとして導入しました。そのため、長期プロジェクトに取り組んでいた開発者はそのままでしたが、メンテナンススプリントが交替で行われました。そのため、誰もが主要なプロジェクトを混乱させることなく、バーンダウンチャートとポーカーの見積もりを使用することに挑戦しました。
その後、各主要プロジェクトが終了すると、アジャイルな2週間のスプリントを使用して次のプロジェクトを開始しました。このプロセス全体は、全員がスプリントに参加するまでに数か月かかりましたが、中断が少なくなり、誰もがプロセスを「簡単に」できるようになりました。
ステップ1:プロジェクトのバックログが充実していることを確認し、優先順位が付けられていることを確認する
ステップ2:SCRUMプラクティスを導入する(管理可能な反復、毎日のスタンドアップ、スクラムマスター、製品所有者、バーンダウンチャート)
ステップ3:各反復は、バーンダウンを使用してチームの結果を提示します
次に...
TDD / BDD、ペアプログラミング、コードレビュー(すべて非常に穏やか)を実装し、十分なチームがあれば全員を同じ場所に配置します(可能な場合はチームルーム)。
とりわけ、抵抗があることを理解してください(そうなるでしょう)ので、それを管理する準備をしてください。
覚えておくべきもう1つのことは、全体としてこれらのベストプラクティスに従わない組織(大規模または小規模)の一部である場合、進歩していると感じるまでに時間がかかる場合があることです。
人々は常に変化に対して抵抗力があり、スクラムへの移行は非常に大きなものです。動機と方向性が重要です。
最初のステップは、スクラムにチャンスを与える意欲を高めることです。Ken SchwaberのGoogle Tech Talkは、スクラムの利点を人々に認識させ、良い紹介をするのに非常に役立つことがわかりました。開発者であろうとマネージャーであろうと、変化を受け入れやすいと感じる人から始めてください。ある時点であなたの側にマネージャーを置くことは必要になるでしょうが、それをどう扱うかはあなたの環境に依存します。
その後、本を読んだり講義シリーズをしたりすることを意味するかどうかに関係なく、全員がトレーニングを受ける必要があります。スクラムがどのように機能するかを人々が知らない限り、プロセスを実装しようとすることはできません。
人々がやる気を持ち、彼らが何をする必要があるかを理解したら、最初の計画会議を開き、スクラムの必要な部分(スクラムマスター、毎日の会議など)をセットアップする必要があります。
最初の計画会議がスムーズに進まず、誰にとっても学習体験になると期待しています。また、最初のいくつかのスプリントは非常に不安定で、おそらく予定より遅れています。重要な部分は、規律と永続性です。毎日の会議が長すぎないようにし、会議の計画をタスクに合わせ、全員がそれぞれの役割を正しく実行していることを確認してください。
最も抵抗力のある人は、ソフトウェア開発を長年行っている人、またはスクラムに移行することで以前に何か間違ったことをしていると認めている人だと思います。それは克服するのが難しい障害ですが、私は彼らにあなたがゆっくりと彼らを納得させることができる利点を示すことによって考えると思います。時間がかかります。私の経験では、製品マネージャーは彼らの要件と彼らが望むものについてより明確にすることを彼らに強いるので、本当に抵抗力があります。しかし、彼らがアジャイルプロセスが彼らにどのように利益をもたらし、生活を楽にするかを理解すると、彼らは非常に速く乗り込みます。
幸運を!
アジャイル開発の導入を検討する前に、組織/プロジェクトに最適なアジャイル開発を検討してください。たとえば、スクラムを検討している場合は、厳密に使用するか、スクラムのよりゆるい形式を使用するか、または別の方法で完全に適合するかどうかを検討してください。私の答えは、アジャイル手法としてのスクラムです。
スクラムは、技術革新が必要なプロジェクトに最適で、ほとんど知られておらず、実験が必要です。既存の製品の保守や定期的な保守作業の処理などを行うのに最適ではありません。幸いなことに、スクラムはゆるいフレームワークであり、できる限り最適な方法で使用できます。
メンテナンス作業には、かんばんの方が適している場合があります。または、スプリントを管理し、毎日のスタンドアップのようなことを行うために、いくつかのスクラム要素を試してみてください。これを「スクラム」と呼びます。「はい、私たちは会社でスクラムをしていますが...」。それは大丈夫です、それについて悪く感じないでください。
組織に適切なスクラムを導入するには、製品所有者と利害関係者の関与が必要です。あなたが小さな会社なら、その人は一人の人間、上司であり、大きな企業では製品マネージャーと部門長/上司であるかもしれません。スクラムを導入するための2つのルートを提案します。
1)既存の作業キューをすぐに管理するために、少し緩やかな形式でスクラムの使用を開始できます。しかし、かんばんにも注目してください。
2)革新、早期のフィードバックを必要とし、多くが不明な新しいプロジェクトで、より厳密な形式でスクラムの使用を開始します。スクラムがこの新しいプロジェクトに理想的であることを上司/製品所有者に提案できます。
でも覚えておいて!これはコードだけではありません。製品の所有者は重要な役割を担っており、自分の役割を理解し、果たす必要があります。これは、たとえば、すべての仕様を前もって記述するのではなく、最小限から始めて、急速に反復し、フィードバックを取得し、それを学習してフィードバックすることなどを意味します。スクラムの導入に熱心なプロダクトマネージャーと協力してみてください。ただし、プロダクトオーナー側からであり、理想的には彼/彼女は管理要求をかわしてスプリントを保護するのに十分なタフでなければなりません。
スクラムを導入するには、開発と製品管理からの団結した努力が必要です。
このような新しいプロジェクトでは、新しいチームを別の部屋に移動して、ポストイットメモを使用して、バックログ、進行中などのさまざまな状態で作業を視覚化してみてください。この段階で電子ツールに行き詰まらないでください、物事をできるだけシンプルにしてください。ポーカーを開始するときにカードでポーカーを計画するのは愚かなことだと思わないでください。チームのスピードが上がったら、おそらく数字を言うだけでは使用しないでしょう。
私の経験では、最初にスクラムを純粋な形式で導入し、その後、保守タイプの作業キューを増やすためにそれを緩和する方が簡単です。逆に難しいです。
私の最後のコメントは、スクラムが何らかの開発万能薬だと考えることに注意することです。そうではありません。スクラムは、製品革新のための便利でシンプルなフレームワークですが、ビジネスが必要とする他の方法を組み合わせて検討し、気にしないでください。
数年前、私は多くの大規模なエンタープライズソフトウェアプロジェクトを実行していた非常に大きな会社(従業員20,000人近く)のコンサルタントでした。私はそれらの1つにいました。非常に重要なものです。
私たちは多くの問題に直面し、開発チームである私たちにプレッシャーをかけました。問題はソフトウェア業界では一般的なものでしたが、経営陣はインフラストラクチャ指向の経験が多く、ソフトウェア指向の経験はほとんどありませんでした。だから、すべてが私たちに集中していました。経営者にスクラムについて伝えるのは素晴らしいアイデアだと思いました。
私は強い抵抗に直面したので、しばらくその考えを捨てました。しかし、問題は増え続けたため、チームリーダーのスポンサーと共に、とにかく自分でスクラムを作成することにしました。
私を含む誰もがスクラムの経験がありました。それで、フレームワークを発見しました...
現在、スクラムは認定トレーナーが管理するプログラムを通じて企業全体に一般化されています。私たちのイニシアチブがトリガーだったかどうかはわかりません。そうは言っても、それは非常に硬直した会社の本当の革命であったことを知っています。
そのような企業に何かを導入するには、次の原則を尊重する必要があります。
それはしなければならない必要がある変更します。変更を行わなければならない説得力のある理由がない場合、管理チームがリスクを取るために配置する理由はありません。
開発者が管理上の懸念の一部でない限り、開発者の問題は言うまでもなく、管理の問題に焦点を合わせる必要があります。言い換えれば、あなたのためではなく、彼らのために解決策を用意しなければなりません。経営陣の立場になってください。彼らの懸念は何ですか?
組織全体を一度に変更することを提案しないでください。責任を負うパイロットプロジェクトを提案する必要があります。プロジェクトで何が起こっているかについての可視性の大幅な向上など、現実的な目標を与えることをお勧めします。私見、ソフトウェア管理へのスクラムの主な貢献です。これにより、人間の常識が機能し、前進することができます。
最後に、経験豊富な人々がこの導入を管理していることを確認することが不可欠です。本を1つか2つ読むだけではありません。あなたは訓練に行かなければならず、私は経験豊富なコーチを使うことがむしろ必要だと思います。明らかに、それはなしで行うことができますが、それは苦痛になります:)
原則に従い、事実を知っていれば、うまくいきます。事実については、30日以内に本ソフトウェアの多くを見つけるでしょう:アジャイルマネージャーがどのようにオッズを打ち負かし、顧客を喜ばせ、競合他社をほこりにさらすか。これは、スクラムのクリエイターであるKen SchwaberとJeff Sutherlandの最新の本です。
この本に関するケンのブログ投稿で、あなたは読むことができます:
ジェフ・サザーランドと私はそれをやった。1995年のスクラムの最初の出版以来、初めて共同執筆した本を一緒に書きました。よく聞かれる質問:
スクラムを経営陣にどのように販売しますか?
私はいつもこの質問に戸惑っていました。なぜ経営者に予測可能性、生産性、品質、価値、リスク管理、満足した顧客、熱心な従業員を売り、無駄を減らしなければならないのですか?しかし、私はジェフと話をし、煙があった場所には火がなければならないと考えました。
私たちは2011年の後半を本の執筆に費やしました。管理者は、上から下まで、この本を簡単に取り上げて読むことができます。
[...]
私たちはいつもそれを見ています。(完全開示:プロジェクト管理アプリケーションを開発しています)。問題は、アジャイル方法論が伝統的に管理されている組織に固有の緊張をもたらすことです。通常、上級管理職は、事前に計画できるようにしたいと考えています。彼らは3年計画を望んでいます。適切に見積もられたプロジェクトが必要です。彼らは新しい人を雇う予算を取りたいと思っています。彼らはパートナー/顧客に関しては重要なマイルストーンにコミットできることを望んでいます。
しかし、その後、研究開発部門はアジャイルに移行することを決定します。コードを書く前に2か月間先を計画することはもうありません。スプリントは短くなり、スプリントを超えると、バックログ/ロードマップにあるものの非常に低解像度の見積もりが得られます。R&Dは、要件があまりにも頻繁に変化して従来のウォーターフォールが効果的ではないことを認識していますが、製品マネージャーは、製品が12か月後にどのように見えるかについて、明確で考え抜かれた予算のビジョンを望んでいます。
問題は、この2つを調整することです。私が言ったように、私たちはこれを常にお客様に起こっています。したがって、当社のソリューションは、スプリントと長期計画の両方を行うために使用されるツールを統合することです。さて、今ここに恥知らずなプラグの一部が来るので、塩の粒でそれを自由に取る。独自の機能の1つは、タスクの管理にズーム可能なユーザーインターフェイスを使用することです。つまり、ユーザーストーリー/タスクを掘り下げて詳細に説明するのは非常に簡単です。(ここでどのように見えるかを見ることができます)。実際、私たちのシステムには「プロジェクト」という概念はまったくありません。それは、他のタスクにリンクしている他のタスクを含むすべてのタスクです(実際にはフラクタル)。これにより、ユーザーストーリー、タスク、プロジェクト、エピックなどの間に素敵なぼかしが作成されます。
実際には、アジャイル手法を実践している多くのユーザーが行うことは、長期ロードマップ(またはバックログ)を短期スプリント(または反復)の管理とマージするテレスコピック計画を作成することです。マネージャーは、追加されるのを待っている主要な機能の素晴らしい、推定ロードマップをまだ見ることができ、開発者は単により深くズームインし、実際の作業タスクを処理します。これの利点の1つは、管理者が作業計画をレビューするときに発生する「ハグリング」の量を減らすことです。開発チームが非常に大雑把な見積もり(「4〜6週間!」)のみを提供する代わりに、問題の各ユーザーストーリーにズームインし、それを小さなチャンクに分割する機会を得ます。それを行うと、急いで交渉する余地が少なくなります。5週間のユーザーストーリーを約1日のサイズのチャンクに分割するのに10分かかりますが、そして突然、議論は「いいえ、あなたはより速くそれを行うことができます。いいえ、私たちはできません。はい、できます」ではありません。しかし、「最初の見積もりで考慮しなかったすべての隠れた作業を含め、この取り組みに含まれるものをここに示します。何を排除することをお勧めしますか?品質保証?テスト?新人のトレーニング?ビルド環境のセットアップ?」
このアプローチは、最初にドラフトを作成するのと同じくらい迅速に計画を変更できるツールを使用している限り機能します。これが最近人々が滝を嫌う本当の理由です。ほとんどのシステムでは、既存の計画を完全にやり直すことは非常に難しく、人々はこの活動に時間を浪費することを非常に合理的に拒否しています。
さて、これは売り込みになっているように感じているので、ここでやめます。:)