The Dos and Don’ts for Maximizing the Benefits of Agile Software Development
When undertaking a software development project, is important to understand Agile principles and what to expect from a reputable Agile software development company.
Join the DZone community and get the full member experience.Join For Free
As a software development solutions company, we both develop and consult businesses on how to solve their challenges through technology. The best way for solutions to evolve is through collaboration, prioritizing business value and utilizing the most appropriate approach to software development.
At OpenArc, we’ve been able to deliver projects on-time, on-spec, and on-budget by employing the values and principals expressed in the Agile Manifesto. Written in February of 2001, the manifesto declares:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work, we have come to value:
• Individuals and interactions over processes and tools.
• Working software over comprehensive documentation.
• Customer collaboration over contract negotiation.
• Responding to change over following a plan.
That is, while there is value in the items on the right, we value the items on the left more.”
Through our own Agile software development experiences, we’ve learned in detail what clients like and do not like from a software development company. Let’s explore the top Dos and Don’ts when it comes to the collaboration between a software development company and client, as it relates to Agile software development.
1. Frequent Feedback
The Do: During the software development process, the #1 expectation is frequent feedback and communication between the teams, internal and external. The feedback loop is critical for keeping the project on course. Clients can see the work in progress, react and provide valuable feedback that can be used to make adjustments.
The Don’t: Working with a software development company that works in a black box. If, as a client, you are not given the opportunity to frequently view development progress, the likelihood is high that you’ll be delivered a project that misses the mark.
2. Decision-Making Process
The Do: Have stakeholders and team members involved in the decision-making process from the beginning. An array of decisions from functionality to the design will need to be made throughout the project and getting the right people in on the decisions from the start will allow for both timely and well-communicated decisions.
The Don’t: Partnering with an Agile software development company that is making all the decisions for you. It’s a big red flag if you, the client, have questions for the company and they provide answers without any accompanying rationale or they are unable to explain technical implications in layman’s terms.
3. Prioritizing by Business Value
The Do: Ensure your software development company assigns business values to user stories and prioritizes stories of higher business value before ones of lower business value. By measuring the value that can be generated, you are able to make more informed decisions which may translate into even broader business value. It is important to Implement the highest priority requirements first to ensure ROI is maximized.
The Don’t: Ignoring business value and embarking on a development process that empowers developers to pursue the easy stuff first, and where the order is random or at the developer’s discretion. Each of these deviations from an Agile approach will lead to delays, diminishes ROI, and creates an unmanageable backlog.
4. Speed to Market
The Do: Embrace the iterative development process that comes with Agile. A true Agile software development company will break the development of the application into phases. With each iteration, additional features are developed, tested, and readied for deployment at the client’s discretion. Speed to market is increased through the streamlined processes of Agile delivery while building a solid foundation for responding to feedback more quickly.
The Don’t: Throwing a list of upfront technical specs to the software development company and spending countless hours in endless planning cycles. If you take the route of waiting for a dozen features to be integrated before launching your project, you may be three years out and by then, your entire project may be stale or outdated.
While there are many other key considerations and questions you’ll want to ask, i.e. how they keep inventory of the work to do and the ever important, “what does done look like,” you’ll now be better prepared to have the conversation about the key benefits Agile can bring to your next development project.
Published at DZone with permission of Eve T. See the original article here.
Opinions expressed by DZone contributors are their own.