GrowingAgilePractices2004 Identifying Ways to Promote a more Agile Workplace.

Topic: Growing Organically

Initiator:Rick Innis

Participants: Rick, Dan Shields, RegBraithwaiteLee, Charlie Trainor, George Latkiewicz

Discussion Summary:

What does this mean?

All software exists in an ecosystem - software, hardware, business rules and processes.

Software always changes/mutates - change requests, bug fixes, unexpected exploitation of features.

Can it be any of these:

Some analogies from organic gardening: companion planting, crop rotation. Are there analogies to these in software development: pair programming, lifecycles, buyébuild decisions.

Self organization and success. Book reference: Paul Hawken, Growing a Business.

Pesticides: HR, factory mentality, traditional methodologies

Organic thinking is part of long-term, sustainable thinking. Should we be thinking about sustainable development in the software world.

Do the 7 ages of man apply: gestation, birth, growth, maturity, death. (I`ve missed a few.)

What are the limitations. What are the alternatives. (Directed design)

Note: evolution is discontinuous.

Evolution leaves baggage: we don`t lose things that aren`t harmful. Sometimes these suddenly become critical. Evolution helps things survive or thrive in a niche.

Discussion example: LaserWriter?. Overpowered for what it needed to do until PageMaker? hit the marker. The combination invented the DTP market.

Does this mean we canéshould build in capacity for evolution.

Analogy from biology: redundancy can help evolution.

Product development versus custom development.

A survivable product relies on successfully predicting a future ecology - is this pesticide.

Does organic software have requirements. XP doesn`t

Where`s the creativity come from. e.g. The Laserwriter was`t needed to make the DTP market.

Costraints drive creativity. Ecological constraints affect the solution space.

Good versus even better. Requirements are usually narrowly focused and overlook a wider context.

We need mutations to evolve. Too much mutation is unsustainable. Edge of chaos, or alternation between stability and chaos. Stability versus sustainability.

Example: unit testing is a practive that helps define and enforce contraitns. Does this speed evolution. It can inhibit it as well. Code mass can inhibit evolution

Processes versus products.

Conclusions / Proposals / Actions:

Most important insight to me: Is Organic Development a meta-process to help identify practices that `work`in a given environment. NB: definition work depends on objectives. Stability versus disruption.

Post-Meeting Discussion:

Suggestion: if you decide to take this discussion offline to a newsgroup, please indicate the location of the group here so others can join you.