Do you know what Agile development is? It’s ok if you don’t, we can fill you in!
Agile development consists of methodologies for incremental software development. A core focus of Agile development is to encourage people to collaborate, plan, test and come to together to make team decisions on projects. Read on to hear what New Angle’s Software Director, Shaun Roberts, has to say about Agile Development as I sit with him for a Q&A session:
Q: Why use Agile methods?
A: We abide by the Agile methodologies because it helps eliminate any ambiguity between us and the client throughout the project while closely aligning the software with the client’s needs through iterative development and deployment cycles. Sometimes client’s needs change part way through the project and agile helps us embrace these changes to make sure the software we provide will deliver value to the client.
Q: Are there different types of Agile, and if so, how do they differ?
A: There are many different approaches to the Agile philosophy and they differ in their application of Agile principles. Depending upon the development team’s flexibility and adaptability, certain principles will be more applicable. Some variants take focus from a project management point of view while others are more software centric. A few examples of these approaches are Scrum, Extreme Programming, and Feature Driven Development.
Q: What’s the difference between Agile and Waterfall Model?
A: The waterfall approach to software development has you gather all requirements, design and build the software, then implement and test software and finally deliver the finished product in one linear cycle. Agile or iterative development does the testing and implementation multiple times throughout the projects life cycle with the stakeholders’ involvement.
Q: What are the benefits of Agile?
A: Customers’ frequent and early involvement in the development cycle. It produces higher quality software as it’s closely aligned with what the customer is expecting. I would say there is also a lower risk for project failure and gives the client’s a sense of ownership having worked directly through the process.
Q: What is Agile Manifesto?
A: There are essentially 4 values in Agile Manifesto. There are “people over processes” where individuals are essentially given priority over processes and tools. This is about being flexible with the tools used to create the solution versus defined processes but is also being flexible with the design when clients need change last minute. Then there’s “working software over documentation” which helps prevent the documentation process from stagnating development by using prototypes over extensive documentation. The third value is “customer collaboration over contract negotiation”, which requires fostering a relationship with the customer to ensure their active involvement and to quickly handle change. The last one is “responding to change versus following a plan” where you welcome changing requirements even late in the game to ensure the customer’s success.
Q: What is the biggest challenge when implementing Agile methods?
A: The hardest part is getting the whole team on board and following the Agile principles and breaking old habits. Keeping the customer involved throughout the process can also be difficult sometimes. A good product owner is essential.
Q: What is one of your biggest successes that you’ve had with Agile?
A: Many of our projects have benefited from the Agile methodologies, but one that immediately comes to mind is the recently launched IP&E Marketplace. Throughout the process, we welcomed the customer’s changing requirements and worked to make the necessary changes to meet their needs which ultimately provided a better solution and a stronger competitive advantage.