Common Software Project Management Mistakes 
Technology Issues
 
  May 2005 - Pragmatic Software Newsletters 
 
 
Common Software Project Management Mistakes - Technology Issues
This year's newsletters focus on common mistakes for software development projects.  Each month will cover a different set of common mistakes and discover techniques for managing these mistakes.
 

Newsletter Sponsors

» Remoteus (http://www.PragmaticSW.com/Remoteus.asp) is remote desktop sharing software used to simplify help desk support by allowing your support team to connect to client PCs.

» Software Planner (http://www.SoftwarePlanner.com) is a web-based solution for managing the software life cycle.  Tracks customer requirements, tasks, defects, test cases and allows document sharing.

» Web Information Center (http://www.WICDirect.com) is a web reporting system that presents information from SQL databases in a polished format.  Pivot tables and Crystal Reports integration.

Common Software Project Management Mistakes - Technology Issues

Very few projects go as planned, however, projects that fail often follow a pattern.  Normally projects fail due to issues  with:

  1. Personnel - These issues range from wrong skill sets to bad work environments.
    See prior newsletter:
    Common Software Project Management Mistakes - Personnel Issues

  2. Project Management - These issues relate to improper processes and techniques for managing projects.
    See prior newsletter:
    Common Software Project Management Mistakes - Project Management Issues

  3. Application - These are issues with the application itself.
    See prior newsletter:
    Common Software Project Management Mistakes - Application Management Issues

  4. Technology - These are issues with the technology chosen for the application.

In this newsletter, we will focus on Technology issues, which is the last in our series of Common Software Project Management mistakes.  Below are the common project management mistakes relating to Technology:

  1. Bleeding Edge Tools - A common trap technical teams fall into is to rely on unproven tools for their production development.  For example, let's assume that you have a requirement that requires a robust reporting system, accessible from the web.  You may be tempted to dive into new technology (you find a beta version of a reporting engine that sounds very interesting), and you may experience issues with adopting a technology that is unproved and not yet mature.  However, if you go with a product that has been proven over the years (like Crystal Reports in this example), you will most likely have much better success because the technology is time-proven. 
    Learn More about Risk Management...

  2. Lack of Source Code Control -  With multiple team members working on programming tasks, it is imperative to utilize automated source control tools.  These tools allow technical teams to check their code in, merge code between multiple developers, and to "pin" code so that all the code for a specific release can be easily retrieved for testing.  Surprisingly, I've had numerous discussions with teams that lost months of development work because an individual's PC hard drive crashed.  When using Source Control, check in your code daily to ensure that your code is copied to another location.  Some excellent source code control programs are Microsoft Visual Source Safe and PVCS.

  3. Technology Upgrades -  Most new versions of development tools promise easier development, faster implementation, better reusability and improved performance.  Many companies plunge into new upgrades without fully understanding the consequences of code rework and bugs found in new versions of the tools.  Recently, we worked with a client that installed SQL Server 2005 beta edition on their production servers.  When they began experiencing problems, they were locked into the beta version because there was no easy way to downgrade the 2005 version back to 2000.  This is an extreme example, but early adoption of upgrades of tools can be troublesome and require adequate risk management and backup plans.

  4. Infrequent Smoke Tests - Smoke tests are a series of tests you run periodically (daily or weekly) to ensure that the current state of code development is not overly problematic and has not introduced new issues.  Many teams do not do frequent smoke tests, and because of that, once coding is complete, it takes days (and sometimes weeks) to fully integrate all the components of the software in a way that allows them to begin the testing process.  Smoke tests should be a part of your standard project plan.
    More information on Smoke Tests...

Helpful Templates

  Below are some helpful templates to aid you in developing software solutions on-time and on-budget:

About the Author
Steve Miller is the President of Pragmatic Software (http://www.PragmaticSW.com).  With over 20 years of experience, Steve has extensive knowledge in project management, software architecture and test design. Steve publishes a monthly newsletter for companies that design and develop software.  You can read other newsletters at http://www.PragmaticSW.com/Newsletters.htm.  Steve's email is
steve.miller@PragmaticSW.com.


 

Pragmatic Software Co., Inc.
383 Inverness Parkway
Suite 280
Englewood, CO 80112

 

Phone: 303.768.7480
Fax: 303.768.7481
Web site:
http://www.PragmaticSW.com
E-mail:
info@PragmaticSW.com