Visual Basic

How to Juggle 30 Balls Blindfolded

Software development has been going on for more than thirty years, so you'd think that by now successful development projects would be the norm. Yet consider these statistics: More than 80 percent of all software projects fail. The average large project is a year late. The average small project time estimate is off by more than 100 percent. A project manager's life is a stressful one.

The problems are well known and widely published, but in project after project, in company after company, the same mistakes are made over and over again. Plan, estimate, schedule, manage-and when the going gets tough, throw it all away and code. Postmortem reviews reveal the only universal strategy: start at the beginning, keep going until you reach the end, and then stop.

Visual Basic has become much more complex with each new version. Unless projects-particularly large enterprise ones-are properly managed, embarrassing statistics such as those mentioned above will only worsen. This chapter outlines some of the fundamental issues involved in developing large-scale distributed systems using Visual Basic 6. It is aimed at all Visual Basic 6 developers, but project managers who need to understand how the technical environment affects their planning and management should find it particularly useful. System designers and quality assurance (QA) staff who need to understand how important their roles are in delivering a successful project will also find this chapter helpful.

As software development consultants, we at The Mandelbrot Set (International) Limited (TMS) are often asked to comment on why things aren't going quite right with a client's current development project. To find the problem, we normally carry out a project health check and a technical review. We consistently find that in the haste to deliver, Visual Basic developers have abandoned software engineering disciplines that, though not perfect, have evolved over thirty years and are certainly a lot better than the plain code hacking that replaces them. This slack behavior is exhibited by the full range of developers, from junior programmers through project managers. As a result, we keep seeing low-quality, unmaintainable Visual Basic code being written by developers at a high proportion of our client companies, big and small. Why is this happening?