In this model, dedicated high performing teams are assigned for different stages of software development activities. This model is ideal for ongoing software development and software maintenance activities. Such engagements are highly effective in providing customers visibility and predictability in software lifecycle processes. This would work like an extension of the customer’s organization.