If you lived 500 years ago, what kind of work would you have done?
You wouldn’t be a developer in the sense that you are today, but given your instincts, you would likely have been developing something.
Perhaps you would’ve worked alongside Galileo inventing the thermoscope, a forerunner of the modern thermometer. Or, maybe you went fishing with Dr. Alex Norwell, who accidentally invented bottled beer when he left his corked bottle of beer in the grass and returned to find the cork popped but the beer as tasty as ever (Next time you’re out with friends, raise a cold one to Dr. N).
Regardless of what you’re developing, whether it’s code or catapults for the king’s army, one thing has remained constant over the years: You must begin your project with the endgame—the goals—in mind.
The first post in this series discussed the value in being a proactive developer. Highly Effective Developer Habit #2 requires focusing on predetermined targets to increase your efficiency and effectiveness. Goals help produce top-quality software that meets your clients’ needs in addition to easily maintaining code that can be repurposed for other projects.
These goals should be developed with input from everyone who will touch the software along the way. Include project managers, product managers, testers, automation engineers, documentation specialists, and anyone else who can give you additional perspectives on how best to achieve your goals.
Connect and Collaborate
Since this is 2012, not 1512, you get the benefit of modern technologies to help you reach your goals quickly and with less time lost due to distractions and oversights you might miss.
If, for example, you use code collaboration software to enhance the code review process, the development thread conversations will be numbered and searchable, so your whole team will be able to simultaneously see the documents and work in process.
Code collaboration software also helps you track and manage defects in the coding. A bug will never go unresolved again!
If your code review software integrates with the commonly used SCM and IDE version control systems, like CVS, Visual Source Safe, or Git, your workflow always moves forward instead of the occasional sideways or backward motion when you discover that you’ve been using an old version of the project.
You Will Be Tested on This
Sooner or later, every project in development must undergo testing to make sure you’re meeting your goals; the more you can automate that process, the more effective you will be.
In the 16th Century, automated testing might mean stringing half a dozen serfs together to see how well your witch-dunking machine worked. Contemporary society, however, might not find that politically correct. Get yourself some solid automated testing applications instead of asking the interns to volunteer for an exciting new project.
Make It a Habit to Form Good Habits
Although it’s subject of debate, some experts say it takes about three to four weeks to form a new habit, others claim it takes about two months. Regardless, a few weeks or a couple of months is a relatively short amount of time to invest in developing a lifetime of habits that will make you a more effective developer.
There are all sorts of ‘tricks’ you can use to develop the right habits over the long term (Lifehack.org suggests about 18). We’ve got one more: Get the right tools to help you do the job!
Next up in our series: Highly Effective Habit #3 – Put First Things First