Agile vs. Architecture

No matter which development method you will use for a project, there is one very important questions, that all of them need to address: How much should we plan ahead?

Remember the diagram from the preparation, that listed some development methods based on the amount of planning:

**The spectrum of development methods:** Aligned on an axis that goes from a waterfall model with lots of planning on the left towards pure hacking without planning to the right.  

Think of your own semester project:

So how much should you plan?

Discussion

Before we continue, let's have a discussion on the challenges and benefits with planning:

Unfortunately, there is no simple answer. Instead, managing a development project means to constantly think about adequate planning. It means to review progress, routines and watch out for warning signs. What helps is to be aware of the different forces that are at work during development, forces that can either require to plan more or to plan less.

The figure below illustrates the forces (in red) that influence a development team, and the strategies (in blue) that can be applied to mitigate them:

A development faces forces (in red), and should react with strategies (in blue).  

The forces and strategies were identified by Waterman, Noble and Allan in their article How much up Front? A Grounded Theory of Agile Architecture. The following are the more detailed descriptions of the forces (paraphrased from the original article).

Task: Go through them, one by one. To understand them better, try to identify what they mean by naming examples from your specific semester project. Make notes.

And here are the detailed strategies, which help to mitigate the challenges caused by the forces:

Task

Make a copy of the diagram below, and move the forces on the right side to the right place.

Here is also a link to the diagram.

With some discussion you should be able to place all forces and strategies so that the entire diagram makes sense. These are the considerations you have to do in a development project!

Copy a screenshot of the final puzzle into the document where you also made notes on the examples for each of the forces. Deliver on Teams in the folder for this unit, under file name ttm4115-team-xx-agile-forces.docx.

Team Reflection

Individual Reflection