Each project must have a strict deadline. And some projects truly have it. When a lot of money is already spent on marketing and advertisement, it is impossible to release a project with some tardiness.
There are also situations when you rely on some specific date such as:
- holidays, events, and conferences
- already made promises and announcements
- deadlines defined by other people or government
That’s obvious, that these deadlines must be met.
Even if the project is not very important and there is no deadline, the product owner should create one.
Every party (both client and developers) should know that deadline is something very important.
And that it is impossible to move that deadline. No one can do that.
What does it mean to have a deadline?
When someone says that the deadline is on 31 of March, it means that work should be done prior to that day.
It also means that project must work on that day in a real production environment. Some people assume deadline as some imaginary point in time when they need to submit the source code to the customer for the first time.
That’s a losing strategy. The client won’t be happy. Instead, we offer short iterations and milestones with the fixed requirements. It is even possible to review the most important individual features.
Some extra time is always needed to fix some unexpected problems, manage the final deployment, and get the final feedback from product owners.
We always have some extra time for that tasks. But where do we get this time?
What happens when we feel that we will be late?
There several sources to find some extra time:
- You can add extra people to the project
- You can decrease quality of the software
- You can actually drop some features
While first two points are the root of all evil, the third one really works.
Dropping some low priority features can save the project.
How features are dropped
Dropping a feature is a very delicate process. We need two things before doing so:
- We need to ensure that priority of this feature is not “Must”
- We need to receive client’s letter approval to drop this specific feature
Then, we can drop this feature.
What to do next?
Dropping some low priority feature may not only save your project, but also, give it some extra bonuses.
If the client still want this feature to be implemented - no problems, it will be done after the deadline is met and the product is successfully working in production and already earning some money (or reputation) for the client.
This new feature can be an extra marketing objective which will promote the project.
But you can even realize that this feature is not required at all. And save your resources for other more important tasks.