In the CMMI-SVC, are a project and a service system essentially the same thing? (Submitted via e-mail.)
They're certainly related, but they're also very different. Kind of like my brothers-in-law.
A project is executed over time. It has a beginning (and often an end), a plan that guides it, a schedule, a budget, and so forth. Some are even successful.
A service system is a set of resources. Ultimately, you hope to use those resources to deliver value to customers, which I admit makes it sound a bit like a project. However, a service system is typically something you have in place before you start executing a project, and the same service system in fact may be used by multiple projects.
Confused? I'll tell you how I interpret them for what my company does; hopefully that'll help.
I do public training, which means I rent space, promote classes, and deliver these classes to rooms packed full of students who are eager to learn the CMMI. (Okay, even I have to admit that sometimes that last part is wishful thinking.) I teach two different classes in a public setting: the SEI Introduction to CMMI and the SEI Services Supplement for CMMI. I teach each of these publicly once every six weeks or so. This makes for about 8 of each class per year, or 16 classes total.
Here's a quick quiz, then. How many different services do I provide? How many service systems do I use? Finally, how many projects do I have?
Well, it could be claimed there are no absolutely right or wrong answers here. But here's what works for me: 2 services, 1 service system, and 16 projects. (If that's what you also said, then "Wow!" -- because it took me weeks to be able to answer that question comfortably.)
Services. My 2 services are the Introduction to CMMI course and the Services Supplement for CMMI course. Each has its own unique description in what the CMMI-SVC would call my service catalog. (Follow the hyperlinks in the previous two sentences for descriptions of each service in the "catalog.")
Service systems. My 1 service system is public training delivery. Although I do deliver two different courses, the delivery commonalities are such that I've found I don't need two separately defined service systems. Instead, it's one system that can accommodate the small delivery differences between the two courses.
CMMI-SVC tells us that service systems are composed of service system components. For public training delivery, these components include a way for people to enroll (my website), a set of qualified instructors (typically me), a facility for the training events, standardized course materials, and so on. Importantly, many of these components are used by multiple projects.
Projects. I treat each of my 16 training events for the year as a project. Although each one uses the same training delivery service system, each also has its own unique budget, income projection, schedule, risks, etc. For example, my next Introduction to CMMI class is May 18-20. That project's "start date" was April 10, because that's when I began running ads. Its "end date" will most likely be sometime in late May, when I receive confirmation from the SEI that all students from the class have been entered into the SEI's training database. And along the way, there are milestones such as the dates by which I need to order various types of supplies, when I need to get enrollment numbers to the catering people, and when I need to begin pestering people for money.
Does that mean I have a separate project plan for each of my 16 instantiations of these classes? Yes. Each plan is contained in an Excel spreadsheet, with most of the key schedule dates automatically generated once I enter the start date of the actual training event. Anyone expecting a Microsoft project schedule or a 20 page project plan would be sorely disappointed! I document the minimum that I need in order to make sure I do things right.
(Note that I consider the project plan template to be a part of my service system. Once it becomes an actual plan, though, it's part of the project.)
Reasonable people can quibble with the details. Some might insist I really should have two different service systems, one for each class. To which, I would answer, "Whatever…" As in, "whatever" works for you and your business! Part of the beauty of the CMMI is its flexibility. Ultimately, the important thing is that you're using it to improve your efficiency and effectiveness. You're the best judge of how to do that for your business. Not me. Not a Lead Appraiser. And definitely not this guy.
If you need more clarification, browse through the Service System Development (SSD) PA, which describes how a service system may be developed. This should further emphasize that a service system is indeed a different animal than a project.
I hope this helped.
:)
Bill

Bill, your explanation is very clear.
ReplyDeleteWe could say the following:
Service System is an environment composed of concrete resources.
Project is the planning of the how, who, when to work with concrete resource to service delivery and also monitoring and control this working in conformance with planning.
Well put, Samuka. In fact, you said in just a few sentences what it took me 16 paragraphs to say! Maybe I should have you answer the next question I get!
ReplyDelete;)
Bill
If i'm providing a service maintenance for a customer software product then the request for a big or little enhancement is mapped in cmmi-svc like an service requirement or service request? Can i use the ssd P.A. to implement all enhancement request? Can i consider the customer software product like a service system?
ReplyDeleteFrom a CMMI perspective, I see a few different ways you could treat a software enhancement.
ReplyDeleteIf your perspective is CMMI-SVC-centric -- i.e., the CMMI for Services is your model of choice -- then you might regard the software product as a "service system component." (I.e., a major piece of a larger, over-arching service system.) The request for the enhancement could be your "service request." And if you decide to go ahead with the enhancement, the subsequent development activities could be mapped to Service System Development (SSD). You would also need to consider Service System Transition (SST) for planning and executing the deployment of the change. Of course, other process areas would be involved as well -- e.g. Project Planning for estimating/scheduling the change, Requirements Management (REQM) for handling the change to requirements, etc.
Or, if your model of choice is the CMMI for Development (CMMI-DEV), then the change really would impact each of the engineering process areas -- RD, TS, PI, VER, and VAL.
I can't tell you which of these apply, because it depends on your business drivers. As I've documented elsewhere in this blog, I applied SSD rather that the CMMI-DEV engineering PAs to my own website because it was simply a one-off. If I ever begin to develop websites for a living (unlikely!), then I'd probably benefit from the increased rigor of the CMMI-DEV engineering PAs.
Does that help?
Bill