Friday, April 25, 2008
Developing Questions for the CMMI Specific and Generic Goals Would Lead to Implementing Alternative Practices
Thursday, April 24, 2008
For legacy projects, the project plan, if it exists, was created well before the organization heard of or considered implementing a process improvement model like the CMMI. Consequently whatever exists was not developed per the current PP processes and there is no business value to go back and attempt to retrofit the old plan to the current process. What does make sense is for all project re-planning and re-baselining activities from this point forward to follow the new PP processes.
Wednesday, April 23, 2008
A Functional Configuration Audit (FCA) is a CM audit that verifies that the functions of the as-built product match the baselined functional requirements and that the operational and support documentation is complete and satisfactory.
Thursday, April 17, 2008
Amir Shahzad Khan posted these two fairly realistic scenarios to the CMMI discussion group.
We have resources that are on the bench waiting to start a new project and/or new billable work. We have decided to draw on this pool of idle resources to staff the SEPG and the ML 3 process teams. Each person has accepted these new responsibilities and they are working their assigned SEPG tasks. Suddenly, there is new billable work or a new project starts. Now management reassigns these resources that were on the bench to the new work leaving their assigned SEPG tasks incomplete, severely impacting the SEPG schedule. How to do tackle this kind of situation?
People are selected from the organization to staff the SEPG. They are assigned to Process Areas that match their area of expertise. However, most people are reluctant to work on their assigned SEPG tasks and they either don’t deliver or deliver much less than expected, which impacts the SEPG schedule. The primary reason of their reluctance to deliver is that they don’t consider their assigned SEPG tasks as their core area of responsibility. Since the SEPG support will not affect their performance appraisal they don’t take it seriously. They only receive verbal appreciation. What kind of reward or penalty can be introduced in this regard so that people deliver what they have committed?
What is described in both scenarios is a serious lack of Management Commitment to process improvement, the SEPG, and the CMMI. Lack of Management Commitment is your worst enemy and will effectively kill all of your efforts, despite your best intentions. What is necessary is for management at ALL levels in the organization to actively support these initiatives, not just pay lip service.
First off it is a bad idea to assign people on the bench some SEPG “busy work” just to keep them occupied until a billing opportunity comes along. You should have recognized this problem as one of your major risks in the Process Improvement Plan and defined a Risk Mitigation strategy to use when people are reassigned and removed from their SEPG duties. The SEPG should report these issues to the Management Steering Group (MSG), who should be held accountable for allowing key SEPG resources to be reassigned. If these resources are also key people for billable work, they should have never been assigned to the SEPG. Instead they could be considered as Subject Matter Experts that can be called upon from time to time to consult with the SEPG. There should be a core set of dedicated people on the SEPG. Others who have “signed up” to work on the SEPG should be allowed by management to support the meetings, even if they have been reassigned. Look at the IPPD practices in OPD and IPM for guidance on establishing these types of management mechanisms.
This scenario sounds like management has not given clear direction as to the importance of the SEPG to its members and the organization as a whole. If management doesn’t clearly think that the SEPG is important, then why should anyone else? The Process Improvement Plan should have identified this problem as a major risk as well. If someone has been assigned to the SEPG, their SEPG role should be part of their job and they should be held accountable for their performance of their assigned duties. The SEPG is effectively the project team and the MSG the project manager. The MSG should be taking a major role in reviewing the progress to the plan and resolving issues in both scenarios.
Tuesday, April 15, 2008
2. We came to believe that a model greater than ourselves (the CMMI) could restore us to sanity.
3. We made a decision to turn our processes and procedures over to the care of Software Engineering Institute.
4. We conducted a searching and fearless gap analysis of our organization.
5. We admitted to our Lead Appraiser, to ourselves, and to our executive management the exact nature of our process weaknesses and gaps.
6. We were entirely ready to have our Lead Appraiser help us address these weaknesses and gaps.
7. We humbly asked our Lead Appraiser to help us remove our weaknesses.
8. We made a list of all projects that had suffered because of our bad practices, and became willing to take corrective actions to address the issues, as applicable.
9. We made direct modifications to our processes wherever possible, except when to do so would jeopardize the success a project.
10. We continued to appraise the organization, and when we had weaknesses we promptly admitted them.
11. We sought through the Engineering Process Group (EPG) and the Management Steering Group (MSG), to improve our direct contact with our Lead Appraiser and the SEI, asking only for their knowledge and expertise to guide us on our process improvement journey.
12. We have recognized the benefits of process improvement as the result of these twelve steps; we have tried to carry this message to other internal groups and external organizations and to practice these principles in all our affairs.
Monday, April 14, 2008
AM only has one Specific Goal - The terms of the supplier agreement are met by both the acquirer and the supplier. SAM uses the term project instead of acquirer. This difference means that AM is applied in a broader sense than SAM. SAM focusses on the project's needs for acquiring a product or service from a supplier. AM focusses on the acquirer, which may be
· Supply chain
· Supply sourcing
Mike Phillips/SEI said in the CMMI-ACQ class that he has a list of 17 different terms for acquirer.
Friday, April 11, 2008
I ran into this problem years ago when I was the ISO 9000 Management Representative in a small software company. It was a constant struggle to get people to document and follow their procedures. I even had one developer who said “I just want to be left alone in my office with the door shut so I can write code.” I just had to maintain a positive attitude and continue working towards the end goal despite all the negativity and stupid comments like “OK, what is the documented procedure for making coffee now?”
I had another experience a few years back trying to teach the Software CMM class at a client site. Most of the students didn’t want to be in the class, but were forced to by management. In fact, there was one particular student who just sat in class, did not participate, and had a smug smile on his face the whole time. Half way through the second day the client decided, based on feedback from the students after hours on Day 1, to cancel the remainder of the class because they felt they didn’t need the training, it didn’t teach them anything they didn’t already know, and therefore it was of no value to them.
There isn’t a whole lot you can do with this attitude. You basically are a lone voice crying in the wilderness. They won’t listen to you no matter what you tell them. I characterize these types of people and organizations as being in the first step of the Twelve Step Process, they are in denial. They are a disaster waiting to happen and nothing is going to budge them to look at things differently until after something bad happens. About all you can do is “plant the seed” about the CMMI and process improvement and walk away. When things take a turn for the worse, they may remember what you told them and they may come back to you for help.
Thursday, April 10, 2008
QPM SP 1.2 states "Select the sub-processes that compose the project's defined process based on historical stability and capability datat." One of the key words in this practice statement is "historical". Sources of historical stability and capability data include the organization’s process performance baselines (PPBs) and PPMs (OPP SP 1.4 and SP 1.5). And the intent of this practice is to tailor the organization’s standard processes (OSSP) so the project’s processes will support the project’s QPPOs defined in SP 1.1.
QPM SP 1.3 states “Select the sub-processes of the project’s defined process that will be statistically managed.” The model does not say that these sub-processes MUST be statistically managed, but these WILL be statistically managed. And this practice focuses more on than just selecting sub-processes. It also focuses on identifying the attributes of each sub-process that will be used to statistically manage the sub-process.
People appear to get confused with Maturity Level 4 (ML 4) sounds when trying to understand QPM independently from the rest of the model. You cannot do that. You have to consider OPP and QPM together when looking at ML 4. OPP provides the analysis of the historical data to build the PPBs and PPMs which are then used by the projects to help them appropriately tailor the OSSP to what will meet the project’s QPPOs. QPM SP 1.2 uses the word "compose", which may contribute to some of the confusion. Since compose is not in the CMMI Glossary, then the dictionary definition is applicable. The Webster definition of compose is “To form by putting together two or more things or parts; to put together; to make up; to fashion.” So for this practice, compose means going to the OSSP and selecting the processes and sub-processes that will meet the QPPOs and then applying the necessary tailoring criteria. What this practice implies is that the OSSP may have several different processes for each Process Area (PA) so the project manager can choose the most appropriate one when composing the project's defined process.
Another ML 4 concept that may be the cause of confusion is the notion of Quantitative Management vs. Statistical Management. QPM SG 1 is all about quantitatively managing the project, which means the Project Manager must be periodically reviewing progress, performance, and risks using the PPMs to determine/predict if the project will meet its QPPOs. If not, then appropriate correctives actions must be taken to address the deficiencies in achieving the project’s QPPOs (QPM SP 1.4) Statistical Management is covered by QPM SG 2. The intent is for the project to statistically manage those sub-processes that are critical to achieving the project’s QPPOs. There are only a small set of sub-processes that are critical to achieving the project’s QPPOs. If the organization were to statistically manage all processes, that would be insane. This approach would mean that the organization would need PPBs and PPMs for EVERY process, regardless of their importance to the QPPOs. And then the shear overhead of collecting, analyzing, and reporting data on every process would most likely bring the organization to its knees. Work would come to a standstill because it was taking far too much time to statistically manage each process and taking corrective actions that may not be necessary. Unless you have an infinite budget and dedicated staff to perform these analyses, that is why the model states to statistically manage SELECTED sub-processes.
Wednesday, April 9, 2008
There are 6 CMMI for Acquisition (CMMI-ACQ) Process Areas (PAs) unique to this new constellation: Agreement Management (AM), Acquisition Requirements Development (ARD), Acquisition Technical Management (ATM), Acquisition Validation (AVAL), Acquisition Verification (AVER), and Solicitation and Supplier Agreement Development (SSAD). AM, ARD, and SSAD are Maturity Level 2 PAs and ATM, AVAL, and AVER are Maturity Level 3 PAs.
In addition to these six new PAs, there are other changes at the Specific Practice level in Project Planning (PP), Project Monitoring and Control (PMC), Integrated Project Management (IPM), and Organizational Process Definition (OPD).
PP SP 1.1 - Establish and maintain the acquisition strategy
PP SP 2.7 - Plan transition to operations and support (the addition of this SP makes the old SP 2.7 now SP 2.8)
PMC SP 1.8 - Monitor transition to operations and support
OPD SP 1.7 - Establsh and maintain organizational rules and guidelines for the structure, formation, and operation of integrated teams
IPM SP 1.6 - Establish and maintain integrated teams
The difficult concept to understand if your background is in the CMMI for Development (CMMI-DEV)is that every core PA is interpreted in the context of the acquirer's processes.
When looking at the Continuous Representation for CMMI-ACQ the category Acqusition replaces the category Engineering from the CMMI-DEV constellation. And the other change is that Requirements Management (REQM) is now included in the Project Management category.
And on a final note, it is possible to perform a blended appraisal CMMI-DEV and CMMI-ACQ.
Tuesday, April 8, 2008
One of the underlying principles of the CMMI is the principle of setting goals and objectives. Senior/Executive Management should be setting and clearly communicating the organization's business goals and objectives. The policy required by GP 2.1 is then the place for aligning the quality system with the organization's business goals and objectives.
Another problem I have encountered is that organizations tend to write huge policies when in point of fact, all that is necessary to clearly communicate the organization's policy is a few sentences or a paragraph.
And in an extreme case, I have seen one organization declare that it is their policy for each organizational unit to achieve a specific Maturity Level. This odd policy is very similar to the blog I wrote the other day titled Setting Proper Goals and Objectives. The organization's core business is NOT to achieve a Maturity Level, implement a specific model, or comply with with a specific standard. The organization may need to achieve a specific Maturity Level or comply with a standard in order retain existing business or win new business, but that is not why the organization is in business. The organizational policy writer(s) need to dig a bit deeper and write the policies to be aligned with the organization's actual business goals.
For example, if one of the organization's core business goals and objectives is to deliver high quality products and services to their customers, then each organizational policy should have that focus. Keeping this focus in mind, then an example Requirements Management Policy might look like this:
Organization XYZ is committed to delivering high quality products to its customers by establishing a common understanding between the customer and the project of the customer’s requirements. This policy applies to all XYZ projects that meet one or more of the following criteria:
1. [Project effort is expected to exceed 1000 hours]; OR
2. [Project budget is expected to exceed $250,000]; OR
3. [Project schedule is expected to exceed 6 months].
All projects that satisfy these criteria must follow the Requirements Management Process and ensure that:
1. The requirements are documented.
2. The requirements are reviewed by the managers, and other affected groups.
3. The plans, work products, and activities are changed to be consistent with changes to the requirements.
Senior Management is responsible for:
1. Establishing and ensuring conformance to this policy.
2. Establishing responsibility for analyzing the system requirements and allocating them to hardware, software, and other system components.
3. Providing adequate resources and funding for managing the allocated requirements.
4. Reviewing the activities for managing the allocated requirements on a periodic basis.
Monday, April 7, 2008
1. Internal funding
2. Contract funds
3. Funding from their mentor/protege partner
What was significant for these two companies was their levels of senior management commitment. The President of one of the companies was actively engaged with their efforts. He sat in the same office with the team and reviewed the documentation. He had a very hands-on approach that led to rapid implementation. This type of approach won't always work. Senior management has to have the proper attitude towards process improvement and be very supportive.
Other steps these companies took to rapidly improve were to establish a Management Steering Group (MSG) and Engineering Process Group (EPG) very early on as well as provide detailed training on a Process Area (PA) by PA basis, about every two weeks. They had discovered that the Introduction to CMMI class was a great introduction, as indicated by the course title, but the information did not sink in at first. They needed more in-depth discussions, which then led the teams to become more proficient in their PA roles. They also engaged with their mentor/protege (in other words, their CMMI consultant) early on as well who provided guidance and how to implement the model and avoid known pitfalls.
It was interesting to note that the lessons learned by these two small companies are the same lessons learned by much larger organizations and align with what we CMMI consultants and Lead Appraisers always tell our clients. But these lessons are much harder to "sell" to small companies that are seriously resource constrained.
Saturday, April 5, 2008
One of the underlying issues in the "doomsday scenario" discussed in this article is management commitment and the proper setting of Business Goals and Objectives, Process Goals and Objectives, Quality Goals and Objectives, Project Management Goals and Objectives, etc. Achieving a certification like ISO 9000 or a CMMI Maturity Level is NOT, and should NEVER be, one of these Goals and Objectives. Unfortunately, setting the achievement of ISO or a CMMI Matuity Level is often what I see as a Business Goal and Objective when I teach the CMMI class or pay the initial visit to a new client. When the organization has this view of why it is in business, then they display ALL of the dysfunctional behaviors you noted above.
In my experience, most managers do not know how to perform proper goal setting without some coaching and mentoring. Either the goals are too lofty (motherhood and apple pie) or they have nothing to do with their core business (achieve ISO 9000 etc.).
And if their customers are demanding ISO 9000 or CMMI in order for the company to win new business, then it is extremely difficult to get management's attention to set proper goals and objectives.
Friday, April 4, 2008
I am pleased to announce that PPQC is now authorized by the Software Engineering Institute as a partner provider for the CMMI-ACQ, both as a provider of the CMMI-ACQ training class and also SCAMPI A, B, and C appraisals to the CMMI-ACQ. Visit these links for more information PPQC Services and PPQC Training.
The CMMI-ACQ version 1.2 was released in November 2007 and it provides guidance for the application of CMMI best practices by the acquirer. Best practices in the model focus on activities for initiating and managing the acquisition of products and services that meet the needs of the customer. Although suppliers may provide artifacts useful to the processes addressed in CMMI-ACQ, the focus of the model is on the processes of the acquirer. CMMI-ACQ integrates bodies of knowledge that are essential for an acquirer.
By integrating these bodies of knowledge, CMMI-ACQ provides a comprehensive set of best practices for acquiring products and services. CMMI-DEV may be treated as a reference for supplier-executed activities for systems engineering, software development, and hardware design work in an acquisition initiative. In those cases where the acquirer also has a role as a product or service developer (e.g., taking responsibility for the first few layers of product development and integration), CMMI-DEV (in particular the Requirements Development, Technical Solution, and Product Integration Process Areas) should also be used to improve the acquirer's product or service development processes.
Tuesday, April 1, 2008
The FERPA form has been a pain for instructors because you have to be sure to collect them from each student and submit them to the SEI. In the past the SEI has stated that the FERPA forms were required by Carnegie Melon. In addition, the FERPA form is required so the results can be input to SAS and then made available to the Lead Appraiser when planning an appraisal.
The SEI made some small incremental additions to the core 16 Process Areas to accommodate ACQ. These changes are to the informative material. The CMMI Constellation architecture allows the SEI the freedom to tailor the core PAs at the sub-practice level. The sub-practice changes are posted on the web.
There is no difference in SCAMPI appraisals for the CMMI-ACQ. The SAS is almost ready to use for CMMI-ACQ.
On-line training for CMMI-ACQ is being developed with blended learning and will be available in May at about the same cost. The intent is that students can take the class online and then the instructor will schedule an online meeting with the class to discuss the material.
The CMMI-ACQ contains a new feature in the Process Areas. Typical Supplier Deliverables. This new feature ≠ deliverable artifacts. The Typical Supplier Deliverables are there to remind the acquirer of typical work products the acquirer might produce
The core Process Areas have some differences and this is intentional. To quote Rusty Young “Informative NOT Ignorative!” so the changes are important to note.
The CMMI-ACQ class will be a one-day add on training class. The current plan is to deliver the three-day class ( a generalist course) followed by a single day supplemental class in either DEV, ACQ, or SVC. The three-day CMMI class is for most people and the one-day supplemental is intended for Appraisal Team Members. This new structure will be available in about a year from now, March 2009.
When conducting a SCAMPI for a combined DEV and ACQ appraisal use the Continuous Representation if the overlap of the two constellations becomes a strength. You should be able to enter CMMI-DEV plus some ACQ PAs that best fit in the OTHER category in SAS.
The SEI relabled the categories in the Continuous Representation for CMMI-ACQ. REQM is included in Project Management.
And, finally, comparisons of the CMMI-ACQ to CMMI-DEV are provided at http://www.sei.cmu.edu/cmmi/models/ACQ-v12-comparetoDEV.html . Go to the bottom of the page for chapter-by-chapter detailed comparisons and to download PDF copies.
There may be a CMMI v1.2a update released after all the CMMI constellations have been released, perhaps by the end of 2009. And it may be called v1.3 instead.
So what this all means is that you have to define at the organization level what the standards are for verification environments, in IPM define the project’s verification environment(s) in the project plan, and in VER define what the various verification environments are. When you consider VER, there are at least two and possibly more verification environments depending on the system you are developing. At a minimum you have a peer review environment and a product testing environment. Both of these environments have requirements, resources, equipment, and tools which you will have to define yourself. In the case of peer reviews and inspections the environment is many times just the conference room with a whiteboard, LAN connection, computer, and a projector, plus other requirements. The testing environment may be a specific room and equipment set aside as a testing lab, etc. So, to implement VER SP 1.2 you have to define the requirements for each verification environment that you have defined for the project, along with the resources, equipment, and tools, and then the acquisition of these items to actually construct and maintain the environment(s), which also include upgrades over time.
And keep in mind the CMMI definition of the phrase “establish and maintain”, which means formulate, document, and use. Therefore you need to design the environment, document the environment, and use the environment for verification.