Many of us have suffered through long and painful software release processes, either as a customer or as a member of a development team. Traditional waterfall software development processes are typically characterized by months spent gathering requirements, hundreds of pages of documentation, and months of test planning before development even begins.
Despite all this preparation, often times the end user is surprised when she finally gets her hands on the application and begins user acceptance testing. Frequently during UAT, the team realizes that requirements have been missed or that the B2B eCommerce software will not support existing business processes.
The Iterative eCommerce Solution
As a result, many organizations, including InsiteCommerce, have adopted an agile development process, which minimizes up-front extensive periods of documentation and planning in favor of a more iterative development process that emphasizes flexibility and adaptation as requirements evolve, and frequent communication and feedback between the development team and the end-user.
Sprint to Success
Agile development is organized around the principle of user stories to drive development rather than technical system-based requirements. For example, a typical user story follows the format “As a user, I want to save my credit card information on file so that I can check out without entering my credit card information every time I shop the site” rather than the more traditional requirement emphasizing system behavior “The system shall store authentication data in the transaction table.” This approach helps to ensure that the software is built to meet user needs, rather than technical specifications, greatly streamlining the development process. Stories are organized into two to three week sprints, with the opportunity to test and release a feature and obtain user feedback at the end of each sprint, rather than after months of design, development, and testing.
With its emphasis on providing value to users, delivering features incrementally, and frequent opportunity for user feedback; agile development can help to reduce project costs and implementation timelines and also ensure greater customer satisfaction.