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

習慣を文化に変える

Dan Radigan Dan Radigan
トピック一覧

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

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

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

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

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

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

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

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

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

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

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

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

また、アジャイル開発者は、ウォーターフォール型の開発者と比較すると、より簡単に製品の技術スタックを活用できます。アジャイルチームは独立組織であり、メンバーは新しいスキルを身に付ける機会を与えられているためです。事実、UI から DB まで、機能全体を供給する開発者がより多くのコードの所有権を担っています。アトラシアンでは、チームおよび会社全体で知識を共有することの正当性を確信しているため、フルスタック開発者を育成しています。

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

アジャイルとは、組織において優れた開発文化を構築することにほかなりません。効率的なブランチ戦略自動化テストの技術継続的インテグレーション、ビジネスの他の部署と効率的な関係性を構築する方法についてご覧ください。以下の記事は、アジャイルへの移行において何千もの開発者が実施し、そのために成功した特定の変更について詳しく記載しています。

アジャイル開発は長旅です。アトラシアンは随所で見守っています。