The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Designing Iteratively

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Jonathan Crossland

Posts: 630
Nickname: jonathanc
Registered: Feb, 2004

Jonathan Crossland is a software architect for Lucid Ocean Ltd
Designing Iteratively Posted: Oct 2, 2005 12:48 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Jonathan Crossland.
Original Post: Designing Iteratively
Feed Title: Jonathan Crossland Weblog
Feed URL: http://www.jonathancrossland.com/syndication.axd
Feed Description: Design, Frameworks, Patterns and Idioms
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Jonathan Crossland
Latest Posts From Jonathan Crossland Weblog

Advertisement

When you are dealing with large amounts of requirements, it is never easy to think about all the possibilities at one time. The design process works a lot better when smaller chunks are handled independently. It is a good trend to do things iteratively. However the art of iterations, is not a science in itself. Having iterations does not mean you are automatically doing it right. There are many ways to iterate with different durations and you need to choose the best one for you and your team and the task at hand.


Some misconceptions of iterative design need to be addressed.
  • Simply using an iterative approach should make us better (fallacy - there is more to it)
  • Iterations are a set length (fallacy - they should not be)


A duration should not be set
In larger teams, where there are many designers working on many segments, you have to coordinate the iterations so they line up. Also by consequence, the iterations tend to be larger. As an example, I have found on average, larger projects experience 4-8 weeks of design and implementation as an iteration. In smaller teams, you can find an iteration as small as 1-3 weeks. You will also find it harder to secure iterations with respect to testing and proving the iterations works. Larger teams can afford to incorporate resources that test iterations. The length of a duration therefore also depends on the amount to test. You need to have iterations that vary according to the task at hand. You cannot fix an iteration as a policy only a guideline. It must be agile.


Get your hands dirty
When you are in a smaller team, a designer also has to provide more input into implementations and actually get involved. This is where larger teams sometimes fall short. The larger team, who has an architect who gets his hands dirty will be in a far better position to make a success of their design. No matter the size, architects must code. They must see and experience each iteration and fine tune it, while in it. The duration of a iteration can be adjusted by the architect. Lastly a word on how to design in iterations:


DesignAbstraction first then DesignRefinement

A good design should be fairly abstract in early iterations becoming more refined over each consecutive iteration. This is to reduce refactoring (as it is time consuming), and to provide less chance of error. If requirements are discovered with each iteration, it should be used as a refinement of the initial abstraction and generalized design, rather than a change in the entire design.



Read: Designing Iteratively

Topic: [OT] Merlin & Rollo Previous Topic   Next Topic Topic: [Buchempfehlung] Framework Design Guidelines

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use