By large SAP developments are traditional whether it is a project or enhancement. They follow step by step flow for development in waterfall model or a variant of it. While the approach is simplistic and is deemed sacrosanct, more and more architects are trying to move away from it for one single reason – business is changing more frequently than the previous decade. From planning to development to deployment, usually process takes 6-12 months and business rules and expectations usually change in a shorter span. This leads to multiple enhancements post deployment and the cost of development post deployment is very high. This brings forth the need of iterative development which allows for changes while development is in progress and hence end product is pretty much in line with current requirement.
Agile Software Development Methodology solves this requirement.
Agile, as the name suggests, is responsive to changes. It is a generic or umbrella term used to refer to a group of software development methodologies which employ iterative development. It basically means (in terms of standard SAP process) that business and functional consultants closely engage with the developer during development. It comprises of quick sprints where stakeholders assess the growth and discuss not only possible changes due to external factors but also, design challenges and alternative solutions. This frequent inspection and adoption ensure that the team delivers a quality product which caters to all the customer requirements in a shorter time span.
One of the biggest challenges from a SAP project standpoint is handling dependencies because just by the virtue of size and capability, SAP brings in lots of inter/intra object dependencies and it is a challenge to handle all such dependencies. Another challenge is to handle the backlog. With a plethora of incoming changes, even for the most technically adept teams, it is challenging to avoid backlogs. It is important to keep a prioritized list of backlogs and incorporate them in every iterative cycle. These priorities can change due to various reasons including the point cited earlier, i.e. dependencies of objects.
Agile is not a simple process and it needs a culture to function. It is important to foster that culture where the sense of urgency can be harnessed without affecting a good work-life balance so that employees are motivated and result-oriented. This model has huge cost benefits and cannot be ignored in view of the extremely competitive market and changing financial dynamics.