| By Nigel Cheshire | Article Rating: |
|
| January 30, 2006 04:30 PM EST | Reads: |
18,608 |
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.
Published January 30, 2006 Reads 18,608
Copyright © 2006 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
![]() |
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. |
||||
- Agile Adoption – Crossing the Chasm
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Cross-Platform Mobile Website Development – a Tool Comparison
- Architecture Governance – the TOGAF Way
- Twelve New Programming Languages: Is Cloud Responsible?
- It's the Java vs. C++ Shootout Revisited!
- Cloud Expo New York Speaker Profile: Arun Gupta – Oracle
- Agile Development & Enterprise Architecture Practice – Can They Coexist?
- Cloud Expo New York: Industry-Leading CxOs to Present June 11-14
- Component Development and Assembly Using OSGi Services
- Big Data: Information Spawns Innovation
- Apply Agile When Deploying Apps
- Agile Adoption – Crossing the Chasm
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Cross-Platform Mobile Website Development – a Tool Comparison
- Architecture Governance – the TOGAF Way
- Google Analytics with Monitis Dashboard
- Twelve New Programming Languages: Is Cloud Responsible?
- It's the Java vs. C++ Shootout Revisited!
- Cloud Expo New York Speaker Profile: Arun Gupta – Oracle
- Scaling Java and JSP Apps with Distributed Caching
- Agile Development & Enterprise Architecture Practice – Can They Coexist?
- Cloud Expo New York: Industry-Leading CxOs to Present June 11-14
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?





















