Bringing User Centered Design to the Agile Environment by Anthony Colfelt.
Agile is an iterative development approach that takes small steps toward defining a product or service. At the end of each step, we have something built that we could release to the market if we choose to and therefore it can assure some speed to market where waterfall methods usually fail.
The author begins by a good thought provoking point about having a separate sprint for the design in an Agile based development. Having worked with a project which followed SCRUM, the method used was having everything i.e design, implementation, testing in a single sprint. Considering that in this project the design is heavily linked with the implementation, I suppose the tracer bullet method is a much better way of going about it in a sprint. I say the design is heavily linked with the implementation because it’s design of new features in an existing system using the existing components available.
Good things about Agile
- Since Agile is an incremental development effort, every iteration (a sprint) produces some result from the development effort which is ready to market in terms of the requirements for that iteration. So it helps in dividing the effort for the project using manageable deadlines.
- Agile also encourages all members of the team from development, testing, business, customers, to interact with each other and make adjustments as needed. This method is excellent in understanding the current position of a project and adapting early to any changes in the user requirements or sorting out any issues that have risen.
Bad things about Agile
- Since Agile combines everything into a sprint i.e design, development, testing, there is a pressure to deliver within a specific short time. This can cause some sub optimal decisions which may seem good at the time. Especially in terms of design.
- At the end of a sprint, we have something useful but is it complete enough to deploy into the market?
- Since the focus is on a faster time to release, documentation often gets a poor treatment in a sprint.
What this means in effect is that during the initial phase, when we are defining a project or product, it is appropriate to spend considerable time gathering requirements, analysis and design i.e the waterfall model. This will lead to the construction of an initial well designed system. Once this is ready, further enhancements to the product can be done by using the Agile development methodology to get quicker releases fulfilling customer requirements and changes to the product.
User Centered Design
User centered design works on the process of iteration. Create design, implement and allow user to test, refine design for changes, implement, allow user to test. This is continued till the software system achieves a level of stability. So UCD and Agile fit well together to create a software system which will meet it’s user requirements quite well.
Related Posts:
Tags: today's read

