Computer news you will use...
 
Click here to go back to the Lee page

Guidelines for Excellence in a Software Development Team

by Lee Hudspeth
(This article appears in The Naked PC #5.22, October 31, 2002)



** 03. Guidelines for Excellence in a Software Development Team
       (by Lee Hudspeth)

For two decades I've been involved in the field of information 
technology, both as a member of corporate IT teams and as co-
founder/principal of two consulting companies. Someone recently 
asked me what I think the defining principles are for a 
superlative software development shop. The guidelines I offer 
here will enrich your team and enhance the quality of their work 
product and workplace.

1. Cherish Your Development Methodology

Whether you roll your own, buy one off the shelf, or find 
yourself somewhere in between, having a methodology (framework) 
for how you think about and document projects is absolutely 
essential. Create a set of document templates--in Word, Excel, or 
whatever application suits you--and use these documents as the 
foundation for every project you develop. Create a seamless 
integration between your methodology documents and your 
estimating process.

Take it one step further by using your methodology to document 
the thinking that went into the creation and refinement of your 
methodology (a powerful exercise in meta-cognition, i.e., 
"thinking about thinking"). This keeps your team well-grounded in 
the history and rationale of the methodology, and provides a 
record of ongoing improvements. Understanding your methodology 
and how you came up with it promotes a deep-thought approach to 
software development that will bring your team to a new level of 
excellence. Two other recommendations: integrate your methodology 
into your sales pitch to clients and remember that documentation 
should precede any coding (entire books have been written on the 
latter topic).

2. Promote Programming Conventions

Keep your development shop's programming conventions in a public, 
well-circulated document. These conventions and related protocols 
provide the benefits of efficiency, consistency, standardization, 
and readability. These benefits in turn produce code projects 
that are easy to understand and maintain. When anyone--from a 
newly-hired programmer to a veteran--has a convention question, 
they can turn to this document and quickly get an answer, saving 
time by not having to constantly reinvent the wheel. The overall 
benefits are improved productivity and profitability. There are 
plenty of good resources out there to help you get started. For 
example, if you're a Visual Basic developer, see Microsoft's 
article "INFO: Microsoft Consulting Services Naming Conventions 
for Visual Basic."
http://www.TheNakedPC.com/t/522/tr.cgi?lee1

3. Use a Reusable Code Library

Offering your developers a source code repository provides the 
obvious benefit of a single place for code to safely reside. By 
using the right source-control tools you get check-in/check-out 
capability (partly an auditing and partly a QC benefit), plus all 
the other productivity bells and whistles. This infrastructure 
engenders code reuse, reducing redundant coding work. Make sure 
code complies with your programming conventions before it is 
allowed into the library.

4. Brainstorm Regularly

Keep your team engaged in the process of evaluating its 
performance and goals. Brainstorming--when done systematically 
and without allowing judgment to invade the sanctity of the 
"brainstorm space"--yields new ideas and fresh insights, and 
promotes creative thinking by team members. Brainstorming 
techniques are discussed in the book "T.E.T.: Teacher 
Effectiveness Training," click here to read my review:
http://www.TheNakedPC.com/t/522/tr.cgi?lee2

5. Track Your Time and Tweak Your Estimates

Maintain detailed records of work performed. Then review actual 
work effort for each project, by development phase, compare to 
budgeted resources, understand the variances, and use this 
information to improve subsequent forecasts.

6. Control Quality Control

As your QC checklists and procedures grow and mature, compile 
them into a public document so that everyone can readily study 
and comment on them.

7. Embrace Bug Reports

Too often, we developers tend to view a bug report as an attack 
on our work. But I say welcome them, embrace them. A bug report 
is a learning opportunity; it's a chance to see your code/project 
and its behavior from a completely different perspective (which 
is, essentially, what quality control is all about). Make sure 
staff who directly interact with customers, managers, beta 
testers, or other developers have strong "active listening" 
skills and are not prone to defensiveness.

8. Practice Safe Coding: Digitally Sign Your Code

The two main reasons developers should use a digital certificate 
are to: (1) protect your software from tampering after you've 
published it, and (2) guarantee to your customer that your 
software did in fact come from your company, not a firm 
masquerading as you. For more information about this process, 
click here to read my article "Developer's Corner: Digitally 
Signing Office VBA Projects":
http://www.TheNakedPC.com/t/522/tr.cgi?lee3

9. Wrap It Up with an Installer

An intelligent and polite installer "wrapper" executable makes a 
program so much easier for customers, clients, testers, and 
others to use. Paying attention to ease-of-use issues (like 
deliverability, robust uninstalls, multiple install options with 
verbose descriptions, etc.) sets you head and shoulders above the 
competition.

10. Continuing Education: Always Be Learning

Keeping up with current events, new tools, and new ideas in your 
area of expertise keeps you focused, stimulates creativity, and 
improves your competitive edge.

I intend to explore these guidelines individually in subsequent 
issues. If you have comments or ideas to share with me in this 
area, or if you need a consultant, drop me a note. To read a case 
study of a software development project I managed, go here:
http://www.TheNakedPC.com/t/522/tr.cgi?lee4

(c) 2002, Lee Hudspeth
You can reach Lee Hudspeth at:
mailto:LeeHudspeth@TheNakedPC.com


You can reach Lee Hudspeth at:
leehudspeth@TheNakedPC.com

To go to Lee's main page and see a list of links to his other articles and supplemental pages, click here.

To go to The Naked PC's articles index page, click here.

To go to The Naked PC's home page, click here.

Return to Top
 


TNPC Hot Tips:
  • Email out of control? Spam filling your inbox? People trying to steal your identity? Same here - until I applied these tips. You can too in a new multimedia e-book. Tame Your Email.

  • DO YOU MAKE THESE MONEY MISTAKES? Do you know that trying to pay off your high interest rate debts first and/or paying extra on more than one debt is the SLOWEST way to get out of debt? Don't make these same mistakes. Learn more at by clicking here...

Google