David Anderson nicely points us to a review of Alistair Cockburn's book, which in turn brings up some questions from his approach:
- Interactive, face-to-face communication is the cheapest and fastest channel for exchanging information.
- It is probably the cheapest and might be the fastest but is it the best way? This is a context dependent question.
- Is it cheap and fast to exchange information about the rendezvous and docking requirements for the International Space Station unmanned cargo vehicle? Doubtful
- Is it cheap and fast to exchange information about the producing and updating the customer database from a CRM system for a web cast? Probably
- Excess methodology weight is costly.
- What are the units of measure for "excess?"
- Non-value adding methodology is costly. What are the "units of measure" of value?
- The statement above is a tautology and requires challenge up front to create a context, measure of performance and applicability to the problem domain.
- Larger teams need heavier methodologies.
- Probably so
- Greater ceremony is appropriate for projects with greater criticality.
- Yes
- Increasing feedback and communication reduces the need for intermediate deliverables.
- This seems counter intuitive to the agile development processes.
- Where are the working artifacts on fine grained boundaries we've all promoted over time?
- Discipline, skills, and understanding counter process, formality, and documentation.
- Process, formality, and documentation without discipline, skills and understanding add little value.
- Process, formality and documentation are domain specific.
- Would I want to receive the rendezvous and docking algorithms from the subcontractors without their documentation, requirements coverage certification? probably not.
- Would I want that team to follow an informal process for verifying and validating their embedded software? Probably not.
- Efficiency is expendable in non-bottleneck activities.
- I can't say. Never been on a project where there were non-bottle neck activities.
David's claim that it was unheard of four years ago to speak about bottle necks and constraints in software engineering begs the question - "maybe David needs to get out more..."
Bottle neck removal is a core outcome of any probabilistic critical path tool, used for shop floor management, software development, or building spacecraft capable of flying to Mars. Constraint removal and probabilistic critical path analysis and subsequent removal is the core capability of tools like SAS, used in manufacturing, construction, distribution systems and the software used to run them.
I know some in the agile community hold the idea that the world of optimization of work effort - whether it be software development, boiler feed pump maintenance, or warehouse material staging - started with their understanding of "agile" processes. Too bad its too narrow an understanding.
But it does bring a smile to my face when I hear them speak in the first person about how they've influenced the world . They probably need to meet some of the "gray beards" in aerospace, large construction, and petrochemical operations, along with the software software developers of those firms.