| Topic : Best Practices in Software Development |
|
|
Associated with other topics :
Posted in Community :
IT Quality assurance professionals
|
|
||
|
Source : http://www.computerworld.com
Activity:
2 comments
961 views
last activity : 07 06 2010 20:18:04 +0000
|
||
|
|
Most software projects fail. In fact, a report says 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.
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:
- 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.
- 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.
- 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.
- 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.
- 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.
- Apply sound estimating techniques. Most projects overshoot their estimated schedules by anywhere from 25% to 100%, but some projects have achieved schedule prediction accuracies within 10%. Without an accurate schedule estimate, there is no foundation for effective planning. When estimating a schedule, be careful not to include too much schedule compression. There is a point when the team can't achieve the tight schedule, and in the end, it will miss it by a margin.
- Break effort into mini-milestone tasks. Mini-milestones are smaller versions of milestones. Major milestones are the end of a phase or increment. Mini-milestones take less than one to two days' effort and are measured in hours. The advantages are improved status reporting, fine-grain control of knowing if a mini-milestone is missed, improved motivation (because every day or so a mini-milestone is achieved) and reduced schedule risk.
- Track all project hours. It's important to track the time spent by everyone on the project, not just the hourly paid consultants and contractors. The advantages are that the hours for an individual are compared with the planned hours. Steps are taken if that individual has been diverted onto other tasks. Also, the actual hours are compared with the estimated hours, which, in turn, provides feedback into the estimating techniques for the next project phase or the next project.
- Understand the only constant is change. These changes occur for many reasons, such as someone failed to ask the right questions at the right time, the problem being solved has changed, the users changed their minds or perceptions, the business environment has changed or the market has changed. "Feature creep" is the most common source of cost and schedule overruns. In the early stages of a project, there is a large amount of churn in the requirements. At some stage, the requirements need to be settled and essentially locked.
- Provide project leadership. It's important that company executives support a software project with a single executive responsible and accountable for the outcome. The key executive not only provides the vision, but also helps support the team by getting and controlling the resources needed for the project. It's also important that this executive doesn't meddle or micromanage the team. The executive trusts the team will deliver.
Follow these and you will get the best results for your software development process and it will ensure better quality.
TrackBack URL:
2 comments on "Best Practices for Software Development "
Sort by:
Most Recent
Top Rated
Commented by
Viktor Stephen, COO, Business Mashup/Partner Get.Next.Job
| 04 20 2009 19:15:57 +0000
Report Abuse
Not Rated
Commented by
Ranjit, Tech Architect, HCl
| 02 02 2009 05:09:34 +0000
Report Abuse
Not Rated
Found the article
"Best Practices for Software Development "
interesting ?
Share with your connections and communities

Nine IT soft is acomplete HR/Manpower/Recruitment Solutions provider and an Innovative Consulting firm.
- Create a confidential Career Profile and Resume/C.V. online
- Get advice for planning their career and for marketing of experience and skills
- Maximize awareness of and access to the best career opportunities
Viewers also viewed
|
|
|
|
|
|
Recent Knowledge (21)
|
|
|
|
Sponsored Jobs
More From Author
There are many people who are apple computer users across the world Mr. Dikshit and this tablet PC will surely change the way one uses a PC with everything just happening by a touch and the way the iphone's success one saw is rest assured that Apple's... |
hi, I also support that the Inner self is the best God. Listen to that. But most of the time we do not listen that. But that give us the best Idea at the time of difficulty. |
To me, if one wants to be a good product manager then one should be able to adapt his/her practices to the organization and situation. Product management is not yet an advanced science. Instead of laws and rules, one has guidelines and experiences to... |