Why It's Important for CM and Project Management to Work Together

[article]

In his CM: the Next Generation series, Joe Farah gives us a glimpse into the trends that CM experts will need to tackle and master based upon industry trends and future technology challenges.

Summary:
One of the problems with Configuration Management (CM) and Project Management (PM) is that the tools and the data repositories for each are separate. As a result the processes are quite separate. The project manager takes a set of requirements and decomposes them into tasks, which are then prioritized, scheduled and assigned. The CM team creates configuration items and tries to tie the CIs back to the requirements so that they can be properly audited. When CM and PM work together they tend to enhance each others function, and eliminate potential overlap in the processes.

Project Management

Project Management deals with execution.  A project is a series of tasks aimed at accomplishing a specific goal or set of objectives.  In software development, a project typically transforms one release of a software system into another release.  This is done through a series of operations as outlined below:

  • Tranforms release requirements into working product
  • Transformation done through work breakdown structure (WBS) detailing tasks
  • Tasks are defined, prioritized, and assigned
  • Efforts are estimated and rolled up to give both a schedule and a plan of completion
  • Critical path analysis identifies potential risk areas
  • Work effort is tracked for each task, typically using timesheets
  • Timesheet effort is rolled up to identify actual effort
  • Revised efforts are used for risk identification and schedule adjustment
  • Complex tasks are reviewed for risk and monitored
  • Resources are managed to ensure timely completion of tasks and adequate risk support.

In an agile project, scheduling is less stringent with prioritization typically sufficient to ensure that each iteration addresses the appropriate content.  Risk is dealt with through daily feedback and resources/content moved if necessary. Tasks are generally kept to a reasonably small size so that the tasks can be completed in a single iteration when possible.  The result is that we might see a finer level of decomposition in the WBS, and a corresponding improved level of traceability.

Configuration Management
Configuration management deals with tracking the artifacts produced by the process and ensuring that a consistent set of baselines march forward toward project completion. The focus is then on auditing the output of the process to ensure that is satisfies the input.  Configuration management works hand-in-hand with change management as follows:

  • Requirements are translated from customer/market to product requirements (i.e., functional spec), and then to system design requirements (possibly additional levels)
  • Design requirements are addressed by changes/updates which modify files
  • File revisions are traced back (through the changes) to the requirements
  • Changes are implemented by the development team and unit tested prior to check-in
  • Changes are reviewed and approved for integration
  • Change promotion is used to create new baselines
  • Builds are created based on a baseline plus additional changes to be applied against the baseline.
  • Builds are tracked to clearly identify the exact software/system content of the deliverables
  • CM tools trace contents of builds back to the requirements addressed by each build so that they may be audited
  • Verification is performed using the appropriate set of test cases that apply to the specified build. This typically verifies the functional spec.

About the author

Joe Farah's picture Joe Farah

Joe Farah is the President and CEO of Neuma Technology and is a regular contributor to the CM Journal. Prior to co-founding Neuma in 1990 and directing the development of CM+, Joe was Director of Software Architecture and Technology at Mitel, and in the 1970s a Development Manager at Nortel (Bell-Northern Research) where he developed the Program Library System (PLS) still heavily in use by Nortel's largest projects. A software developer since the late 1960s, Joe holds a B.A.Sc. degree in Engineering Science from the University of Toronto. You can contact Joe at farah@neuma.com

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01