• Ei tuloksia

4 Theory

4.5 Challenges or Risks of CMMI Implementation

Now, there is need to discuss challenges being faced by an organization while implement-ing CMMI. Findimplement-ings about most common challenges faced durimplement-ing CMMI implementation

58

are discussed in this section. This section also discusses some possible recommenda-tions to mitigate the challenges. This discussion can help an organization to handle any impending risks or challenges during future activities.

Literature survey reveals most common types of challenges or risks occurred during CMMI implementation. It can be related with deployment, management, and understand-ing of CMMI model. The most common types of challenges are: Inadequate Metrics De-ployment, CMMI Program Management Challenges, CMMI understanding challenges and Perception about CMMI. (Hamon & Pinette, 2010; Leeson, 2009)

Inadequate Metrics deployment can be related with meaningless, useless and unspeci-fied indicators of implementation of CMMI. It can create too many complicated indicators without triggering actions. Implementation can be inexperienced in nature and done by inexperienced people. CMMI implementation can be complex solutions that is very difficult to maintain. It is highly possible that implementation can create same type of indicators for most situations. There is possibility that people can follow outdated measurement plan because CMMI is less agile in nature. The implementation can generate bad quality data that is difficult to analyse. Sometimes CMMI processes are not followed properly.

CMMI Program Management Challenges can list multiple challenges. It becomes diffi-cult to implement CMMI successfully due to apathy of senior management. If senior man-agement is not participating in making objectives, policies and requirements for processes can result in failure. If participants and sponsors are not following their role and responsi-bilities, then CMMI implementation can fail. Managing implementation team is also a diffi-cult task. During CMMI implementation in an organization it is likely that the organization team focuses on getting maturity level rather improving quality of products or services.

CMMI understanding challenges can be related with lack of understanding of global view of CMMI model. There can be lack of understanding of relationship between meas-urement and project monitoring. People may not understand generic practices of CMMI model. It is possible that people may not understand the difference between capability and maturity. People may fail to understand the end-picture and overlook the direction of ac-tion for moving from lower level to higher level of maturity and capability.

Perception about CMMI can be wrong among people. It may be seen as taking away the flexibility of other processes e.g. Agile and team might feel that it requires more documen-tation and bureaucratic.

59 4.6 Conceptual Framework

This section discusses the conceptual framework of the theoretical part of this Thesis. It presents the objective of the researcher. It is trying to find what the researcher is trying to achieve as a part of this study. It defines the relevant variables of this study and maps out how they can relate with each other. The conceptual part of this study focuses on three aspects: goal of CMMI implementation in the case company, impact of CMMI implementa-tion and challenges during CMMI implementaimplementa-tion with agile processes. During the journey of CMMI implementation, it proposes a framework to study benefits of using CMMI on agility and productivity of the case company and discusses the challenge encountered during CMMI implementation. The researcher will discuss the conceptual framework with representatives of selected teams and analyse the outcome.

4.6.1 CMMI Implementation Objective

In the first part of the study the researcher aims to evaluate the success of CMMI imple-mentation in the case company. The success is evaluated after final appraisal conducted by an appraisal team of EXTERNAL AGENCY with selected teams. The researcher is also a part of this appraisal team and participated in interviews and observation of docu-ments. The appraisal team will evaluate the outcome by observing various documents and semi-structured interview with selected teams participating in the CMMI implementation pilot project. During the journey of CMMI implementation, it is expected that the appraisal team will assess the capabilities and practices followed by teams. It is expected that the capability and practice areas should improve agile way of working and high-quality prod-uct delivery. CMMI model should help a prodprod-uct-centric organization to become agile, mature, predictable and productive.

The success of CMMI implementation can be measured in terms of achieving intents and values specified for each capability and practice areas of CMMI model as specified in sec-tion 4.2.3. The CMMI level-3 compliant model should show capability and maturity of lev-el-3. The organization should be able to show efficient in all four categories of capability areas: Doing, Managing, Enabling and Improving. These four categories propose some practices which are divided into 20 practices areas (PAs) for CMMI model level 3. These practice areas have defined intents and values. The researcher expects selected teams to meet these intents and values by following practices of CMMI model

The other way of measuring success of CMMI implementation to check the impact of CMMI implementation various agile practices and artefacts as specified in section 4.3.2. It is expected that the organization should be able to make agile practices predictable and

60

agile artefacts traceable. CMMI model expects documentation of agile way of working up to some extent. The CMMI model has already specified practice areas and practices for agile way of working in section 4.3.2. The researcher will evaluate the capability and ma-turity of selected teams in those agile way of working areas.

4.6.2 CMMI Enhances Agile Values

In this subsection, the focus of the researcher is to study the impact of CMMI implementa-tion on agile methodology. It can be measured by analysing the impact of CMMI model on agile values followed by the case company. Agile values can help in improved quality of product delivery, customer satisfaction, focus on business value and customers, transpar-ency, predictable delivery, costs and schedule and adaptability to changes. If CMMI model enhances agile values of the case company, then it will be taken as success of CMMI implementation. The researcher expects that CMMI should enhance agile values of se-lected teams. The researcher expects that CMMI helps agile values of an organization by making it more repeatable and predictable. The agile values have already been discussed in the section 4.1.2. The researcher has presented his views on the effect of CMMI model for four agile values in the following table.

Agile values How CMMI Model helps?

Individuals and Interactions over Processes and Tools

Lightweight CMMI model can help agile practices to do well. Minimal changes in the process as it progresses Working Software Over

Comprehensive Documen-tation

Lightweight documentation with well-defined guidelines for consistency. Documentation, review and verification pro-cess should be well-defined and followed consistently Customer Collaboration

Over Contract Negotiation

Contract negotiation with suppliers mostly and with cus-tomers less. Use predefined and repeatable process for contract negotiation with suppliers with focus on customer value

Responding to Change Over Following a Plan

Change should become easy and can be implemented easily. Well-defined change process for understanding customer value, technical solution etc. It should not be-come bureaucratic.

Table 19. Impact of CMMI model Implementation on Agile Values

61

4.6.3 CMMI and Agile helping in better product delivery

The researcher will further evaluate the impact of CMMI model on product delivery pro-cess of an agile organization. It can be studied by analysing the improvement in agile product delivery after CMMI implementation. The researcher hypothesizes that CMMI practice helps in improving product delivery by improving agile principles. Agile principles lay out the foundations for way of working of agile teams and product delivery. That’s why this has become a part of conceptual framework of this study. Findings from literature sur-vey also has supported the need of this study. The framework is explained in the following Table. In the following Table the researcher has proposed an idea that product develop-ment activity is driven by agile principles as discussed in Agile Manifesto. The researcher has proposed an idea that how CMMI can improve certain product development activity and consequently agile principles followed in the case company.

Agile Principles Why Important in Product Development

The best ways to make cus-tomers happy while continu-ously delivering valuable software are to ship early, iterate frequently, and listen to changing market needs.

Lightweight CMMI can help in building products with minimal and development team.

Accommodates changing require-ments throughout the development process

Focus should be on changing customer requirements, and competitions and adaptation to changes accordingly.

CMMI can help in reducing efforts needed for managing changes.

Helps the development team to focus on customer requirements, satisfaction and feedback. Helps in reviewing and sharing product strategy and plans and adjusting accordingly.

Supports delivery of working software frequently

Focus should on breaking a product’s development into smaller parts and “shipping”

those parts iteratively and incrementally.

CMMI supports using agile pro-cesses e.g. sprint regularly to re-lease product frequently. Propos-es use of continuous deployment for shipping software regularly Supports better col- Focus on communication that CMMI proposes to use daily

62 busi-ness side of organization for successful amalgamation of business and technical in-sights.

stand-ups, meetings to bridge the gap between technical and busi-ness aspects of the product. Daily stand-ups help in better right kind of people and skills.

CMMI helps in properly defining and managing requirements. It helps in sharing user stories with the team and outlining clear prod-uct roadmap. Helps in explaining what, why and how things will be developed.

CMMI proposes to use agile pro-cesses such as daily stand-ups, backlog grooming, sprint planning,

Focus should be on delivery of useful product with minimal viable features rather than perfect one. The product should be delivered with a set of features iteratively and incrementally. Less focus on documentation and more on working software

CMMI can help in using the pro-cess repeatedly for designing and developing minimal viable prod-ucts iteratively and incrementally.

It also helps in verifying and vali-dating fast shipping products.

Supports a expec-tations that is stressful and difficult to achieve.

CMMI ensures that basic activities should be followed repeatedly with minimal efforts. Team should focus on better customer value with proper planning and design.

Attention to neat and tidy to keep things

CMMI helps a team to understand technical debt implications of new features added to backlog. It also helps in allocating development resources to appropriate tasks

63

simple forever. with estimated efforts. More focus on customer value and less on performing basic activities. in a better way. Emphasizes building a product in such a way that 80% intended result can be achieved with 20% of the work.

If basic activities happen with min-imal efforts and seamlessly by following repeated processes, then product team can spend more time on product delivery.

Prioritization technique helps team to apply agile principle in a better way.

This ties with agile value of teams and interactions over processes and tools.

CMMI helps the team to become self-organized by adopting pro-cesses repeatedly and seamless-ly. This helps a team to take re-sponsibility over their respective

It does not favour following a strictly defined process for every sprint and release.

CMMI helps team to use experi-mentation and testing in both product development and process improvement e.g. retrospectives.

It also helps to create a culture of trust and transparency that en-courages open communication.

Table 20. Impact of CMMI implementation on Agile Product Delivery

4.6.4 Challenges of CMMI Implementation and its Mitigation

Any model if implemented in an organization is filled with challenges and risks. So, it be-comes important to study challenges faced during implementation of a model. The most notable challenges have already been discussed in section 4.5. But a conceptual frame-work must present holistic view on challenges with some probable mitigation plans. In this section the researcher aims to discuss some probable challenges with mitigation plans with selected teams. This will help the case company to make a proper plan to make

64

CMMI model effective in the case company. The following table presents researcher’s view on various challenges and their mitigation plans for on-going CMMI implementation.

Challenges of CMMI Implementation Mitigation Plans Scrum Implementation with estimated

time, effort, and resources is a major challenge. Missing predictability

Ensure active participation of personnel in time and effort estimation appropriately. CMMI en-sures predictability and transparency

Poor opinion about CMMI and Scrum compatibility

Educate people with benefits of using CMMI practices with Agile process. Clear doubts.

There cannot be enough time to Im-plement CMMI with Agile

Start with CMMI Levels from 2,3,4,5 etc. and train people to use it accordingly

Implementation for Scrum with limited personnel resources

Maintain Optimal staffing levels

Inflexible nature of deadlines Establish Effective communication to run busi-ness smooth and achieve target on times.

Lack of process standards before CMMI implementation

Facilitate access to information about CMMI compliant agile processes

Table 21. Challenges and Mitigation Plans of CMMI Implementation

65

5 Findings

Before discussion on findings, it is noteworthy to mention that the conceptual framework has been mentioned in the previous chapter. The conceptual framework has been dis-cussed with and approved by a committee of PO’s of selected teams and representative of EXTERNAL AGENCY (section 2.3 Table 4) in the workshop held in Aug 2020.

In this chapter, the researcher discusses findings of result of CMM Implementation in the case company. It also discusses the findings of impact analysis of CMMI implementation on current agile practices of the case company. It also discussed the impact of CMMI on challenges of agile operations. The CMMI implementation activities have been assessed by an appraisal team (section 2.3 Table 4) constituted by EXTERNAL AGENCY. The re-searcher was also a member of appraisal team and participated in all appraisal activities.

The appraisal activities included presentations of agile artefacts, semi-structured interview with team members and observation of internal documents.

Next, the researcher has assessed the impact of CMMI implementation on current agile practices followed by the case company. Also, a quantitative assessment of impact analy-sis has been performed. The quantitative analyanaly-sis presents views of teams and individuals both. The researcher has also discussed the effect of CMMI to mitigate challenges of agile practices. The research related with impact analysis has been performed by researcher individually. These findings are discussed in three subsections of this chapter.

5.1 Outcome of CMMI Implementation

In this subsection, the study has been carried out to know the capabilities of selected teams in implementing CMMI. The study has been carried out in collaboration with EX-TERNAL AGENCY. The findings have been documented in Appendix 7.

The final appraisal of CMMI implementation has been carried out 6 months after current state analysis (IR3). During these 6 months period (May 2020 – Oct 2020) the selected team tried to implement the suggested idea after IR3. The researcher was involved in as-sessing the progress of CMMI implementation as internal and external researcher. The researcher was himself a part of one of the selected teams for this study and was carrying out implementation process. The appraisal activity followed the basic principle of action research (plan-act-observe-reflect). The researcher along with appraisal team used to plan with team members to implement CMMI practices, team members followed instruc-tions, appraisal team used to observe the progress and appraisal team used to give

feed-66

back. This process continued for several iterations. In the early November 2020, the praisal team performed final evaluation of CMMI implementation. The findings of final ap-praisal are documented in Appendix 7.

It has been found out that teams for case projects 1 and 2 are developing embedded software that connects the site devices to IoT cloud. Teams also build cloud software on a 3rd party IoT platform. The cloud software teams follow continuous integration and rapid release cycles for the cloud software. Embedded software follows the release cycles with rest of the embedded software. Teams are based in Finland and India and work actively with 3rd party technology vendors. The program follows quarterly planning cycles followed by team level planning every two weeks (sprints).

The team for case project 3 develops and releases embedded software for control sys-tems. The team is situated in Finland. The program works closely with other programs to plan new features and bug fixes included to the releases. The program follows quarterly planning cycles followed by team level planning every two weeks (sprints).

The researcher oversaw CMMI implementation to be carried out in multiple iterations be-tween May 2020 and October 2020. The findings of final appraisal have been categorized into required findings and optional findings. The required findings are strengths and weak-nesses of the team and the optional findings are improvements that are suggested to be implemented in future.

Strengths are preliminary or final findings, which can be an exemplary or noteworthy im-plementation of a process that meets the intent and value of a CMMI model practice.

Weaknesses are preliminary or final findings, which can be an ineffective, or lack of, im-plementation of one or more processes that meet the intent and value of a practice based on verified objective evidence, and applicable across the project(s) and organizational support functions or Organizational Unit as a whole. This is realized either by a) the pro-cess itself does not address a CMMI practice requirement, or b) the project(s) or organiza-tional support functions are not following their process that IS compliant with the intent and value of the applicable CMMI practice.

Improvement Opportunities are preliminary or final findings about practice areas or prac-tices which are typically compliant with the CMMI but represents an opportunity where the process could be improved.

67

The appraisal team found that the selected teams have met the criteria to meet require-ments for CMMI level 3. In almost all cases, the appraisal team did not find any weak-nesses. The appraisal team found that all teams can perform CMMI practices. In some cases, the appraisal team recommended improvement opportunities. But this was not any deterrent. Finally, the case company achieved the objective of CMMI level 3 certification.

Hence, it can be said that CMMI level 3 has been successfully implemented in the case company.

The analysis of Appendix 7 also reveals some other useful information too. It helps in veri-fying the fact that the case company is capable to perform agile way of working (e.g. back-log grooming, sprint or release planning, daily scrum, sprint review, sprint retrospective, definition of done, pair programming, and code refactoring) perfectly. It has been found

The analysis of Appendix 7 also reveals some other useful information too. It helps in veri-fying the fact that the case company is capable to perform agile way of working (e.g. back-log grooming, sprint or release planning, daily scrum, sprint review, sprint retrospective, definition of done, pair programming, and code refactoring) perfectly. It has been found