Abstract:
Target : Established large firms deploying about 50 or more software projects/year with focus on service providers
We will look at the agile practices in development and maintenance projects and Continuous Integration(CI) and Test Driven Development(TDD) specifically. While the management practices get adopted fast and teams are executing iterations, it takes time for the TDD and CI to get established. We see the usage not being effective even with teams that have frameworks already setup. We will explore "Why" and look for any patterns.
A brief on the characteristics of a typical project 1. Contract driven ñ Either ìFixed priceî or ìTime and Materialî 2. Infrastructure
a. Limited access for distributed teams
b. Costly,Shared legacy environments
c. Hetergenous technologies
d. Restrictions for usage of unapproved tools\accelerators
We have seen projects demo high quality applications every month and release for deployment in less than3 months, however this is for teams of 9-10 members (both co-located and distrbuted). The clients are now demanding agility for larger & more complex application devlopment involving teams of over 150 members spanning over a year.In addition,clients want agile methods for maintenance and production support of applications.With agile taking root, business expects agile delivery in all aspects of the application lifecycle. IT service companies are quickly adopting agile practices to meet the demand.
With mounting pressure to become agile, teams are interpreting the required practices and tailoring them to their context based on the need and the extent of change they can tolerate. While the adoption to agile project management practices have been quick, teams are wary to proceed with the engineering practices with the same pace. We survey projects and interview team members to understand their context and apprehensions. The objective is to understand the problems for effective adoption. We will focus on four project types 1. Large new development (large teams & short timelines) using agile 2. Large new development in a mixed environment ñ some teams working in agile and others in conventional methods 3. Maintenance for large applications ñ initially developed in conventional methods (lack automated test suite/build scripts, etc) 4. Maintenance for large applications ñ developed using agile
Proposer: - J Srinivas, Chetana - Infosys - http://www.infosys.com