Project Planning
I recall a time when I would finish my day of work as a branch level IT support guy and head home to spend the rest of my evening lost in lines of code. I had chosen to work on a project for my boss that called for a dynamic solution. The goal was to aggregate a large set of data from multiple sources. Relationships needed to be established between the different sources to ultimately compute and summarize statistics regarding the business. These results then needed to be displayed graphically in an appealing manner in a dashboard.
I was greener than the grass on the other side and had no clue on how to solve some of the problems I would end up facing. I recall engaging with other developers asking them very abstract questions in regards to what I was trying to achieve. These conversations often ended dismally as I lacked the correct terminology to fully explain what I was trying to do.
As frustrating as it was I managed to develop a working system after a few months of sleepless nights. I was pleased with the result regardless of the fact it eventually was made redundant.
I have since been involved on bigger and bolder projects and one thing I have faced is the “Deadline”. I think the best way of explaining it would be the “Observer Effect” or better yet, the “Uncertainty Principle”. The first question is always the desire to know exactly how long it will take to have the problem resolved, which is complicated by the fact one first needs to know exactly what has to be done in order to even determine a timeline.
Next you require status updates to see how are things progressing along and when will the end product be available. Sometimes this requires you actually stop working on the project in order to compose the status update ultimately delaying the progress further.
I look back and think how simple it was on my first project without the pressures of deadlines, i remained focused on my end goal. Yes, developing the solution was frustrating as I lacked the knowledge and skills, but I managed to overcome those hurdles.
Benjamin Franklin once said that only “Death and Taxes” could be certain, well in the corporate environment you can count on deadlines. If you have any hope in trying to realize those goals you need to adopt a structured approach in handling your projects.
Start by determining the scope of the proposed solution. Determine what will need to be done in order to achieve the full scope and then segment into smaller goals that flow into each other sequentially. Allocate time for each of the segments while allowing for a bit of “shift”. You could schedule feedback at the end of each week, this can help avoiding interruptions during the solution development time. At then end you have hopefully avoid any “scope creep” and enjoyed a much smoother development cycle.
Beware of project overloading, which can have a detrimental overall effect on ones output. Trying to focus on more than one project is just bad math and will ultimately end in poorly designed solutions that take forever to finish.Every time you switch between a solution you have to go back and recall what was being done, which ultimately leads to time waste. Sure you could always document everything you do but now your spending half your time or even more on keeping notes.