April SPIN – CMMI Implemented Large and Small Scale

The April Software Process Improvement Network, or SPIN, meeting compared and contrasted CMMI implementations in a large government contractor with a small healthcare IT company.

I had the opportunity to meet a number of new people at the meeting. KFORCE’s Doug Cottengim and Todd McGarvey introduced themselves. I had an interesting discussion with Brooksource’s Andy Dunne, including some conversation about Miami hockey. If you haven’t caught a game in their new arena you really owe it to yourself to get up there and see one. The team is so good having held top rankings for part of the last two seasons. Andy introduced me to his colleagues Teckla Dixon and Ross Kathman over lunch later the next week. Finally, I talked for quite a while with Rich Clyde, VP of Product Development at Seapine Software. It turns out that Rich and I had known each other from a distance nearly 20 years ago (yep, I’m that old), and now we had an opportunity to catch up. Chuck Clevenger, Seapine’s corporate recruiter, pointed Rich to this blog and helped pique his interest (Chuck and I participated together on the BDPA Career Panel Discussion that I’ll write about this weekend). Then we got into the night’s discussion.

Fred Hilkowitz, MedPlus‘ Process Architect, led a discussion on The Journey of Process Improvement comparing his work at Raytheon, a large government contractor and CMM 4 institution with the effort necessary to bring MedPlus to CMMI 2. In his talk, Fred discussed some of the tactics and a framework to use to reach these levels.

Fred Hilkowitz led MedPlus to achieve a CMMI Level 2 certification in Sep 2007. Prior to MedPlus, Fred worked at Raytheon in varying roles, including Manager, Software Quality Engineering and Software Project Manager. He was part of successful CMM and CMMI Level 4 initiatives while at Raytheon. Fred has an MBA from Indiana University and a BSEE from RPI. He is a certified PMP and Six Sigma Greenbelt.

Essentially, the steps include planning for process improvement, choosing a design model, assessing the organizational environment, constructing the process improvement, and finally, keep it going so the efforts don’t die out after implementation.

What did MedPlus want to do? Why did they need an effort to put CMMI benchmarked processes in place? Medplus experienced strong percentage growth from 60 to 150+ folks in their IT environment. The business itself experienced rapid growth as it moved from a small startup to a mature company delivering real results. MedPlus found itself needing to manage and improve processes while keeping current systems operating. All as it expanded its business to global markets. Or, as I’ve heard it described, rebuilding the engine while keeping the car moving around the race track.

The MedPlus CTO admitted not being sure of how to implement processes, but figured CMMI would be the way they should probably go. So what is CMMI? And why would it be “the way they should probably go?” CMMI is a benchmark for best practices that describes the types of activities required when standardizing process, i.e. estimating, forward and backward requirements tracability, offer formal assessments against benchmarks, etc. Additionally, CMMI provides a common language and a proven framework for improvement. The key to successful implementation is securing buy-in from the CTO and senior leadership to launch this process – an organization needs stakeholder buy in to see success.

To get started down the CMMI road, and organization first assesses its mission. As a business, MedPlus develops systems that collect, store, and assess information. The culture is entreprenurial with rapid market adoption and rapid internal growth. The organization couldn’t effectively dedicate employees to process improvement at the expense of growth and meeting the many customer demands of contractual commitments, an aggressive pipeline and development schedule, and a small company.

Some things to be aware of: A small company is not the same as a large firm. The flat structure encourages innovation. The business goal is to find the niche not targeted by large companies. Still, within the company employees need to wear many hats as there is not enough staff to divide specialized roles across employees within the company.

Contrast MedPlus with Raytheon. At Raytheon Fred served as a Quality Manager responsible for hundreds of projects. This is much different than the small company where a Quality Manager can pay quite a bit of attention to all projects in flight, get quick access to VPs, and move quickly to make fixes.

¾ of CMMI certifications are given to government contractors in the DOD realm. In healthcare, just 1% – maybe. Why does it matter? As people move within an industry the skills transfer and you can easily find people with particular skills. Regulation governs government contracting, the end product, and how it’s constructed. In healthcare, the work is immature with regulations only on data flows but no global regulation from end-to-end. As a matter of fact, in healthcare you can put products together any way you want. In healthcare, no market pressure drives self-regulation, where in government, regulations stipulate Raytheon organization, process, and structure. Organizational structures in government are built around command and control so contractors imitate that to facilitate communication at every level. In healthcare IT, the doctor’s office organizational structure is flat so the contractor organzations are also flat. For someone new to healthcare, you may be surprised when you communicate to a VP and the communication does not flow downward. In order to communicate you need to find the people who do all the talking and make the decisions and communicate with them. These may not always be the people with titles. For instance, it may be the really good senior level software developer who has gained the respect of the entire IT department. How does such a large difference in organizational structures get created? Criticality of systems plays a key role, i.e. keeping planes in the air for the government vs. this patient’s lab results are delayed. Lives are on the line in one case, some inconvenience on the other.

The road to CMMI success at MedPlus included the organizational strengths of strong senior management support, strong engineering practices, proven track record of delivery to the customer, credibility with customers and a high quality product. Some of the improvement opportunities included maturing the PMO, creating additional key organizational processes, gaining experience in the CMMI model and process improvements. For those looking to implement CMMI, you may find you have the data but don’t understand how to interpret it. You’ll need hands-on knowledge of the process, and if you don’t have internal expertise you’ll want to hire someone or bring in an experienced contractor. Fred cautioned us to not just pick up the book.

Next, construct the actual process improvement. It’s a cultural change in values perceptions and normative behaviors – how people do their jobs.

To influcence the organizational values, understand who decision makers are, how information flows, and how decisions are made and communicated. You may realize that you need to take some time to grab coffee every now and then with senior developers to get information out to the organization. You’ll probably need to look past the org chart to find the organizational leaders who’s support you’ll need.

You’ll also fight the perceptions of “we can’t adapt,” “we’re losing the edge,” or “this is just another thing I have to do.” This is how people view the efforts, so you’ll need to treat the perceptions as truth.

Normative behavior – engage relevant stakeholders and establish practices that solve business problems (come up with list of 500 items and put them into buckets of larger business problems). Don’t shove CMMI in front of people, make sure to highlight business problems. The business didn’t need to know about the specifics of CMMI. Process improvement is about business value. You need to find the balance between the inability to do it alone balanced against not needing everyone in the organization to know the model. Abstract the CMMI lingo and the process language so that you talk about business impact when talking to the business. At the same time, work on developing CMMI knowledge throughout the organization so that everyone uses a common language. If people can’t talk to each other then the organization won’t implement the changes.

Once the groundwork is laid improving the process is the easy part. The road to getting the plaque on the wall is fairly short and pretty much a fixed cost whether the organization is 200 or 5,000 people large. Relatively speaking, the cost of implementation may be rather large for a small organization. Still, certification is a big deal and deserves commendation. The hard part is figuring out how to keep process improvement and all the great initiatives going. Sliding back is almost worse because you’ll never get momentum again. You’ll need to push the processes down to the lowest level so the organization uses new processes in their day to day jobs. Process audits, although negative and perceived as overhead, are required to guage how well the processes work for the teams and how well the teams use the processes. If a team isn’t using new processes they need to be asked why not. Maybe the processes don’t actually suit the team as the process hurts the team’s business goals. You may find yourself with a special case. Make sure you communicate results honestly, let people know how well or poorly the processes work for the organization. Don’t sugar-coat results or you’ll never move forward.

You can’t have a short-sighted view on getting to the end. Don’t look to how to get to level 2 without taking level 3 into consideration, otherwise your level 2 process won’t scale to level 3. Ongoing change is part of the process improvement, and you’ll have to show you’re willing to change the process in order for people to believe you. Don’t just talk about the processes, but show the willingness to change the process and people will take the leap of faith that they can lobby for change and help the processes improve.

Process improvement is a journey: decide where you’re going, choose a model (CMMI is the best to use in Fred’s opinion) – scrum is another popular option, understand where you are relative to the prevailing understanding of process improvement. Most industry knowledge out there is in the government contracting space because CMMI is required and regulated here.

And that was about it for Fred’s talk.

Next month on May 14th, Tim Leach of ACS will discuss the process of getting from manual testing to automated testing.



~ by Andy on April 19, 2008.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: