Largest Online Marketplace
This Cognizant client provides a global trading/auction platform for online users, covering millions of items and thousands of categories. The project involved developing key new features and putting them into production immediately. In 16 months the teams delivered 24 individual projects, fed into 15-day delivery cycles. On average, the combined team changed 50,000 to 60,000 lines of code every two- to-three weeks. Cognizant used some best practices from Agile methodologies to work in this assignment. These included:
- Working in small iterative cycles . All new feature development was handled as different short iteration projects. As a result, Cognizant was able to get new features to market in a very short duration. This involved close interaction with the end users (which was facilitated by the client's IT staff) and filtering out bugs that arose in the main code as side effects, because of the addition of new features. This helped the client to go back to its users with more and more new features in short spans.
- Constant end-user interaction . The requests involved high interaction with the business owners as well as the end-users of the portal. Cognizant ensured that there were daily interaction sessions between the business owners and the Cognizant developers, so that the changing requirements that arose out of newer Web features, as well as any new business needs, were captured. This helped Cognizant add direct value to the client in its business by accelerating the release of new product features.
- Framework-based development and continuous code refactoring . The client had defined an architecture framework that was followed by every team working on iterations, hence facilitating the synchronization of work cycles. In addition frameworks for onsite/offshore source control management were also defined.
- Continuous integration and test first development .
For this project, 80% of development was done by the offshore team and the success metrics for the project were defined by the onsite Cognizant team in collaboration with client. The onsite team defined metrics such as number of production defects by priority and number of projects delivered on schedule, and tracked these across the whole program. Project success was evaluated by a weighted system of defined metrics.
Cognizant's involvement has benefited the client through the deployment of a scalable, internationalized architecture that supports business growth and a rapidly multiplying, global user base. With the use of Agile principles, Cognizant achieved a faster time-to-market for new features, at the same time enhancing the technical ability to incorporate new Web features.
Implementing The Move To Agile Development
To ensure successful implementation of Agile processes, Cognizant has created a boot camp for projects to ensure that the project team (including the Cognizant staff and client team members) fully understands the concepts. The boot camp covers aspects such as iterative development, coding guidelines, test execution strategy, onsite/offshore source code control and release management.
The true test for the successful execution of a process is successful delivery and positive client feedback. Cognizant has always realized the importance of this and lays emphasis on its process being business- and client-centric. We have seen that customized Agile methodologies have helped us achieve a trade-off between a pure-play Agile model and the offshore model which traditionally leverages a planned approach to development. These customized processes have helped our clients to meet business objectives like time-to-market for their products and to manage constantly evolving requirements and design, and simultaneously leverage the value of offshore development. For us, this is the ultimate goal of using process adaptations with our customers.
About the Authors
Dharmesh Mistry is responsible for driving revenue and delivery excellence