While you are coding a personal project, do you find yourself frequently stopping, fixing, and re-evaluating what to do next? This is commonplace among programmers no matter whether they are a beginner or a professional, but there is one method that professionals use to become focused longer. This method can also let you catch structural mistakes in your project before they happen which saves time. The method that is so critical for organizations that manage huge codebases is defining your project scope. In general, before you begin a project or start a subtask of that project, make sure to always write down an idea for the work that you have to put in.
Before you begin a project, define a short Project Plan of what your project should be described as when it is finished as well as what your project is not. Many people overlook the ladder and begin expanding their projects before the main features are completed. For most projects, you will want to write this down on your computer. Why should you write it down? When a programmer is tasked with creating a project by themselves, they take on the role of both the requestor and the fulfiller. Usually, it’s difficult for the fulfiller to change the tasks that they were assigned, but in a one-person project’s case, it is extremely easy. Having a guide of what you originally wanted keeps you on track and prevents you from programming features that change the original goal. Try to not change the project plan or add new features until you have completed a majority of it. ISO 29110, an international standard for software development companies, recommends this for every size of business.
Always program the basic features of your Project Plan first before expanding on them. There is a common idea in entrepreneurship that you need to get your product to market as soon as possible with only the basic features, and then determine what should be added. You have to do the same thing when it comes to programming a personal project because there are an infinite number of ways to improve every one of your features. This doesn’t mean you should necessarily do it. When developing, ensure certain “evenness” in how much detail is put into every feature, and then you can avoid finding easy, low-priority work that wastes time. Not doing easy, out-of-scope programming work can you’re your focus and save you time. Refer to your Project Plan and base your development off of it, it can get you done much faster. If a feature in your project plan is too expansive, consider making a task plan that breaks down the work that has to be put in.
There is an easy way to tell when any personal project is starting to go off the original scope, which can be found in the book “Parkinson’s Law and Other Studies in Administration”. One law that the author brings up is that every great leader has failed when leaders have started to perfect specific parts of their empire for maximum efficiency. He gives a more modern example; when a company focuses on perfecting its procedures and office layout before getting more customers, it will almost certainly fail. In creating a personal programming project, don’t find work for yourself that doesn’t actively improve the state of your project that seems enjoyable. Here’s my recommendation – don’t create a logo for your project until it is nearly complete.
In taking all of this in mind, you can create a programming environment for yourself that ensures maximum focus. Keeping an idea of a project in your mind is dangerous and can lead to uncompleted projects. All of your thoughts should be laid out in a document or multiple documents to have a static reference point for what needs to be done. Potentially, performing this method can make you enjoy coding more than you had before since you have a clear path to victory. The professionals wouldn’t be able to do this daily for eight hours if they weren’t given an exact list of tasks to do, so don’t torture yourself! Before beginning a project, always write down a plan for the work that has to be put in.
United Hacks Hackathon • Hack United Social Media • Written By Josh Rodgers.