Steps To Develop A Great Project

To develop a great tech project you have to have knowledge, skill, imagination, and capability as well as the funding to see the project through. Depending on the level of difficulty, your project could take a few hours or a few months to complete as you build, encounter issues, research, change parameters, or add capabilities to your project. As you go through the development process you normally hit a few steps universal to makers and ask a few questions as well.

1. What do you want to do? Great projects start with this simple question. Do you want to automate a simple task or unload a large complicated task to save you time and effort? No matter the difficulty one of the points of your creation should be to offload effort on your part so that you can spend your time doing something else. Maybe its a hot summer day and you want to develop an automated watering system for your plants or lawn, maybe its a more complicated project where you want an alert to go off if the outside temperature drops below a certain value, or even more complicated like you want to make your own car alarm and tracking system in case its stolen. Technology gives you peace of mind and with the right skill you can do just about anything. Especially in the information era we’re in today. Most skills can be taught via YouTube, Amazon, and a bit of practice.

2. What’s required to do it? Are there any skills you need to obtain in order to get the thing done? Youtube, Stack Overflow, other tech forums and older forums from even 2009 and back can help you develop or tune a skill or piece of code you’re struggling with. Trust me, most questions and roadblocks have been hit a thousand times by programmers and are already somewhere on the web. I’d also highly suggest downloading videos that explain your answer or valuable bits of information as some data is hard to come by or known by a small niche of the community. For web pages, screen capture them. All it takes as one person making a decision for that data to be erased and lost forever.

Once you understand the roadblocks, map out a plan or series of steps to tackle it be it practice or research steps. That’s not to say you need a grand plan for every single step; but to say that you need to scale the plan with the effort required to leverage it for your goal completion. If the effort outweighs the problem it would solve then either drop that portion of the plan or modify it. Sometimes we can’t have things exactly how we want and we have to be able to see it and do something about it instead of beating our heads on a wall trying to force a square peg in around hole.

3. Do it. If you’re gonna say about it, be about it. Don’t go in a spiral of constant planning and writing things down. Sometimes you have to shut up and put your plan to action. If you don’t know what you’re doing its okay to figure it out as you move through the creation process. Some of my best works have been by just going in blind and figuring it out as I go. Not the most ideal path, but its a viable opportunity to learn as you go and gain the most skill. You’re scared to solder as you’ve never done it before, learn to do it. Its cheap to get the basic materials and its vital if you want your projects to promote out of being on the breadboard. Progress requires action. Do the thing. Do it now.

4. Roadblocks a part of learning, know when you should take a break versus when you need to modify or drop part of that plan.

5. Save your progress. Markiplier talked about spastic saving where you save your progress, save again, question if you saved it the first time so you save again. The worst thing you can do is write a whole bunch of code and forget to save it. If you make a mistake you can always go back. If you forget to save your code there’s nothing to go back to.

6. Testing, testing, 1,2,3…. Always always always test your code as its being developed. You can break the processes and sensors down however you want, but make sure you do incremental testing to ensure the sensors you’re using work and that you’re coding them to display the right data at the right time and at the right place. Its easier to fix an electrical issue before the drywall goes up, so make sure everything is up to spec and responds how you’re expecting it to. Conduct field testing to make sure sensor x can read the temps how its supposed to or that radio has the stated range.

7. Comment your code. Seriously. You may think your code is super simple and easy to understand in the moment, and maybe it seems that way to you now. But give it a few months of doing homework, actual work, dealing with family, going out on trips or otherwise not working on the project and when you reattack it I promise you its gonna look like hieroglyphics. So explain in as much or as little detail that works for you how each process in your code works and what the expected outcome is. Documentation is the best way to understanding your code. Don’t shoot yourself in the foot.