
In my last posts, I introduced what I call the Agile mindset. Last week, more particularly, I concluded by presenting three methodologies I like: Lean, Scrum, and Extreme Programming. However, we at graphility are not a strict software development company… Our projects focus on design & identity, with code appearing only on our clients’ web presence. While I do not think this is a hindrance to Agile adoption, how do we accomodate for the creative process in this new workflow?
Iteration 0
Complex engineering projects start with a huge analysis and research phase. Beyond usual time and cost requirements, there are physical constraints that demand a careful design nothing short of excellent. That said, the closer a project is to unexpected human interaction, the more it has to adapt to these possible changes. I bet a civil engineer building a nuclear plant does not have to be as flexible as an architect designing homes, right? In that regard, our modern Human Computer Interactions are more aching to a very loose form of architecture, one that can possibly be remodeled anytime. Iteration 0 is the reminiscence of our forefathers’ thought process. It is a minimal design and analysis upfront, in order to provide vision and structure to the upcoming creation. Minimalism ensures that changes will be possible, and it is enforced through a short timeframe — in our case, two weeks max.
Critics of Agile point a lack of vision — refining minimal concepts can get you stuck in iterationland — yet I believe that is what iteration 0 is all about. Take the time to think about your audience, your brand, and what you want to achieve. Iteration 0 buys the conceptual folks (product owners, UX designers, Information Architects) time to research. It’s an invaluable time.
Timeboxing and iterations
“Work expands so as to fill the time available for its completion”
~ Parkinson’s law
Timeboxing is a time-management concept where you define — nay, you cement — a specific amount of time for your activities. The limited time gives you focus and healthy stress to complete your tasks. For instance, we use 15 minutes for morning stand-up meetings and 1 hour for weekly reviews.
Iterations are week-long timeboxes containing a full Agile lifecycle: design, development, test. Every iteration can end with a release of the solution, whether an internal release to stakeholders, or an external release as in the case of websites in beta. With the exception of iteration 0, we use 1-week iterations to keep the dynamic pace going, but many teams use 2-week iterations. I guess this depends on the complexity of the project, and whether you can actually show something to your client at the end of the week, every week.
Iteration planning
This is the phase where the team plans what will be worked on during the next iteration, and estimates the difficulty of said tasks. To this end, Agile uses stories, small user-centric tasks that give added value to the solution. Stories are often written down on index cards and appended on boards. This low-fidelity approach is fast, flexible, and informational enough. However, software solutions also exist, and these can prove invaluable for co-located teams. We use index cards and software, namely Pivotal Tracker.
Next week, we will touch on the communication aspect of project management.
