Project Management

pmStudent

by
Ranting and raving about project management and systems engineering.

About this Blog

RSS

Recent Posts

The Problem with Project Management

The Problem with Project Management

The Problem with Project Management

LinkedIn Recommendations Are Easy

The Catch-22 of Project Management Certification and Experience

Categories

Agile, Career Development, Certification, Change Management, Communications Management, Cost Management, Documentation, Earned Value Management, Education, Integration and Test, Kanban, Leadership, Lean, Lessons Learned, Methodology, Misc, Multitasking, New Project, Operations, Planning, PMP, Productivity, Professional Development, Project Estimation, Project Leadership, Quality, Requirements Management, Risk Management, Schedule Management, Scope Management, Software, Systems Thinking, Tools, Video, Work Breakdown Structures (WBS)

Date

Throwing It Over The Wall

Categories: Lessons Learned

linkedin twitter facebook Request to reuse this  

Sometimes we are throwing items over the wall to another team even when we don't mean to.

Let me explain.

5 months ago, I set up several meetings with one of my teams and a team we interface with. We squared away exactly how things would work between our systems and the design changed slightly because of what we learned.

Yesterday, I found out we had a problem.

How Did This Happen?

Even though everyone reviewed the design and agreed it would work well, there was a tiny, weeny problem which unraveled the whole design.

We just caught it yesterday, because the other team got around to implementing their code and were having problems. After several discussions we got on the same page, and I slapped myself on the forehead.

I Should Have Known

It's true, I should have caught this fatal flaw in our design back then. But then I remembered my email signature:

"Mistakes are usually caused by flawed systems; not bad people."

So what is broken in this system that could have prevented this problem?

This is What

Instead of just agreeing on the design and assuming it would function properly, we should have worked closely with the other team to build a prototype. A minimum viable product (MVP) - we would have discovered at once this fatal flaw.

As Eric Reise discusses in the Lean Startup, validated learning is the key to a startup company's success. While we are not a startup, projects definitely fall into that category. Had I followed this approach and asked the teams to collaborate to produce an MVP to validate our design change, we could have avoided all this. We would have known about the problem within a few days and resolved it with a different design.

That process also would have been even more collaborative, treating our two teams as a single team instead of throwing some specs over the wall, which is essentially what happened. Even if we all agreed on the specs in full, we didn't know what we didn't know.

So that's my recent lesson learned. I'm going to go sulk in the corner for awhile. Leave a comment to cheer me up.

Photo by Jessicizer

Posted on: January 31, 2012 05:28 PM | Permalink | Comments (0)

Why Change Control Is Important

Categories: Change Management

linkedin twitter facebook Request to reuse this  

I received a question from someone dealing with a discrepancy between how EVM reporting has been presenting progress versus actual progress.

Essentially, the scope and cost of the project has increased, partially through estimation problems and scope changes over time.

However, it appears they are still reporting against the same Performance Measurement Baseline (PMB).

The sooner you can transparently communicate with key stakeholders, the better. 

 

It sounds to me like what should have happened is a re-baseline with all parties involved so everyone understood the reasons why and you could go get more funding now. If you are using EVM, the forcasts should have been showing a slipping SPI and CPI this whole time, in which case everyone would know there is a problem.

Josh,
Does re baseline mean:
Drop in progress percent complete, say reporting 80% in revised scenario versus previously reported 90%??
If not, then what does this rebaseline actually mean?

A rebaseline only happens when everyone agrees there has been a significant change in scope, cost, or schedule.

 
Scope increases should only be accepted by the contractor via a contract modification and/or formal change management process. Do you have a Change Control Board (CCB) consisting of the sponsor, key stakeholders, and project leaders? Ideally, all of these changes in scope would have resulted in a Change Request (CR) to the CCB, and once approved the Performance Measurement Baseline (PMB) is updated. This way you are only working on approved scope and your EVMS has value. That said, baseline changes shouldn't happen for estimates that were just off. They must be from CRs which are tied to a clear change in scope outside of the project's control (new customer requirements, massive unexpected procurement cost differences, new regulatory requirements, etc.)
 
It's always more painful the later it occurs. At this point if I were in your shoes, I'd have a CR describing every individual reason for a baseline change, work it through the CCB and manage change formally via the CCB from here on out. It may be an "ask for forgiveness" moment right now where you have to be honest and open, admit mistakes humbly, and show the plan to improve going forward.
Posted on: January 30, 2012 03:48 PM | Permalink | Comments (0)

Are You Wasting Money On Your Projects?

Categories: Cost Management

linkedin twitter facebook Request to reuse this  

 

What is the fiscal responsiblity of the project manager anyway?

Are we just supposed to deliver projects within budget? Is that the extent of our responsibility?

No

Look, there are plenty of ways to manage projects.

Some of them involve a ton of paperwork, and some involve just what adds value to the end user.

Some build in a certainty of tons of rework by planning for detailed design months or even years before development, and some plan on progressive elaboration after formulating a solid start-up plan to get a clear idea of the end goals and project constraints.

Ask Yourself

I challenge you and myself. Let's ask ourselves as we go about our working day to stop and think about our own activities and those of our team members.

Do those activities add value? Which activities could we do without or do better. Are we getting the 'bang for our buck'.

Do we run on our fuel of incoming investment dollars like a shiny new hybrid compact sedan, or a gas-guzzling Hum-Vee?

And in the final analysis, does your project either 1) save money for the organization or 2) make money for the organization? Do you measure ROI in a rigorous way? If not, how can you even tell?

Posted on: January 25, 2012 09:52 PM | Permalink | Comments (2)

How Important Is Learning On Your Projects?

Categories: Lean, Lessons Learned

linkedin twitter facebook Request to reuse this  

 

Most of the waterfall based project management thinking assumes that planners know enough about what the customer wants and estimate with enough accuracy to create a huge waterfall schedule way in advance.

True or False?

I certainly think it's true. A good example is large, predefined releases which go into low-level details. With predefined releases we are assuming that we know how project execution will play out well ahead of time.

My experience has shown me that we don't know, especially with large complex projects there are too many interfaces involved and decisions during execution that change the reality of what adds value from the customer perspective.

This creates all kinds of hassles regarding which scope goes into which release, which really doesn't matter when it comes to the end customer. Unless it's going to change the timeline for which these features or capabilities are available to the end user, it doesn't really matter which release it gets pocketed into.

What If?

So what if projects treated validated learning, a concept from Eric Ries' book "The Lean Startup", as the primary goal of the project? What if the primary purpose was to learn through iterations and then provide what the end-user wants, as opposed to just having the delivery of certain scope on time and on budget?

Could we set up a project management system in such a way that learning, validated learning, is the primary driver for project planning and execution, and still be confident that we are going to meet the projects scope schedule and budget requirements?

I haven't had an opportunity to do this myself fully from end-to-end on a large project. I've only been able to implement these types of principles within a subset of a larger project. So I can't say for sure. But I have heard from many people who are implementing projects in a Lean organization, using the type of approach that I'm talking about here.

What do you think about the importance of learning as a major part of your project management methodology? Deming's Plan>Do>Check>Act cycle is (sometimes) applied to PM processes, but how often is it applied directly to assessing the customer definition of value?  Please discuss in the comments below!

Posted on: January 20, 2012 09:16 PM | Permalink | Comments (0)

Making Big Projects Lean: Organize Teams By Function

Categories: Lean

linkedin twitter facebook Request to reuse this  

 

The kitchen team, bathroom team, living room team, bedroom team, dining room team, and garage team all assembled at the building site. Each was responsible for every aspect of their assigned room from beginning to end, and when they are all finished a separate construction integration team will come in to make them fit together.

What?


In construction we don’t have ‘kitchen teams’ that do all the framing, flooring, plumbing, electrical work, fixtures, lighting, etc. We have specialists who do the plumbing throughout the entire structure, the electrical wiring and work in the whole building, etc. They are good at what they do and get better and better at their specialty from project to project.

Imagine a different electrician wiring each room. Different teams painting each room, different doors and doorknobs, etc.

Imagine if a different person ran the plumbing in each place separately, and then at some arbitrary time everyone came together to integrate all these separate plumbing subsystems.

I know, it makes me cringe too.

And yet this is exactly what we do on many large systems and software projects!


Organize by Function


Instead of organizing projects and teams by components or subsystems, it makes more sense to group by a particular functionality or specialty area that can be applied across the entire project.

For the most part we get this right with IT support roles on projects like Systems or Database Administrators. But with development roles I tend to see organization by system, not by function.

So you end up with 10 teams like a “System XYZ Team” and a “System ABC Team” etc. What’s wrong with that, you ask? A few things:

  • Systems/subsystems are disjointed and require major coordination overhead (Interface Specification Documents (ISDs) for example)
  • The likelihood of miscommunication due to different interpretations of an ISD goes way up
  • Teams become insular -- it’s not ‘one big team’ anymore working toward a common goal
  • Disputes between which system/team should implement a particular feature crop up
  • System architecture and coding approaches are likely to be all over the place because there’s little to no shared and retained learning going on.


You have 5-10 different people (who usually don’t talk much) working on nearly the same thing in each subsystem. For instance, 5 different people working on their own versions of a user interface for each system, all of which will be utilized by the same team of operators (end-users).

Doesn’t it make more sense to organize those 5 people as the “User Interface Team” instead? Now you get a group of people on the same team working together, learning from each other, creating a better quality product which will be more maintainable. They pick the best platform and go with it. Consistency means maintainability and a better experience for the users.

Because you have a focus now on a particular functional area, you can find people who are good at that function and passionate about it. Usability is huge in my opinion, and yet it’s a discipline that gets dropped out of most projects very quickly. But with a team focused entirely on the user experience, usability can get the attention it deserves. Demos and immediate feedback (thus, learning) will go through the roof.

You may be thinking we still need things like ISDs to coordinate the interfaces between the UI and system control teams, for example. I’ll argue that the need for these become fewer in number, and coupled with continuous integration through frequent, small releases, this becomes a non-issue. The teams learn the interfaces better and can improve them more readily by actually integrating and learning on a continuous basis, not from trying to interpret a specification document.

 

 

In This Series:

Posted on: December 31, 2011 11:40 AM | Permalink | Comments (18)
ADVERTISEMENTS

"There is one way to find out if a man is honest: Ask him! If he says yes, you know he's crooked."

- Groucho Marx

ADVERTISEMENT

Sponsors