Tuesday, August 19, 2008

Does the Health Care industry use the CMMI?

I have been contemplating the idea of CMMI in the mental health and behavioral healthcare industries. Can you tell me if you know any organizations in these areas employing CMMI? Some in the healthcare industry are involved, correct?

The CMMI is a process model that can be adapted to any industry. Sometimes the model reads a bit like a "software only" model, but with a little context and creativity it is a powerful solution to fill the need of a process framework for any industry that plans, designs, and delivers any type of work product.

The CMMI has broad adoption by the health care industry, often with those that are partnered with the government through Medicare or Medicaid, or with those that deal with Blue Cross Blue Shield, because these are two entities that are starting to require CMMI as a framework for service and product delivery.

We often see large health-insurance providers (I always cringe when people say they are "health care providers" . . . ) adopt the CMMI, sometimes due to government mandate but also for the "right" reasons (performance improvement).

I'm not aware of any examples specific to mental health, but I see no reason why it couldn't be applied in that scenario.

I'd be interested in hearing more about your thoughts as they progress...

www.broadswordsolutions.com

Friday, August 15, 2008

Is process experimentation incompatible with the CMMI?

Many companies are gaining benefit from applying the Toyota Production System or Lean Manufacturing and Development. One aspect of TPS encourages experimentation with the process on a small scale to test a hypothesis about possible improvements to the process. If the experiment succeeds, the team changes the process to take advantage of the success.

Is this approach incompatible with CMMI? Does it require documentation of tailoring each time an experiment is run regardless of how large or small?

This is a GREAT question! The short answer is no, of course the CMMI is not incompatible with this idea.

As a matter of fact, there are Process Areas that a specifically designed to address this sort of thing - Organizational Innovation and Deployment (DAR) and Causal Analysis and Resolution (CAR).

These Process Areas employ "Hypothesis Testing" or other SPC techniques to determine if a change should take place, and if the test is "true" then OID is used to pilot, and then deploy, the improved process.

One of the great misunderstanding about the CMMI is that it's a shackle that is placed upon engineering that forces everyone into a single process. ML3, called the "Defined" process level, is entirely dedicated to the OPPOSITE of that notion. Organizations should draw from a SET of standard processes, not a single process, and should "compose" a process for their project based on guidelines (tailoring). If you would like to do "something different" there is no requirement to document the entire thing, but there is a requirement to manage the deviation, and to submit results (lessons learned for instance) back into the process (GP3.2 and IPM SP1.6).

So, maybe I'm contrarian, but I see the CMMI as supporting ultimate flexibility and agility, ESPECIALLY in ML3-5, as opposed to the mythical shackles that so many (and too many "consultants") believe in.

www.broadswordsolutions.com

What does "Organization being Appraised" mean in the SEI Maturity Reports?

I’m a big follower of SEI’s Maturity Reports, but I'm confused about the phrase "Based on the total number of employees within the area of the organization that was appraised”. Does this refer to the Organization Unit, or the Organization within which the Organizational Unit operates?

The concept of "Organizational Unit" exists within the Standard CMMI Appraisal Method for Process Improvement or "SCAMPI," the appraisal methodology used to appraise an organization. The "OU" represents the organizational scope of the appraisal itself, not the entire organization.

An OU could be a geographical location ("everyone in Toledo"), a functional organization ("Software development"), a management tree ("everyone reporting to Bill") or some other segmentation.

The OU must be credible and verifiable by the Lead Appraiser. So something like "every project with less than two people" with only one project in the scope would NOT be credible! Don't laugh, there is a famous example of one company, outside of NA, that did this.

Appraisals are conducted against the "OU", so it is technically only the "OU" that is awarded a maturity or capability level, and hence is the foundation of the data that is published by the SEI.

So therefore, the data in the report comes out of the SCAMPI results, which report the size of the OU, not the overall oganization.

www.broadswordsolutions.com

Monday, August 11, 2008

What are the ideal qualifications for being a member of an SEPG?

Our company is going for ML3 and we want to know what are the ideal qualifications for being an SEPG member?

Alive would be preferable, but we can tailor that process if you need us to!

But seriously folks . . . .

A Software Engineering Process Group, or SEPG, is usually a group of people that help to define, deploy, and manage a process within an organization. There is an extensive post from last year on this blog that defines all of the different "flavors" of an SEPG, but you get the picture.

When determining *who* should be part of an SEPG, it's helpful to remember that your process should be approached as if it were a product (actual, it IS a product!). So, if you were to develop and deploy a new product who would you want on your team?

The ideal candidates would have product knowledge (engineering and project management), leadership skills (product manager), change management and deployment skills (consultant), communication skills (marketing), and mentoring skills (teacher).

Can you find ideal people who are coding, managing, consulting, marketing, and teaching gurus?

Thankfully there are few of us around! (hey, you said IDEAL candidates didn't you?).

But you CAN be successfull in assembling an SEPG with a few Subject Matter Experts, some managers, some marketing help, and some consulting help, and you could be successful. I would first establish just what you want the SEPG to accomplish, then figure out the skills you need.

I was just teaching a class at a client and I asked them "how many years have you spent to become an proficient engineer?" They answered with their years of experience. I followed that with "how many years have you studied to become a PROCESS engineer?" Most answered "an hour."

How can they hope to be successful? Process Engineering is an entirely different discipline, and just because they are good at coding doesn't mean they'll be equally good at process engineering. The problem is, because they're engineers, they THINK they're good at it. And there is no telling them otherwise!

So choose with care. Good luck!

www.broadswordsolutions.com

Saturday, August 9, 2008

Should SAM Apply to internal support groups like QA?

Congratulations on your blog! I visit it often to get the right answers about CMMI. This time, I have a question for you about SAM

We are medium-sized organization that is implementing CMMI ML 2 and we have a QA internal group that support all the project groups for ver & val activities.


Should this organization use SAM to define the services agreements between these two groups?

To SAM or not to SAM - that is the question! This is oft debated in the Lead Appraiser community, because the SEI, in it's wisdom (and I'm not even being sarcastic here) has agreed that SOMETIMES SAM just doesn't apply to an organization and, as such, may be declared Not Applicable for purposes of the appraisal.

Let's separate the appraisal from actual process adoption - which should be pretty close but in practice sometimes is not.

For a SCAMPI ML2 appraisal, the term "supplier" applies to any organization, internal or external, for which you create and maintain agreements for the delivery of products and/or services that are integrated into your products or services.

So, in that scenario, I sometimes see software engineering organizations using SAM to manage the relationship and service-level agreements with the infrastructure (servers and networks) group, or maybe with a testing organization. This makes a lot of sense to do and if you are organized that way, then GREAT! In that scenario SAM could apply to you.

Settled? Not so fast!

Many organizations do NOT run their businesses that way, and, especially for the smaller groups, SAM can be useless overhead and is often declared "NA" if the groups are internal.

Now, I've heard some LA's "declare" (as if they're Zeus) that SAM MUST be applied in this scenario - and this is where I violently disagree with some LA's slave-like adherence to the model (if you hear them say anything like "the SEI makes you . . . " in any way, then run away as fast as you can!).

If this is your scenario, why not just include those groups in the scope of the appraisal, so they would be appraised just like any other part of the organization? This approach more than meets the spirit of the model if you also include them as part of the appraisal scope AND there is no need to create and maintain an entire set of process assets related to SAM.

ahhh! Less work - I love it!

So, in your scenario, the QA group would be interviewed and would need to produce evidence for VAL and VER (and probably some for REQM, PP, and PMC as well).

Of course, all bets are off with a TRUE external organization - say if you decide to contract out your QA to a third party. Then SAM probably would apply to your CMMI effort.

Good luck!

http://www.broadswordsolutions.com/

Sunday, August 3, 2008

I was just accepted to the SCAMPI B and C Team Leader Class. Any tips for passing?

I was just accepted into the SCAMPI B/C Team Leader Program and was hoping for some tips for passing the class.



Congratulations on your acceptance! It’s a great class and a great career move on your part.

As far as preparation for the class, a solid understanding of not only the CMMI model itself (including the meaning and purpose of the Generic Practices), but also a solid skill set for conducting appraisals.

For me, the biggest problem I see in our SCAMPI Appraiser community is that, while most have a solid understanding of the model, many don't have the pre-requisite consulting and client management expertise. An Appraisal is a sensitive, expensive, and trying event for a client, and the skilled appraiser will handle their concerns and fears with professionalism and empathy. One must not only be an expert at CMMI, but must also have Engineering and Project Management experience, and be a strong and effective management consultant.

The SCAMPI MDD (available for download from the SEI) is the handbook for appraisals, so read and understand that, but also begin to conceptualize in your mind what an appraisal is like – what the client is feeling and going through, how much it takes out of them, and just what it takes for THEM to conduct an appraisal.

Also try to get your self a copy of the SCAMPI Lead Appraiser Body of Knowledge (SLA-BOK) for review. I participated on the team that developed it and there is quite a bit of information in there.

As for the test, that's up to you. Pay attention in class, read the material, participate, and you'll likely do well. Good luck!

http://www.broadswordsolutions.com/

What is the difference between a Capable Process and Stable Process in High Maturity?

Our company is attempting to achieve CMMI ML5, and we would like to know what the difference is between a Capable Process and s Stable Process in High Maturity?



I often get inquiries from organizations that are "going for ML5" and then ask these types of questions. Before I answer it, you may wish to consider that the question itself is an indicator that you might only by "going for ML2 or 3" right now. The CMMI is all about indicators, or feedback concerning your current state, and the question indicates you may not have gone through the prerequisite steps to get to ML5.

ANYWAY....

While neither term is specifically tied to "high-maturity" it would be difficult to know if you have achieved either a capable OR a stable process without having at least implemented Organizational Process Performance (OPP), as this gives you the information you need to answer the question.

A Capable Process is a process that has achieved it's specified quality and product goals and objectives. A Stable process is one that is operating within specified control limits and without excessive variation. Obviously, statistical process control is required to understand this.

Practically speaking these could be the same thing, or, given the way organizations mature and adapt process over time, they could start out far apart and come closer together over a span of time - often years.

Good luck!

http://www.broadswordsolutions.com/

Tuesday, June 24, 2008

What's the difference between a policy, an objective, and a strategy?

The CMMI's GP2.1 requires a policy for each process area. Can a strategy serve as as a policy? What is the difference between a policy, an objective, and a strategy? Are they related?

An appropriate strategy should depict something that an organization"executes." It probably should relate to a set of goals that are "achieved"and objectives that are "met", and maybe even "mega-process" steps to meet them for a particular company, organization, or individual.

A policy doesn't have to be time-bound, but it should set expectations for the people involved in the execution of a strategy. For instance, the policy may be that employees are not to focus on ANYTHING but meeting a specific objective.For instance a company may have a goal to dominate the market in software for calibrating automobile engines. Their strategy for achieving that goal may be to 1) buy up all of the competition; 2) combine all of the best features of the software; 3) send every customer a $10,000 check. Their objectives could be 1) purchase all of the competitors close to home in year one, then the rest in North America in year two, and rest of world after that. They may also have and objective to raid the pension funds of the companies they buy so they have enough money to send each customer $10,000.

If they meet objective 1 and 2, they have partly executed on the strategy,but not completely. They may or may not achieve their goals. It's possible they didn't meet their objectives because SOMEONE didn't adhere to the policy that they should ONLY work on meeting a specific objective. A lot of the employees, feeling a bit ethical and ashamed, decided that instead of raiding the pension funds of the competition, they helped each employee setup a IRA to help them with their retirement. The employees didn't adhere to the policy, therefore the objectives were not met, the goal was not achieved, and the strategy could not be executed.

www.broadswordsolutions.com

Monday, May 26, 2008

If we fail a SCAMPI Appraisal when can we try again?

If we were to fail our SCAMPI A Appraisal, when can we try to be appraised again? Who decides, the Lead Appraiser?

Great question! Even though there is technically no "failing" an appraisal, I know what you mean. If there are weaknesses discovered, you can indeed not achieve CMMI MLx.

If there are gaps in the Specific or Generic Goals, it is up to your organization to fix them if you wish to be successful with an appraisal. If it's something simple like, GP2.1 Establish and Maintain a Policy for performing the (x) process, then it might be possible to re-schedule an appraisal quickly. If it's something more complex like GP2.8 Monitor and Control the Process, then the cycle time it would take you to perform this process and demonstrate it through objective evidence could be months, if not years.

The Lead Appraiser is a relevant stakeholder in the decision to re-appraise, but he is not, as our President claims to be, the "Decider." It's really up to your sponsor and your organization.

If you truly believe you are ready to be re-appraised, based on the evidence, then you should go ahead and re-schedule it. If your LA does not agree, that is one good data point in the decision making process, but it is far from the only one.

If your LA is the only one saying you can't do it, and you strongly believe you have the evidence to prove adherance to the model, then you might consider a new LA. That said, they are experts so take this type of decision with care.

There is no "rule" about a waiting period after an unsuccessful appraisal - it's up to you to decide. Of course, failing a second time can be very painful.

http://www.broadswordsolutions.com/

Can we go to ML5 if we're an Agile organization?

Our company uses Agile methods and we want to go all the way to ML5. Is that possible? How many companies have done this?

The methodologies you use, assuming you actually use them appropriately, have little effect on your ability to achieve ML5.

Many have said that the CMMI is "waterfall" or that it can't apply to "agile." This just isn't true. I worked with a company recently that told me that since they were Agile they couldn't achieve CMMI ML5 because they used "agile metrics" and the model required "waterfall metrics" like CPI and SPI.

Really? Where does it say that? As a matter of fact, collecting CPI and SPI, or any other measure around time or dollars at the project level is just dumb in an agile world that has fixed budgets and fixed time-boxes.

I believe that agile is better-suited for ML5 than more traditional methods - if only because we can re-factor to focus on the high-priority items - a basic tenant of ML5 and Agile.

It's tough to know how many companies have done this - the SEI doesn't tabulate methodologies used during a SCAMPI, but I work with one ML4 company that is agile, and I can assure you that it works well.

There is a new SEI Technical Report on this subject which I was lucky enough to co-author. It is being release this month - look for it on the SEI's web site.

www.broadswordsolutions.com

Monday, May 5, 2008

We have a lot of tools. Should these be managed as Process Assets or as software engineering tools?

My organization is CMMI ML2 and preparing for the ML3 appraisal. We have SEVERAL tools (DOORS, Change/Synergy, PVCS, SLIM, and a host of custom-built apps) we use to enable and enforce our software engineering process.

Should these tools be considered process assets and part of our PAL or resources for performing the processes? If so, is there an advantage to them being managed by our process board, or being managed as normal software development? Also, would improvements/changes to these products be considered process improvements (executed under our OPD/OPF implementation)?


Yes.

Only kidding, it's a great question!

While the CMMI itself does not directly speak to this question, it does give us examples of things that should be in the PAL, or things that should be "managed" in general. That list does include tools such as compilers, databases, requirements management tools and the like. So the theoretical answer to your query is, yes, they are process assets that should be in your PAL, and you're PAL is managed by your process group.

HOWEVER......

I'm not one to be too concerned with the theoretical - especially if it's only an example list created by a bunch of smart folks at a university. From a more practical perspective, that is still in-line with the spirit of the CMMI, it would be quite difficult, if not impossible, for your process group (SEPG perhaps?) to "manage" them when most of these tools need genuine IT support, require budgets, licensing, purchasing, and maintenance. The SEPG, or other process groups, are ill-suited to perform all of THESE processes, as well as having their hands full managing the more "typical" process assets they already manage.

One approach would be to use our friend SAM to manage those who manage your tools, and let them provide them as a service with service level agreements.

On your other question, improvements made to these tools, or new tools to support processes, could, and probably would, be considered "improvements" executed under both OPF/OPD and within the context of GP3.2 of ALL of the ML2 and ML3 PAs.

www.broadswordsolutions.com

How can we successfully scale up and outsource work to skilled development houses?

We want to outsource work to skilled development houses but incur a minimum upfront cost in doing so. Do you have any advice, resources or links that would help me investigate how to make this possible?

I can’t offer any honest advice on outsourcing – mostly because I’m against the concept in general, but also because I’m no expert on the subject.

But I actually had a client once who had similar goals. Here's what I told them (and what ended up working).

Step back and look at your company from a process perspective. Where is the real value of the company? Where is your Intellectual Property? What do you do better than anyone?

I would recommend that you identify these high-value core processes within your own company, and try to resist the temptation to outsource them - even if they are engineering related.

In general, at least here in the US, outsourcing has been a financial success, but a business failure. Why is this? Because we (and I assume most others) are terrible at eliciting end-user needs, converting them to product requirements, and then translating them so the average software engineer can understand them. I say “average” because, as you scale, that is what you end up with. The quality of service you may be used to quickly degrades as organizations scale up, up become’s unmanageable as outsourcing is mixed in.

The reason it has been a financial success is, as one CIO I know put it, if “I’m gonna get crap, it might as well be cheap.” This is a dismal assessment of our industry for sure, but it’s not that far from the truth.

One way to combat this problem, and prepare for successful growth, is to use something like the CMMI to focus in on the high-value processes you will be maintaining, and also focusing as much effort on the process interfaces. Ensure that your outsourcer is able to interface with you at a similar maturity (or capability) level. For instance, if you master the art of Requirement’s elicitation and development, be sure your outsourcer’s Verification / Validation processes can respond in kind. There are a lot of disaster story’s on that subject.

If it were me I would retain processes related to Requirement Development, Requirement Management, Verification, Validation, Product Integration, Process Quality (PPQA), Project Management, and Supplier Management. Let the outsourcer take the processes associated with design and development, Configuration Management, and engineering Measurement. You should, in either case, own the architecture of the software, for this is where the real crown jewels are located.

Just mastering the process of translating business needs into technology instructions (which will become much more difficult when engineer's are no longer onsite) will pay for the cost of your up-scaled development organization.

Good luck!

www.broadswordsolutions.com

Monday, April 7, 2008

How do we know the company is CMMI Level 5 or not?

How do we know the company is CMMI Level 5 or not? Their company is not listed on the SEI - PARS system (public list of CMMI Appraisal Results).



Many companies list CMMI MLx in their marketing literature, or in proposals. There is nothing wrong with this - they should be proud of it - except in the case where they have not had an appraisal conducted within the past three years.

As you know, PARS is the website (sas.sei.cmu.edu/pars) where CMMI Appraisal results are displayed. It's a public site, and a company must initial their Appraisal Disclosure Statement (ADS) to signify they wish to be listed on the site. Most do, but I have had clients that did not want to due to propietary information they did not wish to share, or they were working on a sensitive DOD project.

The official record of the appraisal is the ADS, not the website listing, so if you need to confirm that a company is indeed ML5, and that their appraisal is current, you can ask them to show you their ADS. If they are not willing to do that . . . . well, you can make your own conclusions.

http://www.broadswordsolutions.com/

Monday, March 24, 2008

What tool should we use for our Process Asset Library?

Do you have any recommendations for software to properly manage a Process Area Library? We currently have Sharepoint but there has to be something out there that is much better for hosting a PAL. Any suggestions?

Sure, MS Sharepoint works pretty good . . . . woops, sorry! I just read your email.

This is a hot topic that every organization struggles with. It's a decision that needs to be made early so that you can capture the early deliverables for your process development project.

There are many tools to choose from. Actually, Sharepoint CAN be a decent tool for this, if it's configured properly, is available to all, and has the full-text seach add-on installed. And best of all, it's free!

Some clients I work with use their code management tools (tracker, SubVersion, CVS, et al) for this, although I find this problematic and difficult to use. Others use any number of document management tools like Documentum or LiveLink.

One of my favorites is CollabNet, a tool that essentially combines your PAL with your project repository - it's web based and (I think) is very affordable.

Finally, many companies just use simple directories with a web front end. This makes it possible to create a slick interface that is intuitive and easy to use.

The key rule of thumb for me is that all of your process assets be accessible, easy to locate and copy, that the system have the ability to record usage statistics, revisions, document attributes, and provide appropriate reports.

http://www.broadswordsolutions.com/

Wednesday, March 19, 2008

Live from the SEPG Conference in sunny Tampa, FL

The following is live 'blogged from Jeff's "Ask the CMMI Appraiser" session at SEPG 2008.

Under what circumstances would you remove an ATM?

The appraisal team needs to be cohesive and productive team and will be working long hours in cramped conditions. Sounds like a plumber!

There are two conditions under which I would remove an appraisal team member.

The first is when the ATM is being so disruptive that the team cannot work effectively. This included bullying (to get people to agree with them), excessive arguing, being lazy (not pulling their load), being consistently late, or just being plain disgusting in some way.

The second is if it is discovered that their is conflict of interest - if an ATM is the manager of projects or groups being interviewed, or if they are related to any of the interviewees, or if some other condition exists that may cloud their judgment - such as if they were the author of many of the processes being evaluated. Don't laugh, it happens!

Are Agile and the CMMI Compatible?

Yes, of course they are. CMMI is methodology agnostic and although it may read like a "waterfall" method, it isn't. I've seen many organizations implement agile processes that work well for CMMI. As a matter of fact, by far the largest number of failures in the implementation of process is with "waterfall" projects.

When you’re starting out with process definitions in a very small organization is it standard to stop development until definitions are defined?


This is what I call the "changing the engine while the car is racing" questions. If only this could be done, our job would be easy! No, I would not recommend this. A better approach would be to incrementally develop and deploy process in many small pieces, allowing people to focus 95% of their time on engineering tasks, and 5% on the develop and deployment of process. If rolled out in several releases over time it can be relatively painless.

What the heck is a technical data package?


The term Technical Data Package, or "TDP," for those of you "in the know" is your set of work products associated with design, coding, and testing of your application. This set should be well understood, well defnined, and having a reasonably standard look and feel.

What is a technical data package in an Agile environment?

Not much different than in a traditional environment, although medium and complexity can differ. For instance, a whiteboard drawing that is photographed and stored in a project repository can be an acceptable alternative to a Visio diagram.

Is it possible for a LA to conduct an Appraisal without the LA actually being onsite?

There is nothing in the MDD that says that an LA MUST be on site at all times - although an appraisal conducted this way would be very difficult to perform, and possibly could result in an innacurate result. Understanding the context of the organization is the most important thing for an LA and I can't imagine how this could be done remotely.

Are there any conditions where a LA would choose not to continue on with the Appraisal?

Yes. One example is if the organization being appraised has been coached on their answers in an effort to fool the LA into thinking they are doing something they are not. People always think they can fool us, but it's so obvious when they do it I feel bad for them.

Another scenario is when they're just not ready for an appraisal. There’s a lot of high pressure during appraisals and if its discovered that it is going to lead to an unsuccessful appraisal, I might tell them to wait a few months and try again.

www.broadswordsolutions.com

Live blogging from Tampa FL at the SEPG Conference 2008