Notes
Outline
Lessons Learned in Project Management
Susan Bockhoff
April 22, 2002
What is a Project Manager?
An analyst
A manager
A salesperson
A babysitter
An advocate
A technician
A psychologist
The nine management areas
Scope
Time
Cost
Quality
Human Resources
Communications
Risk
Procurement
Integration
Basic Stages of the Project Lifecycle
Project Initiation
Planning
Execution
Control
Close-Out
Critical stages in project management
Getting the requirements right
Getting the right people on the project
Getting buy-in from stakeholders
Stay in touch during development
Managing scope creep as you go into testing
Critical stages, cont.
Getting the system into production.
Allowing enough time in the schedule for testing and bug fixes
Allow time and budget for training and marketing of the system.  Many great systems never take hold in an organization because they are not marketed and training is haphazard.
What makes a project manager successful?
Excellent communication
Good team leadership
Ability to work at both the macro and micro levels of project management
Knowing how and when to make trade-offs
Focus on the business goal
A project manager needs to be a leader of human beings
Human beings are by nature crazy, and a lot harder to figure out than technology.
Human factors are much more likely to take your project down than technical ones.
Computer systems are made by and for humans.
If you don’t take the human factor into account, your systems will fail.
The importance of communication
Communication is the currency of the good project manager, and it is what you get paid for.
You can never communicate too much.
Communicate a lot, more than you think you should, until it gets embarrassing
The form of your communications
Keep communications short and to the point, with high frequency.
Schedule face to face communications with key stakeholders.
Don’t communicate critical information that requires decision-making via e-mail.
Don’t distribute massive documents on e-mail and expect people to read them.
Communicate for action
Hold regular project meetings with a published agenda
At the end of the meeting, go over the assignments of each team member and make sure they agree.
Put all action items in meeting minutes and publish the minutes.
Be a nag.
Remind your team when they have assignments due.
Follow up on all action items.
Keep track of who has deliverables overdue.
If someone is having serious problems, get them to open up and talk.
Don’t let team members “go dark”.
The importance of the organization
Any project management technique is only as good as the organization behind it.
If the organization is broken, no computer system will fix it.
The Capability Maturity Model
You have to start from where you are
Look for progress, not a complete overhaul of your organization
Start with small steps for improvement
When these are successful, try the next step
Technology Tolerance
Most people only have the time, energy, and desire to learn one or two new systems per year.
Beware of how much new technology you throw at an organization.
Who are your system users?
No one except accountants has the time or desire to learn complex systems.
Don’t expect executives or line workers to use any system that takes more than five minutes to learn or five minutes a day to use.
Find out what you can do that will help them the most in their daily lives.
Ask a lot of questions.
Know who your stakeholders are
Interview them with an open mind.
Don’t come off as such an “expert” that people won’t talk to you.
Get people to talk – you never know what you might find out!
Make your tools fit your project, not vice versa.
Don’t use a bazooka to shoot a mosquito.
Don’t use a tool if it takes more time to manage the tool than it takes to figure out what is going on in your project.
Keep systems as simple as possible.
Meet your customers’ needs with the simplest and least complicated system possible.
Don’t add complexity unless it is absolutely necessary to get the job done.
Don’t get too grandiose.
Don’t lose sight of the original goals of the person who is paying for the project.
Technology people have great technological ideas.  You probably can’t do all of them and make your schedule.
Look at a multi-release plan.
Don’t go over your budget!
Always know who is paying the bill
Keep track of what the project is costing and make it visible to that person on a regular basis.
More people get fired for blowing a budget than for any other reason.
Build quality into your project from the start.
How will you know when the system is successful and you have met your goals?
Develop specific criteria at the outset of the project.
The test plan should be designed while development is occurring, not as an afterthought.
Go with technology that is available right now.
Don’t ever make the success of your project dependent on the success of another project that is not completed yet.
If and when the new project is completed, you can always revise your product (call it “Version 2”).
Remember, 90% of software projects don’t get completed on time.
Create measurable milestones.
Break up your project into well-defined milestones, then re-assess your budget and schedule at each milestone.
Communicate with stakeholders at each milestone, and get their agreement to proceed.
Why does it take so long to get systems into production?
You can be “95% complete” for years.
Now is the time when the rubber meets the road – it either works or it doesn’t.
All of your previous communication failures will come back to haunt you and you will have to work through them.
If you have ignored quality so far, you will be hit in the face with it now.
Maintain your sense of humor.
Think of project management as a game – play to win, but at the end of the day, it’s still a game.
Humor can be your most powerful tool
Humor can help de-fuse a tense situation and get people back on track to working together.
Don’t take it personally.
As a leader, you will always be the target of negative attacks.
Learn to be a little thick-skinned.
Maintain respect and compassion for your team.
Don’t stoop to gossip or cutting remarks.
Keep your team focused on the goal.
Lead your own way – with your own values.
A leader is still a team member.
Maintain your own values, your sense of fairness and diplomacy.
Be yourself – don’t try to imitate someone else.
Remember, it is your job to help all team members achieve their best potential.
Managing people with greater technical knowledge than you
Your job is not to know everything – it’s to keep everyone organized and focused on the end goal.
Think of an orchestra conductor – you don’t have to play ALL the instruments!
Most developers hate thinking about schedules and budgets anyhow, and are very glad you’re doing it.
Some tips on dealing with conflict.
Most of us hate dealing with conflict, and will usually try to avoid it.
Some people try to get their way through intimidation or emotional outbursts.
When people act upset, it is usually because they are afraid of something.
With conflict avoiders, you must solicit regular input and get them to tell you when they are having problems.