• Ei tuloksia

Impact of CMMI on Product Delivery in the Case Company

5 Findings

5.2 Impact Analysis of CMMI Implementation

5.2.2 Impact of CMMI on Product Delivery in the Case Company

In an agile organization product delivery is often based on certain agile principles. The 12 agile principles have already been discussed in previous chapter. In conceptual frame-work it has been discussed that agile principles help product delivery to become efficient

70

and effective. In this subsection, the researcher discusses the findings of teams partici-pated in CMMI implementation. The researcher gathered feedbacks from teams about impact of CMMI implementation on agile way of product delivery. The findings have been documented in Appendix 7, 9, 11, 13 and 15.

Agile principle suggests customer satisfaction through early and continuous software de-livery in iterative and incremental way. CMMI can help in agile product development by building minimal viable product in incremental iterative manner. CMMI expects clearly defined requirements. It has been found that all teams have already been practicing Scrum and/or Kanban. All teams are following basic scrum activities e.g. backlog groom-ing, sprint planngroom-ing, daily scrum, sprint review and demo. Case project 1 team and Case project 3 teams have found that CMMI has helped them to improve these basic scrum practices by documenting it properly. Case project 2 team did not notice much improve-ment as the team has already been practicing it handsomely. But all teams could not make any comment on customer satisfaction as they do not have direct interaction with end customers of their products or services. Hence it can be said that teams are able to practice software development in iterative and incremental manner, but they do not have any idea about customer satisfaction.

Agile methods focus on accommodating changing customer requirements throughout the development process. CMMI can help in reducing efforts needed for managing changes. It helps development teams to focus on customer requirements and feedback. CMMI helps in reviewing product plans and strategy and adjusting accordingly. In this study, it has been found that all teams are following basic scrum practices of backlog grooming and sprint/release planning. These activities are documented in product and sprint backlog and continuously reviewed and adjusted as per CMMI model. CMMI has helped case pro-ject 1 team and case propro-ject 3 teams to improve its agile activities and software delivery.

Case project 2 has stated that their backlog grooming and sprint planning was already in better shape and currently CMMI model has no impact on these activities. Also, teams have no idea about customer feedback as they are not interacting with them directly. So, customers have no direct involvement in these teams’ affairs.

Agile method helps the team to deliver software products frequently and continuously.

CMMI supports in these activities by following sprint regularly to release product. It also proposes the use of continuous integration and deployment of the product. In this study it has been found that all teams are following sprint practices regularly and these activities are well documented. CMMI has improved sprint activities of case project1 team and case project 3 teams. Case project 2 team was already doing it perfectly. All teams have shown

71

their capability to use continuous integration and deployment (CI/CD pipeline). For all teams, continuous integration and deployment pipeline has improved after CMMI imple-mentation because this activity is continuously monitored and adjusted as per require-ments.

Agile method focuses on collaboration and communication between teams and team members with other business stakeholders throughout the development process to deliver product quickly and efficiently. CMMI proposes to use daily scrum, meetings to bridge gap between technical and business aspect of the business with better communication. In this study, it has been found that all teams have seen improvement in communication within team after CMMI implementation. But communication with other teams has not improved yet. Also, there is no significant impact on delivery of software products or services. Since product owners are part of their teams, they are able to discuss requirements clearly and breaking requirements into user stories and task clearly. But CMMI has not improved the processing of requirements coming from customers or other teams as inter-team commu-nication has not improved. Overall CMMI has not helped in improving quality and delivery of software much.

For each Case Projects, the support, trust and motivation between team members have improved after CMMI implementation. It is a result of increased documentation of pro-cesses and artefacts and communication within team members. This has helped them to share user stories and outlining clear roadmap for the product or services. Improved intra-team communication has also helped intra-team members to discuss how and why things can be developed.

Case project 1 team and Case project 3 teams have mentioned that CMMI has helped them to set clear and realistic target. They have improved in breaking requirements into user stories and tasks with corresponding time and effort. Specially Fibonacci method has helped them to estimate time and effort for each task and user stories. Documenting these user stories and tasks have also helped them to monitor the progress of task execution well. Case project 2 team have not seen much improvement and felt that documentation itself is taking some time and effort. But Case project 2 team has accepted that documen-tation has helped them to trace their activities. It can be said that teams are able to set realistic target and as a result have consistent development pace with continuous monitor-ing.

It was accepted by all teams that there is increased focus on technical details and design after CMMI implementation. Teams are following scrum practices well in 2 weeks cycle

72

and able to deliver products iteratively and incrementally. Improved documentation has also increased traceability of artefacts and code. This has helped all teams to pay more attention to design and development and handle any problem by root cause analysis. Any risks associated with products or processes are quickly identified and addressed. This has helped in better technical details and design.

All teams have accepted that teams are able to self-retrospect better by using sprint retro-spective process and KPI tool regularly. People can identify risks and opportunities during sprint retrospectives and make some action plans. The outcome of sprint retrospective has helped them in sprint planning also.

But some teams did not find CMMI implementation much useful. It was found that teams were already self-organizing. They are already using agile processes repeatedly. Case project 2 team was finding it difficult to implement CMMI with existing resources. Hence repeating agile processes with required documentation was time consuming and taking more attention. In this process the team lost focus on software delivery.