Don't Do This One Thing Before Launching Your Software Project

I was once on a project that was establishing a shared service center for a large company with operations across the US. In initial meetings to gather scope and set goals for the project, all the project leads gathered in a conference room to plan. It was a typical planning meeting, trying to map process, plan infrastructure, and build-out teams. There was plenty of discussion from those in the meeting, but it was very difficult to come to decisions on the way forward. 

As progress was made on a topic, there always seemed to be some issue that blocked the way when attempting to move forward.

After much discussion, it always seemed that the team ended up back at the start of the topic due to the excessive amount of 'unknowns'. Making progress seemed to be impossible because there were so many variables being considered, or forgotten. Finally the project director, with some frustration and in an attempt to help move decisions forward, asked everyone in the meeting to "write down everything you don't know".

That request was made sincerely but, after it was said, everyone understood that it was shared out of frustration.

Of course, it would be impossible for the team to write down what they don't know, but that was exactly what was keeping us from advancing on the plan.

All the things we didn't know were holding us back and it was impossible to move forward. Eventually the project did start and after a lengthy blueprint, requirements, build and test phase, it was completed. Even though the project was successful, there was a lot of stops and starts to get where the project needed to go.

From the onset of the project, most people could not break-free from thinking that they had to know every step of the way before the project had even begun.

Much like the Space Race that began in 1955, the United States took a step-by-step approach to reach the moon. Variations of missiles, satellites, rockets, plants and animals were sent into orbit and to the moon until substantial information was collected. This methodology allowed the space organizations to learn things they didn't know so they could improve their next step.  

I learned important lessons that day about how to start a project:

  1. You don't start the project knowing everything, and that's okay.
  2. It's not worth trying to "write down everything you don't know", because you don't know what you don't know.

The Point: The best approach is to determine your goals and outcomes for the project, then write down everything you do know

Use what you do know to take the first steps, learn from what your first steps taught you and move forward with those new lessons you learned in-mind. Expect to have problems and even failures but look to those as learning opportunities. Many times, these are the occasions to take items off your "things I don't know" list. Just like the United States in the 1950s, they didn't know every step of the way to get to the moon, but they learned how to get there by taking one step at a time. 

The result was a giant leap forward, and the same can be true for your next project.