Change Control Councils: The key to successful software releases

Software teams are usually pressed for time which causes them to be poorly-organized and build weak product release packages. In this tip, an expert identifies and explains how to overcome this issue by constructing Change Control Councils (CCC). CCC's include appointed team members that are selected based on their skills, availability and product understanding. Having a CCC in place can lead to improved quality throughout the SDLC in addition to better product planning.

Kay Diller
We all know how tough it is to meet deadlines that are imposed upon us by executive management or by our business partners. Most of the time, we are backing into dates rather than properly scoping out the project, assigning resources and creating realistic timelines.  None of us has time to collaborate and negotiate release packages. Teams need a way to gather Request For Changes (RFCs) and prioritize the changes in order to plan for upcoming releases.

This article will show you in five easy steps that when you involve the right players with a Change Control Council ("CCC"), your releases will be stronger and well organized. And most important, you will be able to plan and forecast your releases with a documented approach that will satisfy the most demanding executives and business partners.

Step 1:  CCC members.  Roles and responsibilities

  • Every software CCC has the same basic core members and their roles are fairly generic.  Most of the time, these members are already on the playing field and you just need to pull them together.
  • CCC members are listed in alphabetical order in Table 1.

    Table 1
    CCC Roles and responsibilities



    Business Representative(s) (Super-Users)

    End-User Representative.
    Attend all regularly scheduled meetings.
    Voting member.
    Actively collaborate with CCC on priorities and tasks.
    Approve all planned and unplanned outages.


    Attend all regularly scheduled meetings.
    May or may not be voting member.
    Administer, monitor and communicate database issues with CCC.
    Collaborate with CCC on all planned and unplanned outages.


    Attend all regularly scheduled meetings.
    Voting member. 
    Actively collaborate with CCC on priorities and tasks.
    Manage list of priorities (could also be Project Manager).
    Create and present release package recommendations to CCC for review and vote.
    Implement approved release packages.
    Approve all planned and unplanned outages.
    Communicate outages to end-users.

    Executive Management

    Represented by related CCC member.
    Does not normally attend meetings, but always welcome.
    Not voting member.
    Kept informed of CCC progress by regular communications from Project Manager or related CCC member.

    Project Manager

    Chair CCC.
    Attend all regularly scheduled meetings.
    Voting member.
    Actively collaborate with CCC on priorities and tasks.
    Approve all planned and unplanned outages.
    Record and monitor tasks identified during meetings.
    Report status of releases to management.

    Technical Support

    Attend all regularly scheduled meetings.
    May or may not be voting member.
    Actively collaborate with CCC on priorities and tasks.
    Work and resolve problem tickets.
    Report on ticket activity, bringing problems to CCC's attention.

    Step 2: Get everyone on the same page.  Document how CCC will be run.

  • You will need a few basic processes to get your CCC on its way.  Table 2 lists five processes to get you started.

  • Note:  Project Managers normally write and manage processes.

    Table 2
    CCC Processes



    Roles and Responsibilities

    Start with the roles and responsibilities found in Table 1.  Modify as needed.

    Voting Process

    Identify who has voting privileges and how many votes a particular group has. 
    For example, your CCC may consist of:
    5   Business Representatives
    1   Project Manager
    1 Developers
    2   Technical Support
    1   DBA

    How many votes should the Business Representatives have? One or up to five? And should the Developers have one or two votes?

    Be sure that you get consensus on your voting process upfront before any action is taken.  And always record and retain who voted and how.

    Prioritization  of Requests from End-Users

    End-User requests need to be well documented, managed and resolved.
    End-Users can submit tickets in the call center system for easy tracking and monitoring.
    CCC reviews and approves or denies requests.  Approved requests are prioritized for inclusion into a future release.
    Remember to notify End-Users of the status of their request.


    Every outage needs to be approved by all CCC members. 
    DBAs always need to be notified of outages, even if they do not have voting rights.
    Notify End-Users of upcoming outages.


    End-Users may not agree with the CCC's decision if their request is denied.  Give them a path to escalate.  One way is to allocate 15 minutes during a scheduled meeting where end-users present their requests and why it is important. 
    CCC can ask questions while the end-user is present, but be sure to never review or vote in front of the End-User. 
    Notify End-User of CCC's final decision.

    Step 3: Prioritize.  Collect request for changes (RFCs)

  • To create the first priority list, have each of your CCC members submit their existing requests, bugs and DBA updates to the Project Manager.  The Project Manager can organize this list and present it to the CCC.  The CCC can then begin the process of prioritizing the items for future release packages.

  • This step can take more than one meeting, depending upon how large the list is.  However, once you finalize the priority list, engineering can take this list and begin organizing release packages, based on research and careful consideration.   This is where you finally see the benefit from all of your hard work.

    Step 4:  Publish.  Create a CCC library.

  • A CCC Library is where you collect and post your member information, processes, priority list, release package information, and any other information that is important to your CCC. 

  • Should any of this information be confidential, be sure to create adequate security so that only the members of the CCC have access.

    Step 5:  Communicate.  Share CCC with executive management

  • The last step you need to do is to get and keep your executive management in the loop on your CCC's progress and activities.  This is not the time to be shy.  Share with them how you selected your members, their roles and responsibilities, how you will vote and create future release packages.  The more your executives know about how the CCC works, the less likely they will be to throw emergency releases your way.   Plus, your efforts will make them look good to their peers!

  • Change Control Councils can be the key to successful software releases, especially when you follow these five simple steps.  After a few months of running your CCC, don't be surprised when other software teams approach you to learn how to establish a CCC and for hints on how to keep it running smoothly.  After all, successful software teams have a tendency to attract this type of attention.    

    Kay Diller has worked in high tech for over 15 years, mostly as a software release manager and business writer.She has led many IT change control councils, which is where she came to appreciate the strength a CCC brings to any software application.
  • Dig Deeper on Topics Archive

    Start the conversation

    Send me notifications when other members comment.

    Please create a username to comment.