I had a lightbulb experience a few years ago when I took a careful look at the
agile values and tried to compare them to the traditional business values. There really was no traditional set of
values, so I had to construct my own version.
I came up with:
1) We develop processes and tools to standardize our
interaction and maximize individuals’ productivity.
2) All of our
software has comprehensive documentation so that anyone can understand it
quickly and easily.
3) In order lock down
a plan and cost for project, we enter contract negotiation with our customers.
4) We follow a plan
in order to minimize and control change.
All of these are the
exact opposite of the agile manifesto. I
now understood that the traditional techniques of developing software were
based on control and came from a domain like construction, where the exact
layout of the product under construction could be fully understood before
beginning. Software changes too quickly
and it usually is a matter of “I’ll know it when I see it” for the end user.
I began to see that a lot of what we do these days is a
waste: determining full requirements at
the very beginning when they will change after a short time, estimating
everything to the lowest level of detail at the beginning when the least amount
was known about the project, putting together one-size-fits-all methods and
then tailoring them down to the project at hand. It’s all too much to just develop software.
I now use agile for software, running businesses, writing,
creating all sorts of non-software related products. It’s great.
No comments:
Post a Comment