views:

34

answers:

2

When developing an application using agile techniques, what if any initial modelling/architecture activities do you do, and how do you capture that knowledge??

I'm not after a bullet list about XP, Scrum, Crystal, DSDM..etc as I'm familiar with the methodologies. But what do you do above and beyond the guidance given by these.

I find I work best by thinking the system through first, but also like the benefits of timeboxing, story cards, pairing, tdd.

The closest thing I've seen so far is Scott Ambler's Initial Architecture Modelling, but was wondering what alternatives are used out there?

+1  A: 

I think that a reasonably complete set of wireframes is indispensible up-front. It gives you a way to communicate with the customer before you start your coding sprints, and gives them some concept of what you're planning to build.

We just did this for a 9 month project and it went really well as a result. We weren't constrained by the design, and could branch out in different directions as we saw improvements. At the same time our customer had a visual idea of what work was done and what was yet to be done. The wireframes were especially valuable when it came time to prioritize the backlog.

roufamatic
A: 

My experience on this is trying to get the most simple basic prototype for the project and get that up and running. Determining what are the required pieces of it and what it should look like is my suggestion for a starting point. A wiki isn't a bad idea for sharing some of that knowledge though sometimes getting something up and running isn't necessarily useful for everyone to know if it isn't likely to be repeated,e.g. setting up a CI server or source control isn't likely to be repeated in a project.

JB King