We’ve all been there; you are knee-deep into developing a system, designing an app, or meticulously combing through miles of code for a new project when suddenly, you think of another feature to add or a better way to set up an existing one. When I lose focus on a long project, I sometimes find it difficult to get back on task, and thus, my performance on the job is significantly hindered. It can be quite difficult to keep your attention on one thing at a time, especially when working on a task that you’re passionate about; ideas start flowing, the gears in your brain work on overdrive, and the ability to separate your top-down view of the entire project from your direct attention to one segment of it becomes cloudy. However, there are several methods in which I use to see a project to the end and still manage to record and apply all of my random ideas and ‘eureka!’ moments.
Like our teachers instructed us in school, when a writing paper, a carefully crafted outline can serve as the bumpers in a bowling lane, maintaining your ball’s position in its path to the pins. By planning ahead, you can compile a list of tasks that need to be completed and their due date. When you come up with a new idea as you’re are working on another, you will already know when and where that idea can be applied.
Taking notes and keeping track of tasks while working on a project can be stressful enough by yourself, let alone when working with a team. Depending on which system you wish to use, whether it be scribbling on a notebook, creating tickets, or using an app such as Trello, ensure that you write everything down. While I am busy working on an extensive project, if I randomly get a great idea about something and don’t write it down in some way, I will undoubtedly have that idea bouncing around in my head for hours so I don’t forget it; this process starts with the realization of the thought and doesn’t end until the thought is safely collected and stored somewhere. Close the loop.
Similar to an IT ticketing system, priorities such as low, normal, and urgent indicate both the severity of the incident and its specified completion date. When working on a lengthy project, applying priorities such as ‘must have’ or ‘nice to have’ to the random ideas that come up helps determine if they should be ignored, administered, or prioritized. I also like using the MoSCoW model, where you label your tasks as either must, should, could, or would. An excellent method to use when determining the priority of a job is benefit divided by time-to-complete; in other words, estimate the time it takes to complete each task on your list, as well as the necessary time to do so. Then, re-sort your list and work on what matters first.
Race to the Deadline
In the ideal IT world, no projects would be rushed to completion; however, this is sadly not the case. More often than not, apps, projects, and systems must go live at a specific date, and any deviation from that date would seemingly start World War III. Luckily, the stress to complete a task can be used positively. For every section of the entire project, determine if it gets you faster to the finish line; if not, do it after the initial release.
Don’t get married to your ideas; instead, realize that some are worth implementing, and some need to be thrown away. Use your coworkers to bounce thoughts off of, revisit ideas regularly, and devote a few minutes to brainstorm every side-project branching from your main project’s goal. I tend to end up on wild tangents while focusing too long on a small detail of a project, and within no time, have a substantially more advanced (yet more complicated) task list to complete. So, stay single, but don’t be afraid to K.I.S.S (Keep it Simple, Stupid). Sorry, that was a poor attempt at a joke.
Categories: Group Theory