What Agile processes can do to develop better products
Agile processes highlight real time communication
By their nature, Agile processes are collaborative- they work well only when there is high degree of involvement between users and developers. The process assumes time boxes that result in frequent intermediary deliverables that users review and provide feedback on.
The advantage of this approach is that all users are almost fully informed of what they will get at the end of the exercise, and there are no surprises. At the same
time, they also need to commit time and effort to join in the reviews and give relevant feedback.
Agile processes speed up time
Given that Agile methods allow requirements to change all through the process, it is natural to assume that Agile methods lead to longer life cycles. However, statistics show that agile product life cycle management result inquickened product development. As users are involved through the life cycle, the chances of a late discovery of the outcome not matching expectations are low. Also, it gives a chance for users to review and change the overall scope at every intermediary step. Besides, users buy in to the product and feel that they “co-own” the product – which is important for a successful outcome. Second, given the method of prioritizing needs and agile’s focus on “working code”, users get a feel of the software far earlier than they would with a traditional sequential method. In fact, what may even happen at times is that users prune the requirements and shave off features that look superfluous and unnecessary as they go along. This is something they can do if and only if they begin to use the product – it is almost impossible to envisage up-front. Besides, as traditional methods do not allow for frequent changes, users may load the requirements with features and functionality which may be mostly “nice to have”. Therefore, the product that is an outcome of an Agile methodology would be more relevant and produced faster as the development method paves the way for a feedback process that sharpens the product definition along the way.
Agile methods are cost-effective
We are always led to believe that good planning and execution always leads to more efficient outcomes. True in many real life scenarios, but not with software.
The challenge with Medical device software development is that users may come up with requests all the time. In a process that does not cater to this behavior, the cost of
effecting changes becomes high. As discussed earlier, traditional methods sometimes
lead to large-scale rework, costs, as well as time escalation leading to the common refrain that X % of software projects do not adhere to their original budgets. In contrast, Agile methods underscore frequent deliverables, and give an opportunity not just for requirement changes, but even for paring down requirements based on real need, rather than “expected need”.