10試行およびテストされたアジャイル開発のヒント
公開: 2020-05-04ほとんどの人は、プログラミングとソフトウェア開発を、コンピューターオタクが部屋に押し込められ、数百万行のコードを打ちのめす孤独な追求だと考えていますが、それは真実からはほど遠いものです。 実際のソフトウェア開発は重要なグループの取り組みであり、さまざまな専門分野を持つ開発者のチームが協力して、機能的で使いやすく、適切な機能が満載のソフトウェアを考案する必要があります。
開発サイクル全体を通して開発チームを同じページに配置するということは、プロセスを最も容易にするモデルに従うことを意味します。 ウォーターフォール、スパイラル、Vモデルなどの名前で、ソフトウェアがどのように開発され、構想から完成品を手に入れ、それを維持するかを示す名前が何年にもわたってあります。
画像出典:AdamWeisbartによるアジャイルマニフェストポスター。
多くの大規模な開発者が現在考えているプロセスは、アジャイルと呼ばれるものであり、適応性と絶え間ない進化というコアの信条にちなんで名付けられました。 アジャイルマニフェストと呼ばれるものに基づいており、経験豊富な開発者の小グループによって書かれています。
彼らは、コラボレーションを開発の中心的な柱と見なし、要件とソリューションの両方をそこから進化させることができます。 アジャイル開発は習得するのにかなり時間がかかりますが、ここにあなたを助けることができる10のヒントがあります。
開発者とテスターのための優れたハードウェア
ラップトップを使用してコーディングすることは可能かもしれませんが、十分な数の機器を使用してソフトウェアを開発することをお勧めします。 また、パフォーマンスの問題に関係なく発生するバグや不具合を確認したいので、テスターが仕事をするための高品質のマシンを用意することも同様に重要です。
しかし、プログラマーが本当に望んでいるのは、コードを書き込むための画面領域をできるだけ多く持つ複数のモニターです。 コードの入力はパンとバターであるため、優れたキーボードも大きな後押しとなります。メカニカルキーボードは耐久性があり、入力に最適です(少なくとも触覚スイッチを備えたキーボード)。
結果に焦点を当てる
誰のアイデアが正しいかということは決してありませんが、正しいアイデアを思いつくのです。 結局のところ、方向は上層部から来ています。アジャイルの初期の頃は下から上に来ていたのとは異なります。 これは、上級管理職がプロジェクトの監督と管理に集中できる一方で、開発者は上級管理職によって設定されたパラメーターと境界に従いながら作業に集中できるため、最良のプロセスフローであることがわかりました。
このトップダウンの管理モデルにより、開発チームは具体的で測定可能な結果を生み出すことが期待されます。 彼らは、コードだけでなく、実際に意図したとおりに機能しているものを持っていることで、自分の仕事を示すことができなければなりません。 次に、これは、アジャイル開発で大きな役割を果たすプロセスであるテスト駆動開発(TDD)を介して呼び出し音の下に置かれます。
最初に継続的デリバリーを実装する
基本的に、それを続けてください。 これにより、開発が一定のペースで達成され、開発者が早期に頻繁にフィードバックを受け取るようになります。 絶え間ないコミュニケーションとフィードバックがアジャイル開発のすべてであり、チームが必要に応じて突然の変化や予期しない状況に適応できるようにします。 これが「ビルド」の出番です。
ビルドは基本的に、開発中のソフトウェアの使用可能なバージョンです。 継続的デリバリー(CD)の概念を通じて、連続するビルドを頻繁に展開する必要があります。各ビルドは、前のビルドのフィードバックから引き出された改善と修正を行った後にリリースされます。
上級管理職のスポンサーを獲得する
アジャイル開発は上から下へのアプローチを取りますが、何かを実装または変更する前に、上級管理職からの大丈夫を待つのはかなり時間がかかる可能性があります。
間違って行うと、許可が与えられるのを待つのに多くの時間が無駄になる可能性があります。 良い解決策は、開発者から権威への懸念をより迅速に受け止めることができるスポークスマン、できればアイデアを売り込むのが得意で、求められていることを理解できる人を雇うことです。
より短い開発とテストサイクルへの移行
開発地獄は、主要なソフトウェアを含む多くのソフトウェアに浸透しています。 また、開発サイクルが長いと、最終的にユーザーに拒否される機能が発生する場合があります。そのため、サイクル全体が時間とお金の大きな浪費になり、会社はすぐに回復できない可能性があります。 これらの脅威を軽減する良い方法は、開発とテストのサイクルを短縮することです。
アジャイル開発は、フィードバックの流入を含め、物事をできるだけ早く進めることがすべてであるため、「最小限の実行可能な製品」を生み出すには、開発サイクルを短くすることが重要です。 これにより、ユーザーは自分の歯を沈め、それに応じてフィードバックを提供できるようになります。これは、次のビルドで対処できます。
初日から自動化を実現
AD1とも呼ばれます。これは、すべてをできるだけ早くセットアップすれば、確実に物事をより速く進めることができる高い目標です。 現実的には、2年目または3年目までにすべてを自動化できる可能性がありますが、少なくとも、可能な限り1日目はそれを完了し続ける必要があります。
それは時間の節約であり、あなたがそれを十分に考えれば命の恩人でさえあります。 単純なプロセスを自動化することで、開発者や他のメンバーが不必要な忙しい仕事に対処する必要がなくなります。
実効チーム比率
ことわざにあるように、「料理人が多すぎるとスープが台無しになります」。 チームのメンバーが少なすぎると作業が難しくなる可能性がありますが、多すぎると同じように悪い結果になる可能性があります。 あなたがそれらを支払わなければならないので、プロジェクトにあまりにも多くを持っていることはまた財政の大きな浪費です。 したがって、プロジェクトとチーム自体のニーズ、および与えられた時間枠と他の多くの要因を考慮することが重要です。
未解決の問題を計画する
チームはすべての問題を修正しようとすることができますが、問題が発生したり、未解決の問題が発生したりする可能性が常にあります。 これは、これらの未解決の問題を次の開発サイクルで処理することによって処理されます。
フィードバックを求める
これを十分に強調することはできません。フィードバックはアジャイル開発の生命線です。 ソフトウェアの進化を助けることができるのはデータであり、開発者と上級管理職の両方が、少なくとも現在および長期の両方で最も差し迫ったものに注意を払う必要があります。
プロセスの評価
ここで、作業中のソフトウェアだけでなく、開発プロセスも評価する必要があるため、開発の進化が始まります。 微調整できることはたくさんありますが、現在のプロジェクトと将来のプロジェクトで、特定の時間枠で最良の結果をもたらすことができるものを決定する必要があります。