3 minutes
My way of tackling projects
This post will not be about the details of writing code or a complete project framework. This will be about the general process, then tackling any project.
Getting started
Then having an idea, one important thing is to check if someone else already thought of it. Chances are if you need it somebody else needs it as well. If no product fits your case or you need something uniq or different the process begins.
The first things I usually do are:
- Defining the Problem
- Deciding on architecture (if needed)
- Looking for framework and helpful libraries With these steps taken I have a rough plan of the project and the tools to use.
Then beginning a project the first steps are often the same:
- Reading the Docs of the tools chosen
- Looking at examples or work from others
- Trying something really simple These are good steps to get to know the tools. Small steps can be a great way to keep you motivated and often can keep you from going to deep into the details. Keeping it simple and documenting the code really goes a long way.
Keep it going
At this point I have a good understand of the task ahead and I can go into the main phase of the project. I start with creating a plan of what needs to be done in a bigger picture:
- What is the core functionality?
- In which order should the code be written?
- What are the milestones? These questions help getting a direction and revile the first steps. Then coding the first task should be easy to achieve, something along the lines of:
- Setup repository
- Creating the bare bones project Best case scenario is to know exactly how to get the task done. This way the task are easy to start and not a big black box of unknown amount of work or code.
An other thing is to pace yourself. Then you get stuck and frustrated walk away and do something else. When coming back more often then not the problem can be solved quite easily. Not to mention that the resulting code most likely is much better.
I do this in a cycle:
- Plan the next step in small easy task
- Code the feature
- Repeat This sounds kind of obvious but it happens so fast to get coding without a clear direction. Leading to getting stuck in rabbit holes where you don’t actually need the functionality. There is good reason for agile development to use things like the Plan - DO - Check - Act cycle.
Conclusion
Planing is key. Smaller tasks are often better then big ones. Try to be consistent with the workflow you choose and check from time to time if your heading the right direction.