Adopting Agile Practices in Large-Scale Software Engineering

Some of the “low hanging fruit”, what I will call “primitive agile genes”, are ones such as Team Dynamics, Feature-Driven, and Iterative-Incremental. These are relatively easy to implement or adopt,…

Prabhu TL

Interpretation of results

With six Agile gene related switches (note, that we get Feature-driven plus Interactive-incremental automatically when we switch-off Waterfall) , this means that we could experiment with 26, or 64 different…

Prabhu TL

Case 5: Introducing Customer Involvement

We now introduce the Customer Involvement gene, which means that there will be some requirements churn, however requirements uncertainty will be reduced as sprints progress, since the customer/user is available…

Prabhu TL

Case 3: Introduction of Refactoring

In this case we will allow refactoring. As described earlier (5.2.3) this means that when the “technical/design debt” for the project reaches a threshold, the development team will take time…

Prabhu TL

Case 1 ; Fixed-schedule Feature-Driven Iterative/Incremental

In the next experiment, we ‘turn off’ the waterfall switch. This activates the iterative/incremental gene and the feature-driven gene, such that our project is now broken up into 4 equally…

Prabhu TL

Base Case Experiment (single-pass waterfall)

As a base-case, we start by executing the model in “waterfall mode” by using our ‘Switch for Waterfall”. It yields the following results: Project End Time: 79 Weeks (see Figure 68).…

Prabhu TL

Model Simulation Experiments

In order to perform “what if” analysis and sensitivity tests on the effects produced from the interaction of gene combinations and management policy variables, we have constructed a “Management Dashboard”…

Prabhu TL

Modelling Staffing and Staff Experience

Figure 63 shows the portion of the APD model that addresses staffing and experience gain. The construct is very similar to that presented in section 4.3, describing developer experience mix…

Prabhu TL

Continuous Integration

As described previously, creating a “CI Environment” means acquiring, installing, and configuring the tools and servers necessary to support CI. This may include custom scripting and development to automate certain…

Prabhu TL

Team Dynamics

The portion of the model, shown in Figure 57, is a very simplistic approximation of the effects of the practices of Pair Programming (PP), and frequent (e.g. daily) meetings. We…

Prabhu TL