Nigel Cheshire

Subscribe to Nigel Cheshire: eMailAlertsEmail Alerts
Get Nigel Cheshire: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java Developer Magazine

testsiteforbugresearchpleasedonotapprove: Article

Using Java Tools to Enforce Best Practices

Enerjy CEO NIgel Cheshire Explains How

What Are Best Practices?
The software development industry has and will continue to develop high-quality software; but unfortunately the industry still carries the stigma of countless spectacular software failures. Software development best practices, methodologies and processes are intended to deliver software development projects on time and within budget, and have been documented and taught for the past few decades. Some of the key best practices include:
• Requirements definitions that are agreed to by all parties—business analysts, marketing, development, quality assurance
• Coding standards adherence
• Unit testing by developers: test early and often
• Change and version control for all software
• Automated and manual testing—functional, integration, performance, security, regression
• Deployment—monitoring and maintenance for post-production feedback

Most important to these best practices is a quality mindset, whereby quality is built into each line of code; and at each step of the development process, issues are addressed so that they are not passed downstream.

Companies may have invested in extensive Java software development systems and processes that utilize these best practices, or they may have installed a few simple Open Source development tools—yet many still have not achieved the level of code quality the end user expects. With maintenance costs exceeding 90 percent of IT budgets, there is a great deal of room for improvement.

Which Tools Can Help Enforce Best Practices?
During the act of software creation, various Java development tools have emerged to help even the best developers do a better job, whether they work on a team or alone. These tools can be considered best practices in that they are designed to help in most situations. Once developers have used them, they will find coding without them difficult, at best. These tools include:
• Source code control systems
• Static code checking software
• Testing frameworks
• Coverage tools

In Part II of this article, I will take an in-depth look at the benefits of implementing Java development tools, including source code control systems, static code checking software, testing frameworks and coverage tools. And examine how these tools will enable development teams to focus on quality early in the development cycle to help increase the efficiency of the development team.

More Stories By Nigel Cheshire

Nigel Cheshire is CEO of Enerjy Software, a division of Teamstudio Inc. He oversees product strategy and has been driving the company's growth since he founded it in 1996. Prior to founding Teamstudio, Inc., Nigel was co-founder and principal of Ives & Company, a CRM solutions consultancy. He holds a Bachelor of Science degree in computer science from the University of Teesside, England.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
JDJ News Desk 01/30/06 05:50:29 PM EST

Bad code abounds, and the cost to fix it is expensive. A 2002 federal study found that software errors and bugs in code cost the U.S. economy nearly $60 billion a year. And a study conducted by The Standish Group reports a 27-month backlog on end-user requests for application enhancements. With bugs and enhancements coming out of the same budgets, only the loudest voices are heard. Many organizations with overrun projects have development teams that spend most of their time fixing bugs, fighting fires and leaping from one crisis to the next. Meanwhile, the ?too little, too late? approach to QA means that development teams consistently underestimate the time needed to test and debug applications.