Since the dawning of the computer age, a cause célèbre has been to improve the efficiency of programming to create better software products, more quickly. Go back a few years and the phrases and acronyms such as object oriented, 3GL and 4GL – third and fourth generation language – were on many people’s lips.
Within ASD there are several complementary technologies. They include Extreme Programming, Adaptive Software Development, Lean Software Development and Scrum.
What all the ASD processes have in common, according the Agile Alliance, a non-profit organization which was started in 2001 by several industry luminaries to propagate the techniques, is “emphasized close collaboration between the programmer team and business experts; face-to-face communication (as more efficient than written documentation); frequent delivery of new deployable business value; tight, self-organizing teams; and ways to craft the code and the team such that the inevitable requirements churn was not a crisis.”
Development on the fly
In a nutshell that means that the traditional ways of developing software are out of the window. In traditional “plan driven” development developers and customers agree on the specification at the front-end of a project. The developers then go away and in a few months time deliver the product.
In the new ASD world there is constant collaboration between developers and customers throughout the development process. ASD calibrates a company’s plan with its customers better than a plan driven approach due to the iterative interaction, says Raj Rao, Senior Vice President, Products & Technology Group at SAP Labs.
“What that means is eventually the customers are much happier; they are more receptive to the product and there is a much higher innovation potential simply because you are interacting with the customers frequently throughout the product development process.”
“You can really understand the customers’ needs and their practices. You have a much better view and a window to react to them if they change mid-stream, as they happen sometime ,” he adds.
Heading for mainstream
SAP brought in Paul Hodgetts, founder and CEO of Agile Logic, a consultancy and training company, to help kick off a number of pilots around the company. Improving “time to market” is a common reason companies turn to Agile, says Hodgetts. “Organizations tend to find that Agile processes tend to work in development cycles or iterations that are anywhere from a couple of weeks to a month in length.” That can shake up organzations who are used to working in six, 12, 18, 24 month cycles
Hodgetts is convinced that ASD is heading for the mainstream and says he has been amazed over the years at the many different kinds of projects work with ASD, “Everything from embedded real-time control systems to large financial applications to wireless technologies. I really don’t think there are limitations of where Agile can be applied; it is really product and technology agnostic.”
Hodgetts went to Germany and introduced SAP to Scrum, which is one of the key ASD approaches.
Scrum pilots at SAP worked well
Named after the rugby term, Scrum was developed by Ken Schwaber and Jeff Sutherland who in the mid-1980s started studying well-documented examples of efficient ways of working; not particularly in programming but in all walks of business.
From Japanese car manufacturers and consumer products companies they realized that cross functional teams were important – the requirements people would work with the design team who would work with the analysis team. They would collaborate all the time with no document handoffs, which slowed processes down. “The Japanese taught us how to form the teams and manage them and get them to self manage and organize and act like an entrepreneurial unit,” says Sutherland.
From Borland’s super-efficient development of Quattro Pro, a once popular Windows-based spreadsheet, they learned that small teams of programmers could be extremely productive and the key was a daily meeting. “These guys met face to face for three or four hours a day. And coded outside of that time for three years and Quattro Pro was the most productive project that was ever thoroughly documented, ” recalls Sutherland.
No-one wants three hour daily meetings so the Scrum developers decided they could be cut down to 15 minutes and three important questions are asked, “What have you done yesterday; what are you doing today; and what impediments are getting in your way?”
At SAP the Scrum pilots have in the main worked well, says Rao. Among the upcoming products the company is one codenamed Muse, which was announced at last SAPPHIRE. It has tens of developers and customers involved.
There are a few roles that are critical to the success of Scrum. The Product owner and Scrum master play a large part in determining the success of scrum projects.
The Product owner is responsible for creating and maintaining a list of prioritized requirements and parcels them out to be executed in each sprint. He works closely with customers in gathering requirements and is a proxy for them. Also the Product owner kicks off the sprint and at the end of the iteration participates in sprint review and signs off on the deliverables.
Each of the Agile development programs share common traits:
- They are developed and released in relatively short time, typically six to nine motnhs.
- Requirements are volatile and some exploration needs to be done before they are finalized.
- Small teams of developers work on each aspect of the projects
Change the textbook to your needs
“Sometimes what ends up happening (at an iteration) is we realize that the outcome of what we discussed two weeks previous is not the right way to go. It is much better that we found out it’s not the right way in two to four weeks than finding it out six months later. That is the big gain we get out of this,” said Rao.
Presently SAP has teams in the US, Germany, India and Bulgaria working on ASD projects, and according to Rao, many customers have co-opted to provide input on the direction of the various pieces of software.
One of the keys to success, according to Rao, is that SAP is taking the textbook approach to ASD and altering it to fit SAP’s unique needs and best practices. “For instance the textbook says no more than seven developers per scrum. We have done more than 10 in a team and it has worked well.
Rao says there are now several hundred ASD trained developers within the company and many more in training. “I believe SAP is one of the first really large enterprises that have embraced agile approach; experimenting with it and adopting it internally,” he said.