With so much talk about organisations adopting Agile, Scrum, eXtreme Programming (XP) and other methodologies, its easy to think that one of these is the ‘must have’ way of developing projects. Why look elsewhere when simply adopting one of these could be the solution for your team? While undoubtedly they contain valuable working practices, the take away we’d like to share in this article is that it takes a little more conscious thought to identify the best processes for your team and your organisation. The best set of development practices starts with knowing Why you are using them!
Taking a step back, a methodology is a collection of good methods. Methods that provide a way of arriving at solutions, from questions. In other words, a how. Applied to software development, these provide a means to deliver software, the what. And the why? The underlying why is to create good quality and robust software with the minimum cost and time required.
The above may not come as much of a surprise. But if we asked you to tell us what percentage improvement in quality, cost and time you’ve identified since adopting a methodology, how would you answer? Without consciously tracking improvements being gained, or what evolutions you make to it to resolve issues that arise, how do you know that the methodology is fulfilling its purpose?
Further, while the root why of any methodology is to improve Quality and reduce Cost and Time (QCT), each comes at this from a particular angle, based on the challenges its authors were trying to solve at the time. For example, Agile, XP and Scrum aim to reduce the time taken for a customer to arrive at what they really want by bringing together a customer representative and a development team to constantly communicate and deliver discrete features. IBM’s Rational Unified Process includes an ‘Elaboration’ phase focussed at mitigating technical risk, useful when building a new solution that requires some foundation pieces before end to end features can be delivered. So the best ‘hows’ for your team depend on what you are trying to achieve. In other words, your specific Whys!
Very often, Methodology X becomes adopted because it has gathered momentum, and staff join a team who have good results of using it previously. These are great drivers, but its worth just stepping back and asking yourself about the fit of the Whys that Methodology X answers compared to the specific challenges that you need to solve. Also, bear in mind that the way that one organisation has adopted Methodology X may be very different to that of another.
Rather than adopting a methodology wholesale, at Inviting Futures, our approach is to explore what individual challenges your team and organisation need to solve, and then help identify particular working practices from different methodologies. We also recommend implementing a measure so you can track the merit of using this process against your underlying Whys, including QCT. In this way, its possible to achieve the benefit you are most focussed on faster with a lower learning overhead.
So when you next think about how you are developing software, ask yourself what challenges you are trying to solve and how your current working practices support you. Then once you know your Whys, look around and see what hows you can leverage from existing best practices and methodologies.
To learn more about about what practices might be of benefit to your specific team and working environment, please Contact Us. And sign up for our newsletter to stay informed of new articles, news and events occurring for Inviting Futures.