A current project I am working on involves 4 companies. The principle, a web services company, an electronic hardware and firmware company, and a contract manufacturer. I am using a traditional Gantt tool, along with Excel, to manage the overall project. We rely on each of the other companies to have their own internal project management tools. The contract manufacturer uses a traditional Gantt tool to manage their multiple projects both corporately and individually. The hardware/firmware company also uses a traditional Gantt tool. The web services company is using their own in house project tracking strategy. None of the companies involved use Agile tools.
It is better, in my opinion, for software and firmware developers to operate with Agile. Both the web services company and the hardware/firmware companies have had their struggles and would have benefitted from an Agile approach to their project management strategies. The principles’ use of a traditional Gantt tool is adequate for project management on a macro level, but the use of Excel to “break out” tasks, and groups of tasks, on a micro level is necessary for seeing detail. The principle is managing both their own tasks and those of the contractor companies.
Throughout the project we have met weekly as a group. Some by phone and some in person, the logistics of the meetings dictating which. We have also met at least twice a week one on one with our contractors. This was done by phone early on, and face to face over the past few months. It involves some travel, which is why we chose contractors local to the principle.
The meetings are focused on three areas. Where we are now, make work ready (upcoming tasks) and what problems or obstacles may be in our path. This is meant to get everyone on the same page and to share problems and opportunities. Some issues create addition meetings between the engineers off line. All meetings are documented and emailed to the entire team. This way, only those needed at these ad hoc meetings have to attend.
Projects are like funnels. In the beginning, there are more tasks in play at the same time. There is lower velocity and lower friction between the individuals and the businesses they represent. The work is focused on bringing all tasks to an eventual assembly of the final product or service. As problems and setbacks occur you should attempt to evaluate their impact on future tasks and the completion of the project. The objectives are to deliver the desired project results, on time and in budget.
All tasks should have an operation definition that includes what it is, who is responsible, how it is to be accomplished (tools and resources), a start date, a completion date, and a definition of what complete means. This is where most projects fail. Either this operational definition is not fully laid out or it is ignored as pressure to finish mounts up.
Maybe the most important part of project management is trust. As the project moves down the funnel, both velocity and friction increase. As pressure mounts toward the end of a project, all the hedging done earlier will land in your lap. The way to prevent this is to divide the project into segments. We have an “end of the week” focus. It is part of the weekly meeting format. Things are due when they are due, unless the project manager and partners agree to slippage. Slippage is not necessarily failure, unless it is not disclosed. Seeing problems early can control the damage from unexpected negative events.
I find that a master project plan can be difficult to use effectively on a micro level. I find it better to have the project mapped out in segments based upon the master project plan. This makes it easier to use break out tools to manage the project on a daily and weekly basis. It also makes it easier to see and handle the unexpected.
Project management can be rewarding or stressful. Reducing stress requires a good plan, a commitment to stay on track and excellent communication. I have already mentioned trust, which is the foundation of everything in the previous sentence.
Reluctance to distribute bad news, or hedging, will only increase stress and the probability of not meeting project objectives. This is something that senior management can make easy or hard. Shooting the messenger will make it harder for the project to succeed. Move quickly to state both bad news and what is being done about it.
Everyone needs to have a realist perspective on time lines and budgets. In the current project, we took the shortest possible time, plus the worst case time, plus four times the most probable time. This was divided by six to come up with a good faith project estimate. This works pretty good unless someone in senior management only considers the shortest possible time line and builds that into their expectations. The earlier this type of problem is addressed the better.
Remember, it were easy, everyone would be doing it. The bigger the project and its impact, the more difficult it can be. At the same time the more rewarding it can be.