Improving Capital
 

 

How does a programmer or a manager of programmers improve organizational capital?

Organizations invest heavily in software development.  Unfortunately, the focus of most software development is short-sighted - concentrating on performing the next demo or meeting the next milestone.  While timely release of software is important, virtually all software development efforts should increase organizational human capital and software capital investment.  I would argue that designing with these goals in mind actually results in faster, more accurate software development.

Many organizations understand the human capital issue - although with a shortage of technology people, some organizations try to minimize improving human capital (training workers, giving them greater experience) for fear of losing people.  I work hard at retaining good people and helping them grow.  Identifying individual's talents and desires, giving people opportunities and providing them with an environment that encourages their success leads to increased productivity and a greater resource base for attacking new problems. (Example: ccmprgr)

Viewing software as an investment is also important.  Software that is difficult to maintain not only increases costs and limits future development - it puts organizations at risk!  When "Sally" or "Jim" is the only person who understands "the code", the organization takes the risk that their investment in software may become worthless.  If you take the time, effort and expense to build software, it must be viewed as an asset that should deliver value for some time to come.   This does not mean that you over-engineer or that you delay going to market until the product has every feature imaginable - it means that you design and code in a fashion that ensures that the code retains value.  Code retains value when it can be transferred easily (readable, documented), when it is protected (backups, version control systems) and when it can be easily enhanced and modified. (Examples: ccmdesn, dridesn)