Home Feedback Contents About Us

Strategies

 

The difference in productivity among software developers can be greater than ten-fold.  Productivity needs to be measured over the full life-time of the software system, and it includes initial development, deployment, user training, maintenance, user support, and the cost to enhance the system as business needs evolve.

These software development strategies are a key part of Wedelich Consulting's success.

Put Business Value First

Business software exists to provide business value.  All too often, this simple fact is lost in software development projects, and technology desires drive development.  Alan Cooper recently wrote, "Most of us geeks are motivated by technical excellence more than by business success.  Executives sense this, so they distrust us and keep us on far too short a leash.Wedelich Consulting keeps the principle of business value first in all phases of software development.

The Right Solution

Too many software projects miss the target because the development team did not truly understand the business need.  Excellent communication skills and domain knowledge help ensure development of the Right SolutionRapid application development and incremental design techniques also help keep the project on track.

Rapid prototyping is a valuable tool that provides a tangible product to improve communication.  Rapid prototyping helps address the design challenge:  "Users seldom know what they want, but they always know what they don't want when you show it to them." 

Incremental design also helps keep a project on track.  Incremental design identifies critical aspects of the system that are well known.  Developing these parts first provides an intermediate deliverable to review with the client, and it often helps to clarify less certain aspects of the project.     

Design for Change

Change is a constant and the pace of change in business is increasing.  Software designed for change reduces maintenance costs and extends the useful life of the application.  Data driven systems place key data in tables, and the software uses these tables for simple things like selection lists or for more complex data driven menu items and forms.  Abstract classes (object oriented programming) along with collections are the tools to store complex objects and design programming logic that works with both today's and tomorrow's requirements.

A simple example in the well engineering domain is a Catalog Manager tool that provides a catalog of different types of oil field equipment.  Tables define the types of catalogs (drill pipe, bits, ...) and identify the data source for the catalog.  An abstract child form defines editing features for the catalog.  Thus, new catalog types can be added to the system without requiring any code changes to the Catalog Manager.

The frameworks for decision support and for well engineering represent more complex examples where the software is designed to easily accommodate new data presentations or new technical applications.

Team Selection - Small Experienced Teams

Software development requires a detailed understanding of the business problem - the computer makes no assumptions and must be explicitly instructed.  The volume of little details and small decisions is overwhelming.  Our experience shows that small teams of 2 to 5 very experienced developers can significantly out perform larger teams of less experienced developers.  This strategy requires personnel with the experience to perform multiple functions.

Component Based Development

A wise consultant said, "Buy components - build applications."  Cost effective applications leverage third party components for grids, charts, and other user interface widgets.  Wedelich Consulting has significant experience with Far Point Spread, Component One (Chart, Sizer, Draw), and Microsoft advanced controls.

When third party controls are not available, then custom components can be derived using other controls.  Wedelich Consulting has developed UnitControls to allow input and output of technical data in English, metric, or a user defined mixed system of units.  Controls include a captioned text box, combo boxes and grids with different value and unit types in each column.

 

Strategies Skills Domains Resume

Copyright 2003 by Wedelich Consulting.  Last modified: 09/10/03