![]() |
Development Lifecycle »
Work Issues »
General
Intermediate
License: The Code Project Open License (CPOL)
7 secrets for delivering successful software projectsBy The Code MachineThis article discusses a few key points which can make or break software projects |
Windows, Visual Studio, Dev
|
||||||||||
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
Folks in software development often discuss reasons for project failures, why it didn't finish by the deadline, why the quality of the deliverables wasn't great, so on and so forth. In this article I will be sharing some thoughts which may or may not be part of any fancy software development methodology. It is just pure experience. And also please bear with my English :-).
Software development is fun as long as the ship is sailing smoothly. The moment a major problem comes up, the ship starts to sink. There are many reasons, both technical and non-technical, that can be attributed to failures. There are some best practices which can help us avoid the trouble in the first place.
1. Having Experts in the teamThis is simple. A mediocre team will produce a mediocre product. Having experts in a team delivers results faster and with good quality. Even if you have excellent entry level developers, you need experts to guide them. Academic excellence needs professional guidance. Along with the experts in the team, always include mediocre people with great attitude. Give them tasks which require them to interact with the experts on regular basis. They will learn a lot from the experts. Who knows they may get motivated when they get to know how the expert himself/herself became an expert. After all, nobody is born expert. This way you can build your army of future experts.
In a good team, even a minor change (e.g. in requirements, design or implementation) is communicated in advance to everyone in the team. This warns and prepares everyone for a probable calamity. This avoids "Tsunami effect" (A minor change at one place can cause a big issue somewhere else). Otherwise a minor change can later cause major rework elsewhere, which surely brings a project closer to its dreaded end.
Great communication definitely doesn't mean long meetings or using complicated software tools. It has to be done in way that practically requires no schedule changes. Unnecessary activities kill productivity.
On a more personal note, it's very important for team members to enjoy each others company and always be comfortable in the group. Personal understanding among team members surely helps the project.
As I said earlier, these are just my learnings from experience. Do let me know what you think.
| You must Sign In to use this message board. | |||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 29 Dec 2007 Editor: |
Copyright 2007 by The Code Machine Everything else Copyright © CodeProject, 1999-2009 Web09 | Advertise on the Code Project |