Having worked 30 years in software development on projects that range in size from multiple years — to those that take less than 1 week, I have my share of experience is knowing what works, and what doesn’t. As it relates to managing projects. Managing people. And managing customer expectations.
The concept of project management has roots in engineering, construction and military defense projects. These PM activities have taken place on an ad-hoc or informal basis for thousands of years. Nowadays, project management is a buzzword that is all about specifying the best way to initiate, plan and execute projects – all within a date frame and budget.
Why is any of this important? Why do we care about project management? Let me answer that succinctly. The way in which a project is managed – impacts not only your customers, and market competitiveness — but also impacts the morale (satisfaction and engagement) of your employees. And if you don’t think the morale of your employees matters – then think again.
Let me digress with an analogy. Let’s say that you’ve never placed much focus on exercise, and suddenly decided that you want to train to run a marathon. You decide that 2 years from now – you will run 26.2 miles – a full marathon. How do you keep yourself motivated and focused – for an event that is 2 years away? This is the ultimate project management question. To keep momentum moving forward, achieving accomplishments, not getting derailed (such as sidelined by injury) and still keeping your sights on the end result. Perhaps you set your sights on a series of smaller accomplishments – such as running a 5K…then a 10K….then a half marathon – as a way to move your ‘running project’ forward. And for each accomplishment that is made – your motivation stays focused. This is project management – on an individual level. You get the idea.
So, looking at project management from a business perspective – the awards (accomplishments) need to be achieved in smaller units — if for no other reason than to embrace employee morale and motivation. People need to come together and achieve something on a regular basis. It’s satisfying. We are social. It encourages collaboration and teamwork. And the customer wins with great product – as a result of employee morale (from better ideas, higher productivity).
Yet, with so many different types of project management methodologies, there seems to be a “pick one” mentality as to which one is best. For software – the debate of which style of project management revolves around Waterfall (traditional life cycle) versus Agile (breaking life-cycle into miniature parts). I say – why pick? Why not embrace the best of both worlds – and run your next IT project with a hybrid Waterfall / Agile approach?
Why not turn big milestones into agile manageable pieces? Why not encourage / embrace small teams – allowing them to accomplish regular results. Why not define solutions into smaller “stories” – and keep the customer / stakeholder as a regular in the loop?
What is the Waterfall PM approach?
Waterfall has evolved from what more traditional project management methodologies, and it uses a sequential, top-down approach to project management. Under the Waterfall project management methodology, project managers attempt to eliminate risk and uncertainty by outlining all the steps in a project and defining its scope, budget, and schedule – upfront. And let’s be realistic. For projects that last for more than 30 days — knowing all the “unknowns” up front is fairly unlikely. Obviously the emphasis on the Waterfall approach is planning. And there is nothing wrong with planning….though even the best laid plans….
One of the main ideas of Waterfall is that by investing time in the early stages of a project to ensure the proper design and requirements have been met ultimately saves significant time and effort correcting problems later on. This is accomplished by ensuring that one phase of a project is 100-percent successfully completed before moving onto the next phase.
What is Agile?
While Waterfall is one of the most widely used project management methodologies today, Agile has become increasingly popular as a more iterative or change-driven approach. As the name implies, Agile is a project management methodology that lends itself to faster turnaround and the dynamic ability to quickly adapt to needed changes or course corrections. The Agile approach tends to take a more people-centric perspective, implementing short, iterative phases called sprints that rely on ongoing feedback that continuously reshapes and refines the project path.
The success and nimble nature of Agile in the software development realm has led to a rapid rise in groups that adapt Agile over other project management methodologies. Agile-driven marketing and creative teams indicate that it frees them from the endless development cycles that often occur with more traditional project management methodologies, while giving their creativity a major boost. Some creative teams attribute Agile marketing to causing productivity increases of 400 percent.
Why not Hybrid? The best of Agile and Waterfall
Yet – all is not perfect with Agile methods alone. By focusing on smaller deliverables – leaves room for scope creep and potential higher costs for the end product.
So the trick – is to think hybrid when it comes to Project Management. With due diligence in planning and establishing realistic expectations – think of breaking down each project phase into smaller deliverable components. Think of how you can make each of the stories (requirements) as a deliverable. Work with the project “known” varaiables, and prioritize on delivering priority stories early. Allow the unknown varaiable to work their way out – as known components are actualized.
Project budgets and estimates – can only be determined by what is known. So if 100% of your project is known – then 100% can be estimated into a fixed cost. If 50% is known, then a realistic estimate can only be made for 50% of your project. Often IT companies or developers are asked to quote a project with a great deal of “unknowns”. Setting the deliverable or price expectations is key to any effective project management – agile or waterfall.
The success of any project, comes down to the people who are on the team. The customer, the developers and technicians, and the person who manages. Each participant needs to feel empowered, part of the big picture, where their contributions matter and the accomplishments can be seen on a regular basis. Building this momentum into your project – is the art every PM strives to attain.