How to be an awesome agile developer

習慣を文化に変える

Dan Radigan Dan Radigan

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

Nobody wants to ship software with lots of bugs, performance issues, and low customer satisfaction. Continuous integration and code reviews help prevent this... but who has the time, right? Well, agile teams maketime.

Agile developers focus on sustainable development–not heroics. Sustainability is about good estimation, effective branching strategies for managing code, automated testing to protect quality, and continuous deployment to get fast feedback from users. Adopting sustainable development practices requires a discipline most of us aspire to–but often struggle to realize–as individuals. That's because nobody can go agile in a vacuum. The culture of the entire organization has to rally behind it. That means getting project leaders to buy into the notion that quality is more important than scope or schedule, which is often the hardest part of adopting agile.

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

All software developers know the "iron triangle" of project management: scope, schedule, and quality. And most of us have been on projects where the scope was inflexible, the schedule got mangled, and development was overwhelmed by mounting technical debt. Sometimes–just to add insult to injury–the end product wasn't even what the market wanted. That's a frustrating, and tragically familiar, place to be.

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

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

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

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

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

Agile developer | Atlassian agile coach

Mentoring is big, too. Agile teams cross-train each other to ensure knowledge of the code base is spread throughout the team. One way this is done is through code reviews, which not only protect quality, but cross-pollinate familiarity with the code across the team. Regardless of how the knowledge spreads, agile teams don't end up with critical-path developers who can't go on vacation because they're the only ones who understand a particular area of code. Because nobody wants to be that developer.

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

Coding, culture, and making agile development awesome

Going agile is all about building a great development culture in your organization. Keep reading to learn more about effective branching strategiesautomated test techniquescontinuous integration, and creating effective relationships with other parts of the business. The next articles will dig deeper into the specific changes thousands of developers have made during their transition to agile, and prospered because of it.

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