スラッシュ区切りのAgile Software Guide


スラッシュ区切りのAgile Software Guide

Published at September 13, 2019 11:35 a.m.
Edited at September 13, 2019 11:52 a.m.

今日は、Martin Fowlerが考えるアジャイル開発の本質を翻訳ではなく彼自信の言葉で読んでいきたいと思います。

Agile Software Guide

In the last decade / agile software development has moved / from being a cult technique / to an increasing part of the mainstream. I was lucky enough / to be / at the beginning of this story, with early experiences / on the 'birth project' of Extreme Programming / and a co-author of the Manifesto for Agile Software Development. ThoughtWorks started / using agile techniques / in 2000 / and we've since successfully used them / on our projects world-wide. We've learned / a huge amount / about using agile methods / in enterprise settings / and are committed / to sharing this learning / to help foster their intelligent adoption.

The Essence of Agile Software Development

It's been over a decade / since / the developers of agile methods / first started to talk / about their approaches. In this time / agile thinking has changed / from a niche activity / to an approach / that is widely used. However, like any popular technique, agile software development has suffered / from semantic diffusion, so much of / what we see / under the name of agile / doesn't bear much resemblance to / what the early pioneers were doing. So I think / it's important / to revisit the essential elements of agile thinking.

* semantic
connected with the meanings of words

* diffusion
the spreading of something more widely

I've always seen / the essence of agile thinking / resting on two contrasts / with traditional plan-driven software engineering:

Plan-driven engineering expects us / to come up with a predictive plan / that precedes development. The plan lays out / the people, resources and timelines / for the overall project. Software design is also done up-front, with implementation expected / to conform with this design. Success is measured / according to how well development follows this plan.

Agile plans are a baseline / that we use / to help us control changes. Agile teams plan / just as carefully / as traditional teams, but the plans are constantly revising / to reflect the things we learn / during a project. Success is based / on value delivered by the software.

Plan-driven engineering seeks a process / which provides enough structure / to reduce individual variations to insignificance. Such an industrial process / is more predictable, copes better / when people transfer, / and is easier / to define skills and career paths.

Agile engineering sees / software development as a primarily human activity, / where the people involved / and how they bond as a team / are the primary driver / behind success. Processes (and tools) can enhance / a team's effectiveness, but are always second-order influences.

* primarily
for the most part; mainly.