Your manager just dropped into your office and said, “We have a very important, new assignment with a limited budget and tight schedule. I am assigning you to be the project manager. Good luck.”
Your manager turns and leaves your office. After your heart rate subsides, you start to think about your new assignment. How shall I proceed? What tools will I use? What are my deliverables? One of the most challenging roles in the Information Technology industry is that of Project Manager (PM). PMs are delegated a great deal of responsibility but with often little authority. In this article, you will learn valuable skills and tools that you can apply to become a good project manager and add value to your company.
Reasons Why Projects Fail
It is a sad fact of life that many projects fail. I am sure you have been involved with one or more projects over your career that has met an untimely end. Projects fail for a countless number of reasons. Some reasons are out of your hands, others you might have some control over. Below is a list of reasons projects fail that I would like to discuss before I get into some specifics on project management.
- Management does not see the value in the project.
- Lack of goals for the project.
- Lack of a good estimate for how long the project will take.
Build Value for Your Project
“One of your first tasks when you receive a new project assignment is to determine and validate the projects goals, objectives and requirements.”
I have heard many project managers exclaim, “Company management just doesn’t get it.” This is a common complaint. So how might executive management “get it?” It is your responsibility as a project manager to ensure that they do “get it.” Develop a plan to inform and educate the appropriate level of management as to your project’s benefits. Be sure to let them know what value the project will provide to the company. Your project could increase revenue for the company, decrease costs, or improve customer satisfaction. Determine whether the project provides one or more of these benefits and clearly communicate these to management.
If you do not define the goals, objectives and requirements for your project, how will you know if the project is done and is of value? One of your first tasks when you receive a new project assignment is to determine and validate the project’s goals, objectives and requirements. Find out who the stakeholders are for the project and have a meeting with them. In the meeting you itemize the goals, validate the objectives, and set up the necessary interviews with participants to flush out the requirements. Once you have documented the goals and objectives (yes, this means in writing), conduct your interviews. The deliverables of your interviews are documents outlining the high-level requirements for the project with a goal for each requirement. You use these goals and objectives to determine if your project is a success once it is complete.
Estimating Is Important
“One of the most common causes of runaway projects is poor estimation.” This quote is from Robert Glass who has written numerous books on software engineering. Many software engineers are not very good at coming up with estimates for how long a project/task will take. Why is estimating so important? Estimating helps set and manage customer expectations and helps you stay on track while developing the project.
“One of the most common causes of runaway projects is poor estimation.”
Track Your Time
Track all hours spent on each task in your project. Everyone on your team must keep track of each hour spent so you can compare actual hours against your estimated hours. Time tracking accomplishes two goals. First, it lets you know if your project might be running late. Second, it helps you improve your estimating skills because you will have something to look back on. As George Santayana once said, “Those who cannot remember their past are condemned to repeat it.” If you want to improve your estimating skills, you need to remember how long projects took you in the past.
Develop Your Core Best Practices
You can choose from any number of ways to help projects become successful. To better your projects, try to come up with a set of core best practices. Below are some of the ones that have worked successfully for my company over the last 19 years.
Create and Follow Project Plans
The key concept here is “if you fail to plan, you plan to fail,” so create a project plan and use it! Use project management tools such as Microsoft Project, bug tracking and time tracking software and any other tools you need for the complete management of your project. The key is to use something and keep using it. Check your plan each morning, get a status from all team members on each item in your plan, check the progress against the estimate, identify any issues, and update your plan if necessary.
Manage Change and Risk
Projects are never static and there are always elements of risk. Risk may take several forms such as losing your project’s budget, having your executive sponsor lose interest, or having key staff members re-assigned. When you review your plans and schedules each day, review each item you see as a potential risk. Prioritize each item and come up with one or more corrective actions. Inform the stakeholders of the project as soon as possible to let them know the issues and present to them your list of possible corrective actions. Let them pick from your list of corrective actions so they are involved in the decision making process. It is important to let them make the decision on the actions to take because if the potential risks turn into reality, it will delegate more responsibility to them.
Follow a Process
Application Lifecycle Management (ALM) is the integration of business management and software engineering using tools that join together requirements management, architecture, coding, testing, tracking, and release management. I find a lot of companies are weak in the ALM area. You’ll find many ALM tools available from various sources which can apply in your company to help you manage and improve the quality of your applications. You should either create an ALM or buy an ALM and start applying it diligently within your company.
Agile Project Management
In the software development world, Agile has come to mean a way of developing software that is lightweight, lean and quick. It typically involves a team approach where two of more developers work very iteratively to complete a software project. You can apply this same approach to project management as well.
Agile does NOT mean that you can run a project without planning or doing the necessary groundwork. Many software developers have hidden behind the cloak of “Agile” to defend their poor project management skills. If you are in management, don’t be fooled by your project managers or programmers claiming they are using an Agile approach and therefore do not need any project artifacts like plans and schedules. Check the original definition of Agile (http://www.agilemanifesto.org/) and you will see that the founders of Agile do expect best practices to be followed with regard to project management.
“Many software developers have hidden behind the cloak of ‘Agile’ to defend their poor project management skills.”
Agile Best Practices
The Agile approach offers many best practices for project management. The key to any approach, Agile or otherwise, is to be disciplined in its application. Always follow the process you have outlined. Also, be open to changing the process if need dictates. Do not be afraid to change things if you find the process does not work.
Involve Your Customer
Align project management and your software development practices with your customer needs. Involve your customer in your project management and development processes. Let them help you decide what is working and what isn’t. In other words, listen to your customer. They are sometimes the best judge of what goals are important, and how best you can help them accomplish those goals.
Rapid Releases
Build customer satisfaction by rapid, continuous delivery of useful software. Releases should be small, succinct and regular. Even if a whole screen is not complete, getting that screen into your users’ hands can sometimes result in getting valuable feedback. This feedback may change your project schedule, but catching changes early often costs less than catching them later in the project. You should measure each incremental release in days or weeks, not months.
Communication Is Key
Foster close, daily cooperation between business people and developers. Yes, this sounds like an oxymoron, but it really works. Your project needs one or more business-oriented, partially technical, and customer-focused individuals to be the interface between you and the business stakeholders. You (the project manager) will still communicate with business stakeholders through status meetings, presentations, and demonstrations.
Strive for rapid feedback to ensure your project meets the needs of all the stakeholders. Produce informative, clear and concise statuses each week. You do not need long reports, just short to the point bullet items will do the trick. Let them know that you can fill them in with more detailed information if they want it, but most people appreciate at-a-glance status reports. Besides the written status reports, be sure you get physically in front of your stakeholders at least once a month. You always get more constructive feedback in person than you do over e-mail.
Don’t Over-Document
Don’t overdo it with creating documentation or other project management artifacts. Only create artifacts that add value for your stakeholders. Identify why and for whom you created the artifact. If you don’t know who would care about a particular document or drawing you are creating, then you most likely do not need it.
Embrace Change
Change is inevitable in our industry. Requirements change, project management techniques change, software development methodologies change, and most importantly, business requirements change. You need to keep up with this change and revise your processes to embrace these changes. Change is one key driver for why an Agile project management process is essential in today’s fast-paced business world.
“Change is inevitable in our industry… Change is the one key driver on why an Agile project management process is essential in today’s fast-paced business world.”
Summary
Project management is a large subject area and I cannot hope to cover it all in a small article like this. However, I hope I have given you some guidance that will help you develop your project management skills further. I firmly believe the time you invest in enhancing your project management skills will reap many rewards in your career.