Home » Lean Project Management » Recent Articles:

Software Defects – Symptom or Problem

All software has defects and perfection would be difficult and expensive to achieve.  Some defects are recurring and some are undetected for many years.  It is important to understand that software defects are symptoms of other problems such as process deficiencies or inadequate management or oversight.   Defects may also be the acceptable result of risk mitigation and cost management decisions.  In other words, management made a choice to limit testing and allow for the possibility of defects. 

Identifying and fixing defects is difficult, disruptive, and expensive.  Preventing defects is much more cost effective.  In order to prevent defects, we need to anticipate them and implement processes and management techniques to prevent them.  How do we do this?

  1. Obtain agreement on the definition and types of defects.  Examples: If code is confusing and inefficient but it provides the desired capability, is it defective?  ITIL refers to “Fitness for Purpose” and “Fitness for Use”.  The ISO 9126 software quality standards provide additional criteria. 
  2. For each defect type, determine the likelihood of defects and the expected impacts.
  3. Identify preventative mechanisms for each type of defect which include code review and testing
  4. Track defects and the reason the defect occurred and communicate the information to participants so they can learn to anticipate and prevent defects
  5. Define rules for developing applications that are specific to each type of technology.  This will improve standardization and avoid high-risk development techniques.

What should be the role of a PMO?

OVERVIEW

The role of a Project Management Office (PMO) varies significantly from one organization to the next.  Some PMO’s simply provide a pool of IT project managers to manage projects.  At the other end of the spectrum, PMOs may be the part of the business with ultimate responsibility to define, authorize and monitor projects.  The responsibility to define and enforce project management processes is also common to PMO’s. 

PMO Role

In order to obtain a variety of opinions and observations, the question “What is a PMO?” was posted to a public blog which generated a wide variety of responses.  This section summarizes these responses.

  • Get the work in (Proposals), provide Project Managers to lead through completion.
  • Act as an interface between Program/Project Boards and the Project delivery teams.
  • Screen projects for business value
  • Provide the first level of escalation for project teams and customers
  • Ensure the management approach matches the project type
  • Establish and enforce processes that leverage industry best practices such as PMBOK and Prince2
  • Oversee delivery to ensure compliance with policies and procedures, incident management, change management, strategic reviews, operation reviews, on time delivery of the projects in quantifiable manner.
  • Drive project execution performance and visibility through the introduction of project management standards
  • Projects and IT services have a life-cycle from Inception through Implementation and Benefits Realisation.  The PMO is in an ideal position to coordinate across the life cycle
  • PMO should be structured around optimizing people
  • Evaluate the technology, complexity, novelty and pace required for the project

One of the respondents cited Crawford, J.K., et al. (2008). Seven Steps to Strategy Execution which identifies the following PMO responsibilities:

  • Incorporate lessons learned into Processes, Standards and Methodologies
  • Develop and deploy professional project managers to manage projects
  • Take the lead role for training and development of project managers and team members in the project management processes, culture, and roles
  • Provide Project Support to assist with estimating, budgeting, planning, scheduling, status reporting and issue tracking.
  • Establish and maintain project-related Software Tools by identifying, integrating, maintaining, and monitoring performance of the tools.
  • Mentoring and Coaching departments who which to manage projects themselves.
  • Assume Portfolio Management responsibility to act as a clearinghouse for project information and to make sure decision makers have the best information. 

 

Issues

The following issues were identified during the discussion:

  • “The cobbler’s children have no shoes”. IT spends most of their time building management solutions for the business.  They neglect to implement processes and tools for effectively managing IT. PMO’s must combine information from various disconnected sources spend long hours trying to reconcile and evaluate progress.
  • A project begins with Inception where potential projects/ideas are identified, prioritized, and authorized. Most PMO’s are part of the IT organization and IT’s focus is the delivery of projects.  As a result the PMO doesn’t get involved until a formal project has been authorized.  PMO involvement typically ends when the project is completed and no one is responsible for validating the desired benefits were realized. 

 

OBSERVATIONS

An analysis of the responses yielded the following observations: 

  • There is a wide variety of opinions regarding the role of a PMO and a lack of consensus.  Most of the responses described an advisory, training, staffing, or a supporting role for the PMO with limited authority. 
  • The suggestions were primarily IT-centric with minimal discussion of business issues and only one comment about the role of a PMO with respect to Portfolio Management.
  • Many of the suggestions implied a common theme which is the identification and mitigation of risks but this was never directly stated.
  • There was no discussion regarding the role of the business sponsors and stakeholders and the PMO’s involvement in defining and managing these roles.
  • There was no discussion of the role of a PMO with respect to Application Support.

 

RECOMMENDATIONS

Based on this analysis, it appears the benefits to the business could be greatly increased by integrating the following responsibilities into the role of a PMO: 

  • Provide coordination and direction throughout all cycles of a project from Inception to Benefits Realization.  This includes the identification and verification of the value proposition.   
  • Assume the responsibilities for Portfolio Management to classify, organize, and prioritize projects.  This should also include a lead role in aligning requirements and resolving conflicts across organizational boundaries.
  • Take a lead role in project risk assessments, risk mitigation, and ongoing project performance monitoring.  Project teams can become so focussed on solving tactical project issues they lose sight of the big picture and the overall objectives.  This type of oversight can help a PMO identify issues early and help prevent problems. 
  • Include support oversight in the scope of the PMO since it is directly impacted by projects
  • Implement monitoring and assessment capabilities to support these recommendations.

Are you building “maintainable” applications?

Many development projects fail to deliver the desired objectives because project managers/architects do not consider operational and maintenance (post-production) requirements when they design a system. They complain about changing requirements because they are trying to “hard code” the requirements into the system. If they spent some time in maintenance, they would realize there will always be change requirements and the best solution is to build configurable systems where business decisions are tablized or parameterized. Trying to force the business to anticipate and specify all possible decisions and functions early in the project is impossible.

Successful project managers realize that future requirements cannot be anticipated or defined and that building flexiblity, configurability, and maintainability into a system is the best way to ensure long-term value.

Our Sponsors

Lean IT Keywords

If you have any questions about the blog content or specific questions on how CAI's Lean IT Service Management can help your organization, "Ask Nick."
Presently no questions available.

Recent Comments

  • Sam Bolton: Nick, completely agree that nowadays we rely more on software than real minds. I also thing that the final decision must...
  • Nick Spanos: Yugal, compiling a software inventory would be time-consuming and tedious but not impossible. Failure to identify and m...
  • Nick Spanos: Sam, In theory, I agree. The problem we have today is that many of the decision making processes are complex but they a...
  • Sam Bolton: My personal point of view on business process automation is the following - if you want to be competitive and make your ...
  • Yugal Joshi: Nice post Nick. However, I am sure you realized that the questions raised are pretty obvious when asked, but daunting wh...