Traditional software development systems have been challenged recently by more flexible, responsive processes that focus on rapid iterative development and feedback cycles (eg. Agile programming).
This has been a typical model used in many Web 2.0 application developments using technology like Ruby on Rails.
So where does IXD fit in this process? Is it relevant or redundant? Check out the learning tasks below to get an overview of Agile programming processes and where IXD fits in this process.
Note: Step 1 could be done by those more interested in design aspects; Step 2 is for the programmers in your group to complete and Step 3 is for you to bring the different knowledge together!
To begin have you a clear understanding of the Interaction Design process yet and where it fits in a software development cycle?
Agile programming (Extreme Programming [XP], Lean Software Development, Pragmatic Programming) views software development more like new product development than the manufacturing-like processes that the software industry has used for the last 20 years. (Beedle, 2001).
Interaction Design is about designing the behaviour of an interactive product (not the interface- buttons, widgets etc). So how do these design activities work in a lean, mean, rapid development process?
Agile processes focus on customers needs. Someone in the development team needs to take on the communication process with the client and also with the development team. If you have ever worked with a client in the software development process, you will have found that the customer rarely knows what they really want. Often their ideas will be vague or generic. eg we need a database!
So how do you achieve a usable useful product using this development approach?