In the today’s market scenario of intense competition, the organizations face the challenges of low price and high quality. The traditional model of separate teams for delivery puts additional burden on these factors adding to additional pressure. The key to success is knowledge re-use wherever possible and spreading the roles and responsibilities across the different delivery phases.
Before we get into the details of the practice, here is a little background of the projects in which this practice is being used:
This practice is being explained in context of the development projects where the lifecycle of the project starts with presales and ends with Tech Support. Different teams with some overlaps handle the projects.
The End to End Delivery Model consists of following phases:
Figure 1: Normal End to End Delivery Model
The practice mentioned here handle these discrepancies. The idea is to have a dream team with coupled share of responsibilities to take care of all the phases. The key elements to this practice are:
Presented below is the modified End to End Delivery model where the delivery areas overlap with others. The result is an extended delivery model where each phase also leverages from the knowledge of the other phases.
The lifecycle of software typically starts from the Proposal till the Support phase. During this whole period different stake holders are involved and the software passes from one hand to other. The problem with this model is that often some information is lost when it gets passed from one stake-holder to the next one. Moreover there are less chances of improving upon in further cycles as physically there are different isolated team members that handle the project during these phases.
Figure 2: Modified End to End Delivery Model
The key ingredient to the practice is the Shared Roles and Responsibilities across the different phases of the delivery model. Some members of the different teams share the roles and responsibilities across the different phases.
The matrix below depicts this shared roles and responsibilities of different phase owners across the different phases.
The phases are depicted as four different verticals owned by a specialized team owning that phase. The roles and responsibilities are depicted as different colored buttons. As shown in the figure each owner of a phase also has a defined role to play in the other phases. For example the team owning the PreSales phase that had made the technical proposal initially also plays the role of a Solution Architect in Development, help in resolving integration issues in Integration, and help in resolving bug vs enhancements issues raised by customer in the Tech Support phase. This forms an extended Roles and Responsibility matrix. The challenge is to define crisply these Roles and Responsibilities.
Figure 3: Roles and Responsibility Matrix
The other key element of this practice is Knowledge Reuse. In the traditional model knowledge is scattered across different teams in their own boundaries. Because of these boundaries many a times things are re-invented, wasting a lot of effort and time, instead of re-using them. For example the thoughts that the Pre-Sales guy have put in while making the technical proposal can be very beneficial for the development team as it is not always possible to put everything in papers. This practice makes possible to have a single big cloud of knowledge made up from small individual knowledge clouds which is used and re-used by each delivery team enabling them to save time and effort.
The modified End to End Delivery model provides increased chances of knowledge reuse as this methodology works as booster to overall performance of the delivery cycle. This model puts knowledge reuse as a predictor of individuals learning which moves forward towards cross functional domain expertise
Knowledge re-uses can benefits in following areas:
Figure 5: Extended knowledgebase with participation from various stack holders
One of the biggest areas where organizations lag today is “Learning from the past”. This is due to the fact that responsibilities do not cross over during the delivery phases. The Pre-Sales team’s responsibility finishes when the proposal matures, the development team takes this to the integration team and so on. The problem is that since one team has not participated in other team’s struggle they are more or less un-aware of the issues. For the learning’s the system relies on the data produced by each delivery phase at the end. The practice solves this issue as the responsibilities of one team extend to all the other teams as well. In this way they are aware of the shortcomings beforehand and can apply the learning’s based on them for the future assignments.
The following results were achieved after applying this practice of systematic knowledge transition