Skip the navigation
Opinion

Best Practices for Software Development Projects

By Mike Perks, IBM
September 29, 2003 12:00 PM ET

Computerworld - Most software projects fail. In fact, The Standish Group International Inc. reports that more than 80% are unsuccessful -- either because they are over budget, late, missing functions or a combination of all three.
Moreover, 30% of software projects are so poorly executed that they are canceled before completion. In my experience, software projects using modern technologies such as Java, Java 2 Enterprise Edition (J2EE), XML and Web services are no exception to this rule.
However, there is help out there. To vastly improve the success of any software development project, it's helpful to follow these 10 simple guidelines:

  1. Recruit skilled and experienced people. Today's environment is more complex that ever. Tools help, but in the end, inexperienced people produce mediocre results at best and, in most cases, fail because they don't understand good project management and the best ways to apply new technologies. An excellent project manager and architect or technical lead will provide joint leadership of the project. They set the tone and have a vast impact on its ultimate success.

  2. Use "leading-edge," not "bleeding-edge," technology. Many Fortune 500 companies have successfully used mature technologies, such as J2EE, for software projects that have had huge effects on the way they do business. In some cases, it's necessary to apply a bleeding-edge technology that helps gain a distinct advantage over the competition. However, there are risks with such a strategy, and in this case, it's even more important to have excellent people on the project. Because there are few people with this kind of experience, it's important to get outside help.

  3. Use the appropriate development process. The nature of modern software projects demands a spiral-based development process. A spiral process has multiple phases that successively decrease the project risk. At the end of each phase is a go or no-go decision. In the early phases, prototyping is used to explore new technologies for the team or a user interface.

  4. Advice
    Mike Perks
    Mike Perks is a software architect for the IBM WebSphere team in Austin. Outside of delivering customer projects, his special interests include development methodologies, aspect-oriented software development, the Unified Modeling Language and model-driven architecture. His e-mail address is mperks@us.ibm.com.
  5. Provide the right tools. A software project needs the appropriate tools that provide productivity aids for the team. Tools include the right hardware as well as design, programming and test productivity aids. The cost justification of these tools is relatively easy. Training in the new tools or techniques is also essential to ensure that they are used to their full advantage.

  6. Use source-control management. Use a source-control management (SCM) system when the project begins. All documents, not just source code, should be under the version control of the SCM system. This allows the team to go back and view the history of the project and to retain copies of previous versions of all project-related documents such as use cases, architecture and design documents, and test scripts and plans.



Additional Resources
Forrester Consulting - Optimizing Users and Applications in a Mobile World
WHITE PAPER
Solving application issues over the WAN requires careful consideration. Based on their independent research, Forrester Consulting offers recommendations on how to tackle application performance issues, insufficient bandwidth and the inability to quickly restore users in a disaster.

Read now.

Security KnowledgeVault
WHITE PAPER
Security is not an option. This KnowledgeVault Series offers professional advice how to be proactive in the fight against cybercrimes and multi-layered security threats; how to adopt a holistic approach to protecting and managing data; and how to hire a qualified security assessor. Make security your Number 1 priority.

Read now.

Cut Communications Costs Once and for All
WHITE PAPER
New IP-based communications systems are being deployed by small and midsized businesses at a rapid rate. Learn how these organizations are enabling faster responsiveness, creating better customer experiences, speeding office or mobile interactions, and dramatically reducing existing communications costs.

Read now.

App Development White Papers
The Keys to Distributed & Agile Application Development
How leading firms are winning with strategies for efficient application development, without relying on co-location.
Overcome Top 7 Admin Challenges of Active Directory
As Active Directory's role in the enterprise has drastically increased, so has the need to secure the data. Gain insight on creating repeatable,...
Insiders Can Ruin Your Company. Take Action.
Did you know that 80 percent of threats to an organization come from the inside? The threat from insiders is often overlooked in...
Top Solutions and Tools to Prevent Devastating Malware
Custom malware frequently goes undetected. According to Forrester Research, the best way to reduce risk of breach is to deploy file integrity monitoring...
Streamline Compliance and Increase ROI
Streamline, simplify, and automate compliance related activities; especially those that impact multiple business units. This white paper from NetIQ, outlines solutions that will...
All App Development White Papers
App Development Webcasts
Reduced TCO for Communications Applications with New Oracle SPARC Servers
In this webcast learn how Oracle's new SPARC T4 servers and SPARC Supercluster deliver the security, performance, and scalability required for 4G network...
Optimizing Networks for the Cloud
Join guest speaker, Rohit Mehra, IDC Director of Enterprise Communications Infrastructure, to explore current trends, discuss best practices for optimizing Data Center and...
Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
Customer Spotlight: How IPC The Hospitalist Company Implemented Oracle on VMware
Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn...
All App Development Webcasts
Newsletter Sign-Up

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all newsletters | Privacy Policy
IT Jobs