Channels ▼

Paul Kimmel

Dr. Dobb's Bloggers

Absence of Specialists

January 03, 2011

Software project teams still seem to be made up of programmers and managers. Occasionally the lucky project will have an architect, maybe a database administrator, some analysts, and testers. Often the programmers are the ones doing the heavy lifting and the project manager organizes meetings and schedules. Wow, is that a lousy setup. Good programmers like to write code. This is always a full time job, so every thing else that doesn't have someone owning that piece is going to get short changed.

There are several jobs that need a lot of attention. Regression, Q&A, and unit testing need full time attention. Someone has to doggedly make sure manual tests and automated tests are actually created. Someone has to make sure that architectural specifications, comments (in code), requirements, use cases, and help documentation is created, updated, and maintained. It helps if an expert is designing your database-not programmers. Sure programmers are smart, sure programmers can do a pretty good job, but would you let a person who pumps gas work on your Ferrari engine? What about a Hyundai mechanic? Well, most software projects cost many times what a Ferrari costs, but we have programming specialists doing other things besides programming. Inn short, most projects are programmer heavy and specialist light. This might explain why many projects fail or don't deliver on customer expectations.

Progress on this front is being made too slowly. We need more specialists on a team rather than distracting code writers by making them do things in which they are rudimentally competent but not expert.What do you cherish? Suppose it breaks and needs repair? Would you hire a geenralist or a specialist? Which do you think will do the job more competently?

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video