Wednesday, February 24

10 Ways to Avoid Mistakes During Project Development

by Alan Norton
  1. Learn from other’s mistakes. Find experienced peers who are willing to share their mistakes and then learn from them.

  2. Do your research first. No matter how much you know, you'll encounter new challenges on an almost daily basis. Each challenge usually requires you to learn something new. Before you tackle a problem or task, do your homework. the trial-and-error method of learning may have been necessary and acceptable years ago. but with the resources available on the Internet today, there is little excuse for mistakes made because you didn't do the proper research in advance.

  3. Have a plan. You can't know how to get to your destination without a road map. In project development, the road map is known as a project plan. Whether done formally or informally, you need to know how to get where you are going. Days or even weeks of programming time can be lost if the wrong path is taken. When done the right way, a project plan will keep you from straying off course.

  4. Follow standards and use templates. There is a good reason why experienced professionals took the time to create and publish industry and company standards. Standards detail best practices and procedures learned over years of trial and error. Templates such as predefined forms can be useful since most of the work is already done in a standard format.

  5. Communicate and coordinate with others. If you are part of a team, it's essential to communicate with other team members to avoid redundancies and to coordinate your wort with theirs. Emails, instant messages, project status reports, and teleconferences are all ways to communicate and coordinate with others on the team. Unfortunately, each of these is far from perfect. You can spend the better part of a day reading and writing emails, participating in conference calls, and instant messaging with your peers. But it is a necessary part of the development process.

  6. Allow enough time. Failure to allow enough time for each phase of the project can lead to missed requirements, inadequate analysis, poor design, rushed programming, insufficient testing, and incomplete documentation. The result can be a system that doesn’t meet expectations and fails in one or more key areas. Estimating the time needed to accomplish each phase of a project is difficult. Ideally, you want to complete each phase of the project on time, and thebest way to do that is estimate them correctly up front.

  7. Reuse proven code. If you’re an experienced developer, you should have built up a large code base over the years. Go blue and recycle this code whenever possible. You will likely have to modify the code to fit the new requirements, but proven core code is a good foundation to build on. Not only will you reduce the risk of introducing new bugs, but you will eliminate the time wasted creating similar code and the subsequent testing required. Share your code with others so they can reuse parts of it. Proven code can be shared via plug-ins or libraries. Good external sources of code are available on the Internet that can be legally used for free or for a small fee.

  8. Use checklists. Before a commercial plane trip, the pilot and co-pilot are busy walking through a long, detailed checklist. Checklists can be used during various phases of the project development process. They are particularly useful when working with large systems and when a single person is responsible for multiple tasks. For example, a list detailing the steps required for system turn-on will help avoid accomplishing tasks out of order and prevent errors of omission. It is all too easy for developers to overlook important items like system access when they are busy doing final testing and documentation.

  9. Test, test, test... and carefully review your work. There is a healthy level of paranoia about delivering error-free work. Test as much as possible as early as possible. Errors in the code are typically more expensive to correct when found near the end of the development process. The last thing you need when facing a critical release date is to find a bug that should have been found months ago. Careful and thorough testing will allow you to find those mistakes before your users can. Double- and triple-check your work. Develop test data and a plan to test common calendar-based events like EOM processing and annual reporting. All functionality and every single possible scenario should be thoroughly tested. And, yes, this is also a good place to use a checklist.

  10. Test again with a third party. Find at least one experienced person who can be dedicated to the beta testing. They will undoubtedly use the system in ways you never dreamed of and find bugs you missed. Don’t overlook or rush this final quality assurance task. It’s typically your last chance to get it right. Once a bad piece of software is released or a system with a critical bug is turned on, a company’s image can be tarnished for years to come.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.