In all instances in life, whether it is in within our privacy or at work, we face times when we have to tackle new challenges. Whether those are a new service for our systems, a new software development or a trip all those can be delivered as a project…but how?
Let’s start firstly by defining what a project is. A project is a combination of actions that put together will deliver a product or a service in a limited amount of time. And this is what really defines a project: it is limited in time; otherwise we are talking of an operation (business as usual).
Now that you know what a project really is you have to make the next decision: how will it be delivered? There are plenty of options and this is the moment when the fun starts. I will just mention two:
- Chaotically: Unplanned and delivered in best effort by a non-project professional. Usually fails.
- Structured: Following a methodology that while it may not guaranty 100% success the project will surely be delivered.
I will just brief on the second way as the first one is how most companies rather deliver their services, then asking how is that they failed.
There is something worth mentioning: 50% of IT projects will fail in the first year and between 60% to 70% all projects will fail. Why? Usually is lack of leadership, resources, compromise, communication…in general, lack of real “project management”. In the particular case of the IT project failure I would include the fact that, in most companies IT is seeing as an “IT thing”, while in reality IT is the supporting function to everybody else…many companies fail to see the partnership that there needs to be.
Let’s make also another thing clear: believe or not, a project is something alive. The longer that it takes to deliver it the more it will change…and it will. As an example, you visit someone to see a new-born baby and you don’t see him again for a couple of years…when you do you will hardly recognize him. Same goes with a project. Studies over decades have come to the conclusion that a normal project changes a 2% per month in average. If you are planning to deliver a project over a year and a half, which is the average TTL (time-to-live) for software implementations, that will mean that by the time you finish the end product will be a 36% different (as a minimum) compared to what you had in mind at the beginning. So, the big question is:
How do we deliver a project?
Needless to say, rely on professionals to start with. Project Managers (PMs) are there to help you deliver a project. There is an increasing number of companies that have realized that having a PMO (Project Management Office) in house or at least a PM consultant will ease the pain of delivering projects. Coming to the point of actually delivering the project your PM can choose between plenty of options on different methodologies. However we will mention the two categories that are more widely used: “Waterfall” and “Agile”.
- Waterfall: The project is delimited in phases and it will not move forward until the previous phase has finished and signed off.
- Agile: Implementation takes place through short and defined go-lives (called “Sprints”) with small deliverables at regular times (every week – fortnight or maximum every month).
Each one of these methods is aimed at different “target” projects:
- The scope is defined right at the beginning of the project.
- Changes are only permitted through a CR (“Change Request”).
- Phases in the project life-cycle are well defined.
- This methodology is intended for projects where changes are not expected, i.e. deliver a service for a customer where the signed contract defines the scope, construction of a building, etc.
- The scope is not defined at the beginning. We start delivering the project as a conceptual idea more than a visualized final product.
- Changes are included in every stint that takes place (“Sprint”) in which versions are delivered every agreed time.
- The project changes and evolutions as the implementation takes place.
- This methodology is mainly for software developments where changes are expected as the program is used.
Which one is better? None. When do I use each of them? Depends.
There are not a definitive answers to those questions. The PM should be flexible and open to how the project needs to be delivered, discussing and agreeing with the sponsor (ownership of the project on behalf of the organization and facilitator when the PM has a need) and stakeholders (a person, group or organization that may have interests or concerns in the project). You can develop a program to meet certain features in a waterfall way (PMI methodology) and you can construct a building using an Agile methodology as you can have artists and designers changing the building as it is constructed. Obviously this brings a number of risks into the project (i.e. costs, increase of time to deliver, etc) so a risk – analysis should also be done and presented at the beginning of the project when choosing between methodologies.
Other variables that may influence which methodology you want to adopt could be:
- In Agile you need to have experts that will be able to make the changes during the sprint as there is no much room for experimenting or wasting time.
- In Agile your resources (developers, testers, etc) must concentrate in the sprint.
- In a waterfall method as the phases and scope are fixed from the beginning your resources can be more easily managed.
There are other methodologies like Prince2, RAD (Rapid Application Development), Six-Sigma (not really a project methodology but more a process-improvement methodology) and many more which will appear as people embrace methodologies to deliver in better ways. New ones will take the aforementioned as based and then changed or even invented. However, I just wanted to introduce the main two used in the market so people facing a new project without much previous experience can have a better idea of what options they may have and be presented with.