Our Blog

eCommerce
21
Apr 10

Agility - an introduction

Building software is not like building a house. Houses have been constructed for thousands of years in relatively the same way. We know that they have foundations, walls, doors and windows and are constructed from these component parts. Software is different as it is not tangible and therefore progress is not always apparent. Software development is often about realising ideas, and providing solutions to unique business problems. The building of software can uncover new challenges but also new opportunities for improvement along the way. To embrace and nurture a project in order to realise its full potential requires us to evolve our processes, and the way we co-operate. Therefore customer interaction and the forming of strong, adaptive teams are now central to project success.

Agile processes deliver software in a number of short bursts called iterations. These iterations are planned in close collaboration with the customer, and regularly reviewed and prioritised as the software evolves. Each iteration aims to end with a deployable software release which not only allows the customer to visualise and validate the product as it develops, but it also encourages new ideas about the direction the product is taking. The process ensures that high value software is delivered first, with a focus on providing the earliest Return on Investment (ROI) to the customer.

Project success is not only measured by delivering on time and to budget, but also by how successful the end product is in addressing the customer needs. An agile approach accepts that we should, if possible, uncover better ways of doing things, and encourages the unearthing of additional value to the product. To ensure that teams can learn, adapt and improve, the process has taken lessons learned from the cycle of continuous improvement so successfully implemented within the manufacturing sector. This approach shows that by working in smaller increments, keeping the processes lean, and reviewing regularly we can gain even greater control over the project schedule and budget.

Openness is also an important aspect of agile projects as the rate of delivery, ongoing cost and planned software releases are available to customers at all times. As the aim is to release software throughout the delivery process, we believe that this encourages closer customer collaboration, shared goals and allows us to provide high value software solutions. Whilst software isn’t like construction, agility allows earlier insight into how the software is progressing, and allows greater customer involvement in shaping the finished product.

Perfect Image has adopted this system and we are strong advocates of theagile, iterative project approach.We have our own project methodology, BlueWave, which is based on proven, agile standards and which covers the entire project lifecycle. Experience tells us that our methodology has a very positive impact on the success of our projects and many of our customers have adopted similar, agile processes as a result.

Andy Rumfitt