優れたアジャイル開発者になるには

習慣を文化に変える

Dan Radigan Dan Radigan
トピック一覧

アジャイル開発は開発者だけが対象ではない

バグやパフォーマンス課題が多く、顧客満足度の低いソフトウェアを製品化したい人はいません。継続的インテグレーションコード レビューでこの問題を防げるはず … ですが、そんな時間は誰にもありません。ならば、アジャイル チームが時間を作ります。

アジャイル開発者は、持続可能な (大げさなものではない) 開発に集中します。持続可能性とは、見積もりがしやすく、コード管理を対象とした有効なブランチング戦略、品質を維持するための自動化テスト、ユーザーからのフィードバックを迅速に受け取れる継続的デプロイのことです。持続可能な開発を実践的に採用するには、私たちの多くは、個人的に規律が求められます - この実現に奮闘することも多いでしょう。なぜなら、孤立していては誰もアジャイルになれないからです。組織全体のカルチャーが背後で結集する必要があります。つまり、プロジェクト リーダーに、スコープやスケジュールよりも品質が重要といった見解に賛同させることです。これは往々にしてアジャイルを採用するうえで最も困難な部分になります。

しかし、それだけの価値があります。開発者はソフトウェアの持続可能性を開発するにあたり、自由と責任を手に入れ、なおかつ、ビジネスとの良好な関係を維持できます。また、ビジネスは高品質の製品を市場に送り出せるため、エンジニアリングとの関係を強化することになります。さらには(ここが一番肝心なところ)、アジャイル開発者が「デスマーチ」に苦しむことがほとんどありません。高品質維持のため予想よりも時間が掛かってスケジュールに後れをとっても、鉄のトライアングルのスコープ面でこの現実に柔軟に適応できます – 誰も週末まで仕事に追われることはありません。

ソフトウェア開発者なら誰でも、プロジェクト管理の「鉄のトライアングル」 - スコープ、スケジュール、品質 - を知っているでしょう。私たちの多くは、スコープは絶対、スケジュールはぐちゃぐちゃ、開発は技術的負債に圧し潰されたプロジェクトに加わったことがあるはずです。ときに - 泣きっ面に蜂で - 最終製品は市場が求めているものではなかったり。苛立たしい反面、悲惨なくらいありがちです。

でも、心配無用:いい知らせがあります。

アジャイル開発なら、スコープは動的に可変性を持つため、チームは品質を維持し、活気ある開発カルチャーを築き、ビジネスと密に一体でいることができます。Atlassian では、アジャイルはあらゆる開発チームの中心的存在です(開発チーム以外でも!)。これには納得のいく理由があります。

強固な技術的基礎を製品に、コラボレーション文化をチームに築くことを実践すれば、一人一人が自信を持てます。アジャイルチームの開発者は今まで以上に熱心に仕事に取り組み、より優れたコードを作成し、楽しみも増えます。

強いつながりはより強力な製品となる

アジャイルとはチームワークです。今となってはソフトウェアのほとんどがチームによって構築されているので当たり前ですね。開発者は製品管理、デザイン、QA、運用と強力な関係を築いています。というのも、持続可能なコードを作成することは、プロジェクトの全面と常に繋がっていることになるからです。Atlassian は、開発者がビジネスの他部門と直接作業を行えるようにすることで、コードの品質と開発者の満足度において多大な有益性を得ています。コードが優れていれば、「スラッシュ」(作業の重複や矛盾した流れ)は減ります。効率的に部門間で協力しても、利点はわずかなものです。

アジャイル開発者|アトラシアンのアジャイルコーチ

教育も重要です。アジャイル チームは、クロス トレーニングを互いに実施し、コード ベースのナレッジがチーム全体に行きわたっているか確認しています。これを実施する方法の 1 つはコードレビューです。品質維持のためだけでなく、チーム全体でコードに精通している者の相互交流という意味で行います。ナレッジの伝播程度に関わらず、アジャイル チームでは、特定のコード エリアを理解している開発者が 1 人しかいないために、クリティカル パスとなって休暇も取れない、ということはありません。そのような開発者になりたい人などいないからです。

また、アジャイル開発者は、アジャイルチームは独立組織であり、メンバーに新しいスキルを身に付けるチャンスを与えられるため、ウォーターフォールのカウンターパートに対し、製品の技術スタックのあちらこちらを駆使してもっと楽に作業ができます。事実、UI から DB まで、機能全体で作業を遂行する開発者がコードの大部分のオーナーシップを取っています。Atlassian では、チーム全体、会社全体ででナレッジを共有することの正当性を確信しているため、フルスタック開発者を育成しています。

コーディング、文化、アジャイル開発を素晴らしいものにする

アジャイルになるには、組織で偉大な開発文化を築くに限ります。この先を読み続けて、さらに有効なブランチング戦略自動化テスト技術継続的インテグレーション、ビジネスの他部門と有効な関係の構築について学んでください。次の記事では、多くの開発者がアジャイルへ移行する過程で行ってきた具体的な変更と、そのおかげで成功した経験についてさらに深く掘り下げていきます。

アジャイル開発は長旅です。随所で、私たちが陰から見守っています。