Programming is one of the most important IT skills in the world today. If you master programming in a variety of languages, you will have many work opportunities before you, now, and in the years to come. One down side is not learning or developing an effective workflow, which could play havoc with your productivity. In this article we look at ten ways to improve the workflow of your development project.
Programming is an intensive process that demands a great deal of concentration. Depending on your personality, you might like to program to the sound of your favorite music or, if silence is better you’ll need a quiet spot with good lighting.
Make sure to ask plenty of questions and leave nothing to chance. Ensure the client knows exactly what to expect. A valuable step is to create mockups that show a finished interface and all other aspects of the design. Make sure you break the project into steps where the client must sign off on your work before you go further. This will minimize problems.
This can be an easy trap to fall into. The way one company deals with this is to conduct a “Dream Call,” where they and the customer come up with every possible idea they can think of for their software project. Nothing is excluded. After the call, they and the client sit down to figure out what is most important for the core programming. Anything not deemed essential is left out, either for future versions or plugins.
This approach ensures the client will get what they need at a budget they can afford. Once this step is taken, it’s essential to spell out the terms in a contract. This approach also reduces the issue of “project creep,” where the client starts to ask for small or large additions. If this happens, the issue of time and pricing will have to be addressed.
This can be done in a variety of ways, such as using flow charts, mind maps or storyboarding. Ideally, it is a good idea to plan your process out on paper, first. The purpose of this step is to find and eliminate problems before you begin coding. Also, if you run into a problem while coding, sometimes it’s a good idea to step away from the computer and work things out on paper.
This means setting up your code so it’s easy to read, well organized, with plenty of comments. This will make it easier for programmers who come after you to understand what you’ve done. And if you have to return to your project months or years down the road, those comments will get you up to speed quickly and you won’t waste precious time relearning the process.
In addition to the step above, it’s a great idea to write out checklists, complete with screen shots of your workflow. A good idea is also to include video for complex steps.
When creating the various components of your code, use consistent naming all the way through. Doing so will minimize confusion. If necessary, create a glossary for uncommon terms to reduce misunderstanding.
This can be a great time saver. Chances are you’ll be able to make use of code snippets and templates you’ve created over the years. While you might not be able to use the pieces of code exactly as is, having them on hand will save you from having to code something from scratch.
A great benefit is to use several different software programs. Many of these contain templates which you can use on your various projects. Examples of this are Topstyle, Adobe Dreamweaver and Edge Reflow. Topstyle has a number of different templates you can use for designing iPhone apps. Dreamweaver has a number of different templates, too, including the ability to create fluid layouts for desktop, tablet and mobile. Edge Reflow is a great prototyping program for creating a variety of layouts. It makes use of Media Queries and when you finish coding your layout you can copy the CSS into another program for further refinement.
Test the code, not only with the programmer(s) on the project, but outside parties who have no familiarity with what you’re doing. This outside source can help you find mistakes in the coding. Once the errors are found, you can fix them. After that, test your results to make sure they work. Few things are more frustrating than to roll out a completed project then later discover errors (sometimes major) that need immediate attention.
This last item isn’t a programming tip as such, but a business tip. To really get ahead as a programmer, find someone you admire and model their methods. Even better, see if you can obtain mentoring from this person. This will make an enormous difference to your career, not only in what you will learn but with the doors that can open as a result.