Joan managed a few projects for a couple of customers. In all cases the process looked pretty similar. With another implementation of the same system for a new client she was quite certain there won’t be huge differences. Unfortunately the client worked in a much formalized environment and enforced very long, waterfallish acceptance tests. This stage took 3 times more than it was planned. Slip had an impact on rest of schedule and as a result project was delivered way too late.
Joan, along with the whole team, made an unconscious assumption the client would act pretty much the same as others did. If the assumption hadn’t been made the schedule would have been longer (aka realistic).
Luke was busy developing dedicated UI for an application his team was working on. There weren’t many details in requirements but this was just another application for the same customer so he didn’t think much about UI design. He made it looking similarly to those which were accepted by the customer in previous projects. Unfortunately it appeared this time UI had to be different since the client planned to integrate it with some other pieces of software whatsoever. Luke ended rewriting most of the UI and the project was late and over budget.
Luke unconsciously assumed the UI design from previous applications would work well this time too. If the assumption hadn’t been made the work would have been done only once and the project would end in glory.
Now if Joan and Luke made the very same assumptions but did that consciously they’d most likely cross-check them with their stakeholders. Joan would learn that acceptance tests would be a pain in the ass and would probably adjust either resources, a project plan or both. Luke, or his PM, would gather additional requirements and it would be clear UI should be different this time.
In both situations the main problem was not what Luke and Joan assumed about their projects. It was unconsciousness of decisions they made.
Assumptions are inevitable part of project management. Since software projects and business requirements are ever-changing we should regularly check if our assumptions are still good. But first of all we should try to make them consciously. This definitely helps.