Software development methods tend to emphasize different
aspects of designing and constructing software.
There are four interrelated areas that different methods focus
on:
User-centric methods place the human interface at forefront.
Methods that focus on the elements of software
construction emphasize either tools or
languages.
Model centric
methods present a picture of things, processes,
and their interrelationships found in an enterprise. Some
model-centric methods emphasize processes and others the structure of entity
classes.
At Tower Grove
Associates we prefer a fourth, mission-centric
method in which the emphasis is on the purposes for which the software is to be used.
To help stay focused on the purpose, when we conduct analysis of a problem or enterprise, we
ask two basic questions:
What decisions need to be made and what information is required to make
them? By posing these questions at all levels appropriate to the task at hand (from CEO to the smallest software
component), we can quickly uncover all relevant issues and make an assessment
of how much to automate at a given stage in the life of a system.
It should be noted that advocates of object oriented
software development methods include advocates for each of the four focal
areas. Because of our emphasis on
decision making, we tend to favor OO methods that emphasize the modeling of
agents that determine which actions to perform. In modeling the structure of
things and their attributes for most enterprises, we prefer entity-relationship
diagrams, believing that the implementation target for recording such
information is a relational database management system.
As we are not tool-centric, we can employ whatever toolset (UML, Websphere,
Weblogic, for example) a client finds useful for modeling and development in
other application areas.