Coding is not just math and numbers. It is about explaining and transferring information. Computers and machines have a certain way of thinking and understanding. You must translate your way of thinking so the computer can understand. In other words, if you are clueless then the computer is too.

The “get-er-done” or “everyone know their responsibility” mentality does not work with multi-layer and multi-dependent projects. If one action effect ten different things, than it is needed to make sure the information that sent is correct, the channel of communication is working, the interpretation of information is constant, and the execution with said information is correct. Making a video game is a project. Project management is important and is a requirement for almost all jobs.

There are four (five depending on who you asked) phases in a project cycle.

Project Life Cycle
  1. Definition (The Pitching Phase)

    What is the project? What is its purpose? What needs to be done? Are there any limitations? Who is available to work on the project?

    These and many more questions will be asked and need to be answered. You need to convince stockholders, the team, or even yourself on the project. An idea guy fails at this point. They think a spark is enough to fuel the whole project. Those embers can die quickly if not properly nurtured and protected. Which lead to the next phase.

  1. Planning (Blueprint Phase)

    Every detail is not needed to be mentioned. You need to know or find out what parts are needed to complete the project.

    For example, you want to cook cheeseburgers for you and some friends. So, what is needed, cheese, beef, and bread. So, is that all? It technically meets the requirements of a cheeseburger. But you can add lettuce, tomato, or onions. What type of cheese? Fresh ground beef or pre-made frozen patties? Veggie patties? The bread can be simple sliced white bread or an actual burger buns. Any of these can make a cheeseburger. That is why we needed requirements and a scope to limit out what is not wanted.

    The Planning and Definition phase can go hand in hand. Rescoping, redoing requirements, and more. The planning phase set milestones and goals to reach to complete the project. The planning is the list of work that needs to be done. It is not the actual work in detail.

    With the cheeseburger example, you do not need to write a detail document on how to flip and cook the burger.

    The planning would look like this. I want everyone to have two burgers each (6 people in total), so at least 12 patties. I want to cook it out on my grill. I need to make sure the grill is clean and has enough fuel to cook. So, I know that the grill is needed and cleaning might be a requirement.

    Another critical point about planning is thinking about risks and problems that might happen in the future. For example, with the grill, I have a habit of maintaining my grill. Then the grill needing cleaning is low risk and might not be needed. If the last time I used my grill was like five years ago, then there a risk that the grill desperately needs deep cleaning.

  1. Execution (The Working Phase)

    The execution is not just doing the work. You need to self-reflect and adjust the project.

    Is this task/object meeting our standard and requirements? Are we going out of scope? Are we behind or ahead schedule?

    In the middle of it, it is easy to lose yourself in the work and lose the end goal. You can lower your standard, take short cuts, and not communicate to finish the work.

  1. Closure (End Of Project Phase)

    It is not just submitting and forgetting. At this point, reflection on the project is done.

    What can be done better? What specifically did not work? What did work? Where did we have failures?

All of this may seem random and not related. But I cannot count the times, that nothing is happening because nothing was planned out. I blankly looking at the monitor without a clue of what to do. The best advice for coding is stopping and writing out how the code will function in lamest term. Drawing a flow diagram also work. I use this four step process on each task to see what need to be done or if it is finished.