tags:

views:

240

answers:

4

I am a long time agile advocated but one of the things that bothers me about Agile is that a lot of agile practitioners, especially the younger ones, have thrown out or are missing a whole lot of good (non Scrum, non XP) practices. Alistair Cockburn's style of writing Use Cases springs to mind; orthogonal arrays (pairwise testing) is another.

I read mostly Agile related books and articles and work with mostly Agile folk ... is there anything I'm missing?

+3  A: 

It might be interesting in 5-10 years time to see how maintainable these systems are when nobody wrote down why a particular decision was made and all the people involved have left.

Martin Beckett
What kind of myth is that? Agile != no documentation. Write it just in time, and just enough.
Pascal Thivent
There is a big difference between Agile in textbooks and Agile in practice - and the first thing that gets dropped is anything that isn't code.
Martin Beckett
That's why testing goes hand in hand with Agile, because your tests should be your documentation to a fairly great extent.
Joseph
Dropped by who? If the Product Owner wants documentation, he'll get it. This is a management issue.
Pascal Thivent
I would be more interested in how finding out how the business knowledge is relayed from person to person in an Agile system versus in a 'traditional' system.In my experience (mostly 'traditional', 3 months of agile), business knowledge is transferred from person to person; none of it is from document to person.This is related to my coworker's recent naming of the process of removing comments from code as 'Removing the Lies'.
CWF
Often a lot of 'why' is captured in the spec. we store this field because it's required by this tax-code/this customer/this set of hardware. Often this is lost in the agile 'code is only the documentation/spec/deliverable' model
Martin Beckett
Often specifications contain a lot of outdated crap after... the first release.
Pascal Thivent
Most documentation is never read by anyone and gets stale within a year or two because nobody updates it, either because they no longer remember it's there or because they simply can't be bothered. That's the reality.
armandino
A: 

(...) have thrown out or are missing a whole lot of good (non Scrum, non XP) practices.

Scrum is not prescriptive, it's up to you to choose how to do things. In other words, nothing forces you to use User Stories for example (even if User Stories work for lots of teams, there is no consensus) so feel free to use (light) use-cases if you think they are more appropriate in your context. To illustrate this, Jeff Sutherland reported he would never use User Stories again for PDA device projects (they use some kind of "light specifications" in his current company). And the same applies for testing, use whatever works for you. To summarize, if you find XP not flexible enough, use something else... and inspect and adapt.

Pascal Thivent
A: 

Iterative development.

In practice, agile teams may do iterations (or anything for that matter, agile is a kind of "true scotsman"), but agile processes don't require or define iterative development sufficiently.

Take RUP, for example - clumsy and bloated, it does compile a few good methods for long-term development that agile misses.


On a general note, agile is a way to steer clear of problems: how to avoid long term planning, how to keep teams small, tasks short, customers involved, etc. It works more often than not, but sometimes you have to face and solve problems: how to reach strict deadline, make big team work, achieve distant and complex goals, make customer refine requirements. That's when one needs to look beyond agile.

ima
+1  A: 

is there anything I'm missing?

Yes, I think a lot, but only if you are interested in Softawre Development Processes.

I like this paraphrase:

Each project should be as agile as possible but not more agile.

Not every project can be agile... but I think 80%+ can.

I see Agile as "car of the year". It is very well suited for most of the people, but if you need/want something special, for example car able to speed 300KM/H or car able to carry 20 tons of goods you need something else.

There is also so many cases when one may want something else than "car of the year" that requires a book to write them down :-) I recommend you Agility and Discipline Made Easy: Practices from OpenUP and RUP. In this book you'll find many "missing parts" very well illustrated. The key to understanding is that Agility is only a (requested) property of software development process which sometimes cannot be achieved. The book describes several Key Development Principles (which are basis for RUP) and explains which level of "ceremony" and "iterativeness" follows from using them on different levels of adoption.

An example

Practice: Automate change management and change propagation

In your project you may require very advanced and strict change management and decide to "Automate change management and change propagation" by implementing custom or re-configuring existing tools and by using Change and Control Board.

Effect: This most probably increase level of "ceremony" in your project.

koppernickus