欲しくない人を見つけるのは難しい敬意を持って扱われます。しかし、この状況には理由があるに違いありません。たとえば、ある人がソフトウェア開発の分野で一流の認められたスペシャリストである場合です。そしてこれのためにあなたは勉強する必要があります。そして、この記事の枠組みの中で、アジャイルとは何か、その使用法は何か、そしてこのテクノロジーをどのように理解するかを検討します。
一般情報
まず、技術的な問題に取り組みましょう瞬間。アジャイルとは何ですか?この単語の英語からの翻訳(文字通り)は「生きている、モバイル」であり、「柔軟」は少し少ない頻度で言及されています。ちなみに、それは略語です。このアプローチのフルネームは アジャイル ソフトウェア開発。でも長すぎるのでカットすることにしました。そして今、彼らはただアジャイルと言います。 「柔軟」としての翻訳は、実際の状況に最も近いという事実のために使用されます。
ここには何が含まれていますか?
私たちはアジャイルとは何かを引き続き検討します。ここでは、これが柔軟なアプローチであり、多くの異なる方法論(スクラム、XP、かんばん、リーン)に基づいているという事実に焦点を当てたいと思います。トピックをよりよく理解するために、類似点を描きましょう。アジャイル技術が宇宙の誕生の過程であるとしましょう。最終的な製品は、既存の世界そのものです。そしてビッグバンはあなたが直面しなければならない最も苦痛な問題です-製品要件のリストを変更します。通常、作成プロセスにはウォーターフォールモデルの使用が含まれます。この場合、すべてが順番に段階的に行われます。このアプローチは簡単に表現できます。私は目標を理解しています-私はそれに行きます。また、最終結果の要件が変更された場合は、ほとんどすべてを新たにやり直す必要がある場合があります。この状況をさらに複雑にしているのは、すべてが順調であり、前進する必要があると偽る試みです。
そのため、管理方法論であるアジャイルは、その柔軟性のおかげですべてと戦う。この寄せ集めは、一連の原則を使用することでさまざまなリスクを最小限に抑えます。それらはすべて、2001年にリリースされたアジャイルマニフェストに反映されています。簡単に言うと、次のように聞こえます。
- 主なものは人であり、物ではありません。
- 協力して、契約書を読まないでください。
- ドキュメントは作業の妨げにならないようにする必要があります。
- できるだけ早く変更してください。
曖昧すぎて正確ではないように見えるかもしれませんが、詳しく説明しましょう。
プロセス設計
アジャイルとは何かを考えて、「スクラム」(スクラム)として知られている最も人気のある方法論の1つに目を向けましょう。彼女は何を提供しますか?開始するには、次のものが必要です。
- プロダクトオーナーを選択します。この役割は、あなたがどの目標に到達する必要があり、最終的に何が起こるかを理解している人に適しています。
- チームを決定します。これには、結果を得るスキルを持った3〜10人のグループが必要です。
- 責任者を選択してください。これは、プロジェクトの開発を監視し、チームが困難を回避するのを支援する人です。
- 困難に対処する。既存のすべての製品要件を1か所に集めて、優先順位を付ける必要があります。プロダクトオーナーは、ここですべての願いを集める必要があります。次に、チームはそれらを評価し、それを実装できるかどうか、およびこれにどれだけの時間が必要かを理解します。
- 作業範囲全体を1〜2週間の期間に分割する必要があります。その間、チームは特定の一連のタスクを実行します。
- 会議は毎日15分以内に開催する必要があります。議事は、昨日何が行われたか、今日の計画は何か、そして私たちが高みに立つことを妨げる障害について話し合うべきです。
- 週末(2回)にレビューを行い、その間にチームは何が行われたかについて話し合います。同時に、製品の部品の性能を実証する必要があります。
- 各期間の後、問題について話し合い、解決策を模索する必要があります。さらに、すべての開発はすぐに実施する必要があります。
アジャイルを認識する方法は?
選択した方向に関係なく、管理方法には常に次の機能があります。
- リスクの最小化。これは、柔軟なアプローチによって追求される主な目標です。
- 反復型開発。この場合、小さなサイクルでの作業が意味されます。
- 最も重要なことは人と彼らの間のコミュニケーションです。
川を想像してみましょう。顧客の片側。 2つ目はチームです。この場合、アジャイル開発手法には誰にとっても利点があります。
- 顧客は最小限の実行可能な製品を望んでいます。同時に、作成中に条件が変更される場合があります。
- チームが同僚や顧客とコミュニケーションをとるのに役立ちます。この場合、誤解のリスクが最小限に抑えられ、プロセスの透明性が高まり、問題が迅速に解決され、製品を作成するときに驚きが生じる可能性が低くなります。
社会的要因
アジャイルとは何かについて話すとき、通常はポジティブなことだけを話しなさい。実際、チーム内のコミュニケーションは改善されています。すべての人は1つのアイデアに焦点を合わせ、自分たちの間に秘密を作成せず、コミットメントを行います。その結果、チームは快適な状態で速いペースで作業します。このアプローチにより、混乱を合理化できます。
その形成以来、それは見つけることができましたテクノロジー業界での認知。現在、新しいソフトウェア製品の設計に広く使用されています。しかし、一般的なビジネス慣行では、このアプローチはまだほとんど知られていません。したがって、これまでアジャイルに会ったことがない人は注意が必要です。また、人々が知的労働の仕事に直面している場合にのみ使用されるべきであることも理解されるべきです。
小さな例
これらの方法論がどのように機能するかを見てみましょう。ソフトウェア開発。製品の所有者であるPeterがいるとしましょう。彼は技術的な詳細を知りませんが、全体像のビジョンを持っています。彼は、製品が必要な理由、製品が解決する問題、および製品が誰を満足させるかを知っています。利害関係者もいます。彼らは製品を使用したり、その作成をサポートしたり、あるいはその作成に関与したりすることができます。利害関係者の希望を表現するユーザーストーリーを追加することもできます。例:モスクワ-サンクトペテルブルクの定期バスのチケットを予約するシステムでは、フライトを検索する必要があります。ピーターは興味のある人を助けます。ユーザーストーリーのアイデアから実装を制御します。開発チームもあります。これらは、作業システムを構築する人々です。
アジャイル手法を使用しているため開発後、ユーザーストーリーは大きなリリースまで蓄積されませんが、完了直後にできるだけ頻繁にリリースされます。処理されるリクエストの数は、チームの1週間のスループットです。勢いを失い、手動テストで行き詰まらないように、チームは自動統合に取り組む必要があります。それは何ですか?自動テストは、作業の瞬間ごとに作成されます。ストーリーが多すぎると、ラッシュ、モチベーションの低下、生産性と品質の低下が発生する可能性があります。そのような場合には、「昨日の天気」という方法が提供されます。それは、作業量に厳しい制限を設定し、正確に何を実装するかを慎重に選択する必要があるという事実にあります。前述の「かんばん」は、タスク制限を設定することを提案しています。
キューをどうするか?
さて、チームは彼女ができると決めました週に4つのストーリーを処理します。しかし、それがすべてであるすべてをナビゲートする方法は?ユーザーが週に10件の記事をアップロードするとします。 4つが処理されています。したがって、キューは常に大きくなります。この場合、効果的な方法は「いいえ」という言葉だけです。プロダクトオーナーにとって、これは非常に重要です。 「はい」と言うのは難しいことではありません。何をしないかを決めることははるかに難しく、より重要です。また、これについても責任を負う必要があります。したがって、今何に注意を払い、何を延期すべきかを決める必要があります。適切に優先順位を付けるには、プロダクトオーナーは、各ストーリーの価値と範囲を理解する必要があります。
私たちは決定を下します
いくつかの話は非常に必要です。その他は素晴らしいボーナスです。一部のストーリーは、開発に数時間かかります。他の人は完了するのに数ヶ月かかるでしょう。多くの場合、ストーリーのサイズとその価値の間に相関関係があります。しかし、これは常に正しいとは限りません。より多くはより良いと同じではありません。手元のタスクの複雑さと価値は、ピーターが正しく優先順位を付けるのに役立ちます。これらの特性をどのように定量化できますか?とんでもない。これは本当の推測ゲームです。そして、より効果的にするには、多くの人を巻き込む必要があります。これは、作業範囲と関係者について通知する開発チームです。ただし、この方法で取得されたすべてのデータは概算であると理解する必要があります。ここに正確な数はありません。最初は、ミスがあります。しかし、経験を積むにつれて、それらの数と規模は減少します。
潜在的なリスク
問題を回避するためには、多くの質問に正直に答える必要があります。これは:
- 私たちは正しいことをしていますか?これはビジネスリスクです。
- 必要なものを実装できますか?これは社会的リスクです。
- プロジェクトはこのプラットフォームで機能しますか?これは技術的なリスクです。
- 十分なお金はありますか、そして時間はありますか?これらは、実装条件とコストのリスクです。
この場合、知識が必要です。それらはリスクの反対と見なすことができます。かなりのレベルの不確実性が修正されると、知識を獲得します。たとえば、インターフェースのプロトタイプや技術的な実験を作成します。そして、すでにそれらを所有しているので、私たちは進むべき方向について決定を下します。
学ぶ方法は?
IT業界は非常に急速に発展しており、最終的に負けないようにするためには、常に学び、スキルを向上させ、作業効率を上げる必要があります。したがって、トレーニングと実装の問題はこれまで以上に関連性があります。どこから始めますか?最良の選択肢は、すでにアジャイルを使用している会社と協力することです。この場合のトレーニングは、アジャイル開発とは何かを聞き取りでは知らない人々によって行われます。しかし、残念ながら、これが常に可能であるとは限りません。ほとんどの場合、アジャイルとは何かを知っているサードパーティのスペシャリストが関与しています。このアプローチの実装は、彼の監督の下で実行されます。確かに、そのような専門家のサービスにはお金がかかります。しかし、あなたが本当に知識のある人を手に入れれば、すべての費用は見事に報われるでしょう。実際、現代の世界では、従業員の効率が重要な役割を果たしています。
将来に向けて何が待ち受けていますか?
ソフトウェア開発の方法論は常に進化しています。活動と仕事の効率を改善するための新しい方法と機会を探しています。将来が私たちに何をもたらすかを言うのはかなり問題があります。おそらく、柔軟な開発システムは生産プロセスの自動化と統合されるでしょう。たとえば、会社の所在地から離れていても問題を解決することができます。多くの点で、未来は新しい情報技術によって決定されます。結局のところ、それらが発生したとき、あなたはそれらを扱う新しい方法を習得する必要があります。そしてこの場合、サイクルで閉じられた開発があります。
結論として
これで、柔軟な方法への遠足は終わりです。発達。しかし、理論は1つのことであり、実践はまったく別のことであることを思い出してください。絶えず出現している新しい情報技術は、大規模な開発者コミュニティに挑戦しています。チームをより効率的にするにはどうすればよいですか?誰もがこの質問に対する答えを自分で見つけます。ここに示されている情報は、バックボーンを形成するために使用できます。ただし、実際には、既存のモデルを使用して、状況を既存の課題に準拠した状態にする必要があります。そうすれば、チームはその目標を効果的に達成できるようになります。