Home arrow Development Cycles arrow Page 4 - Practising Best Practises in Your Software Development Process

Practising Best Practises in Your Software Development Process

Software practices. Do you know what they are? Do you employ them in your everyday development? Whether you do or you don't, Simon outlines the practices needed to achieve a development process model.

Author Info:
By: Simon White
Rating: 4 stars4 stars4 stars4 stars4 stars / 39
October 28, 2003
  1. · Practising Best Practises in Your Software Development Process
  2. · What is a Software Development Process?
  3. · Why You Need a Process
  4. · Why a Learning Organisation is Not Enough
  5. · The Knowing-Doing Gap
  6. · Bridging the Knowing-Doing Gap in Software Development
  7. · Conclusion

print this article

Practising Best Practises in Your Software Development Process - Why a Learning Organisation is Not Enough
(Page 4 of 7 )

It would be easy for me to stop here and say “If you already have a process, well done, you’re on the right track. If you don’t have a process, go and get one, otherwise you’re doomed.” The truth is, most developers already know the mantra, so I wouldn’t be saying anything new if I stopped there. So this really begs the following question:

If developers already know the importance of a process, why do so many of them develop software so chaotically?

By ‘chaotically’, I simply mean in an ad hoc fashion, without following a process. If we think about this a little more, we realise that developers fall into the following three categories:

  • those that operate without a process;
  • those that subscribe (and adhere) to a process;
  • those that know their process but do not implement it, or only partially implement it.

Which of those categories are you in? Given the mountain of available literature on programming best practices and how to manage a successful software project, yet simultaneously the number of stories of software projects that have overrun and failed, I conjecture that most developers fall into the last of the three categories. That is:

Software professionals know what is best to do to develop software, but they don’t (always) do it!

Let’s think of some examples. Do you always comment your code so that the next programmer can understand it? Do you document your program designs? Do you document all the decisions that you make, with justifications as to why you made the decision that you did? Do you build your project’s latest source code frequently to uncover bugs early? Do you analyse what went wrong when aspects of the project were not successful? Do you communicate lessons learned to other members of the team, group, department, or organisation? Do you document surprises that occurred during the project, and feed your ideas of how to prepare for such surprises back into the process? Do you fix errors in your code when you discover them or do you sometimes ‘bury them under the carpet’ in the hope that they do not recur?

OK, so none of us is perfect. But I believe that developers (and others involved in software projects) consistently underachieve because they don’t do what they know to be the best practice.

blog comments powered by Disqus

- Division of Large Numbers
- Branch and Bound Algorithm Technique
- Dynamic Programming Algorithm Technique
- Genetic Algorithm Techniques
- Greedy Strategy as an Algorithm Technique
- Divide and Conquer Algorithm Technique
- The Backtracking Algorithm Technique
- More Pattern Matching Algorithms: B-M
- Pattern Matching Algorithms Demystified: KMP
- Coding Standards
- A Peek into the Future: Transactional Memory
- Learning About the Graph Construct using Gam...
- Learning About the Graph Construct using Gam...
- Learning About the Graph Construct using Gam...
- How to Strike a Match

Watch our Tech Videos 
Dev Articles Forums 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us 
Weekly Newsletter
Developer Updates  
Free Website Content 
Contact Us 
Site Map 
Privacy Policy 

Developer Shed Affiliates


© 2003-2019 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap
Popular Web Development Topics
All Web Development Tutorials