A Visible Solution Paper
Software Process Improvement
By Alan Perkins
Vice President, Consulting Services
Copyright © 1997, Visible
Visible helps its clients become
world-class software developers. With our assistance, clients
improve processes and procedures until they are able to
consistently develop quality information systems that exactly
meet their customers information needs.
We help each client develop and document its
own strategically driven, customer-focused, model- based,
software development methodology (based our own Enterprise
Engineering methodology and customized to meet the unique needs
and corporate culture of our client). More information about our
methodology and tools can be found in the Visible Solution,
Visible helps clients by serving as
methodology experts, as trainers, as coaches to internal staff,
as skilled facilitators, and, when appropriate, as members of
client project teams.
As a result of our assistance:
Staff skills and productivity improve so that
better software is developed faster.
Standards are established and enforced.
Metrics are identified and utilized.
Appropriate tool sets are acquired and used.
Software development quality becomes
consistent and repeatable.
Changing requirements are met rapidly and
Maintenance costs (typically, 70 to 80 percent
of software development budgets) are reduced significantly,
often as much as 75%.
Our clients achieve progressively
better levels of the Software Engineering Institutes
(SEI) Capability Maturity Model (CMM). The CMM is todays most widely used benchmark for
software process improvement.
While helping improve their software
development processes, we help our clients specifically with
developing an Enterprise
Information Architecture encompassing data, technology, and components.
- Components the purpose of
component-based software development, whether Object-Oriented (OO) or a more traditional approach, is to promote
reusability of software in order to reduce both
development and maintenance effort while providing
consistency. The key to successful component-based
development is component management and the key to
component management is knowing what components have
already been developed, knowing their characteristics,
and enforcing component standards and reuse. The most
effective tool for managing components is an
enterprise-wide, model-based, architecture repository.
- Data in order to support reusable
component development, the repository also includes a
logical model of the enterprise data architecture that is
the environment in which the components function. This is
particularly true for OO components that encompass
process and data. A logical enterprise data model differs
from physical data models defined for each component and
system in that it provides, by definition, the enterprise
view of corporate information, including critical
business rules. Data elements in the physical models,
used as the basis for database and component development,
are linked to the appropriate logical data element or
elements to facilitate component analysis, design and
- Technology the enterprise data
architecture and the component architecture are linked to
an enterprise technology architecture that describes the
platforms, topologies, database management systems,
operating systems, etc. on which components will execute
and on which enterprise data resides. This is
particularly critical for organizations using the
Internet or an Intranet.
Additional information can be found in the Visible
Solution, "Enterprise Information Architecture."
With our help, our clients rapidly transform
traditional, time-consuming, bug-prone, maintenance-heavy,
software development processes into repeatable, effective
processes based upon a business-driven, model-based,
customer-focused, component development methodology tailored to
The most important element of our assistance is
skills and knowledge transfer to client staff. A major part of
this assistance involves formal training for software development
staff and occasionally for other executives, managers and
employees. In addition, our consultants help with actual projects
that meet client needs and their customers needs. While
working on these projects, Visible consultants provide
informal training and coaching so that internal staff learn by
example and learn through experience
The scope and duration of our involvement with
any client depends upon several factors including the capacity
for staff to assimilate new approaches to system development and
the number of concurrent projects that are undertaken.
Of course, our clients have ultimate
responsibility for improving their software development
capabilities and for meeting customer needs. Nevertheless, we can
help make the improvements faster and easier by serving as
trainers, as coaches to internal action teams, and as skilled
facilitators and members of project teams when appropriate. Our
assistance helps ensure successful completion of the projects in
which we are involved.
Effectively assimilating a new methodology into
an enterprise typically requires culture change. The key critical
success factor for culture change is management commitment. This
commitment translates to allocation of sufficient resources to
achieve the project's goal. Commitment from senior management,
and all participants, involves a willingness to accept risks
associated with any new course of action. Commitment means
enthusiastic support for project goals, project teams and the new
methodology with an understanding that few projects are painless.
In order to be fully effective, a new methodology must be
integrated with on-going business initiatives as well as with
existing systems management programs. A discussion of the
practices and infrastructure that are required for effectively
implementing change can be found in the Visible Solution,
Our general approach for helping develop and
assimilate a new methodology tailored to fit the particular needs
and corporate culture of a client is briefly described below.
This usually requires several phases. Each phase of our
involvement provides the basis for determining the scope and
schedule of the following phases. For example, our initial
evaluation provides us with sufficient information to develop a
general work plan for our entire engagement. We are also able to
project the exact scope of the first (planning) phase. Completing
the planning phase then provides us the basis for scheduling the
second (development) phase; and so on
The first task in our approach is to document
and evaluate current software development processes and the
skills of internal staff. This enables us to establish a baseline
for improvement and to develop a plan for the next phases.
Once we have ascertained the current state of
software development capabilities, we help develop a plan for
methodology development and assimilation. The plan includes
goals, strategies and objectives for meeting requirements. During
this phase we also help establish corporate standards and
metrics and refine corporate strategies. Then we help develop
implementation plans for every strategy.
Because resources are often limited, addressing
all enterprise needs simultaneously is impractical and not even
desirable. Therefore, part of the planning effort includes
determining which project(s) to conduct. The following are
guidelines we use making the decisions about where to start.
- Begin with the highest priority business need first to
achieve the greatest return on investment.
- Apply the methodology beginning as high up, or broadly
across, the enterprise as possible to leverage
- Assign the most knowledgeable, flexible and energetic
people in the enterprise to the project.
- Select a well-defined area with relatively stable
business rules to achieve quick results, or
- Select a poorly defined area with volatile business rules
and contentious issues to show the power of the new
- Consider a pilot project if necessary to get approval for
the higher priority projects
A pilot project is one that is usually narrow
in scope and does not represent a priority enterprise need. It is
usually done as an evaluation of the methodology. However, there
is actually a higher risk of project failure using a pilot
project as the first application of your new methodology because
of a lack of management commitment, minimal return on investment
or early termination because of higher priorities. There are also
risks due to extensive time and effort establishing:
- An initial business model (The Visible Universal Model can help to
offset this risk)
- Information resource management capabilities
- Enterprise Engineering expertise.
Nevertheless, any project can serve as a
vehicle for skills and knowledge transfer. Along with providing
highest quality training and coaching, Visible consultants
furnish expert services to help ensure the success of the
project. In any of the following areas we are uniquely qualified
to provide immediate assistance:
- Data Warehouse: We help
determine corporate strategic information requirements
and then design, develop and implement a data warehouse,
a data mart at a time, to meet those requirements. Data
(Information) Warehouse projects involve aspects of both
data reverse engineering and client/server implementation
as well as strategic and performance planning. Developing
the enterprise architecture necessary for the data
warehouse also can be accelerated through the use of our
Visible Universal Model. More detail about our
approach can be found in the Visible Solution,
Data Warehouse Development."
- Data Reverse Engineering: We
help analyze and document existing operational systems
and databases to provide a complete "as is"
model of current data, application and technology
architectures. This helps better maintain the existing
systems while new infrastructure and replacement
applications are developed. Data reverse engineering also
facilitates developing transforming and sanitizing
programs to populate the corporate data warehouse and
- Enterprise Client/Server:
Using the results of data reverse engineering, we help
design and implement a modern topology and technology
infrastructure for automated systems.
During this phase, we work closely with IS
executives, managers and staff to document a rigorous and
repeatable methodology that, when implemented, results in
consistent quality software development. Once the methodology is
defined, we help select tools that best support it.
Our involvement in this phase is primarily
training, training and more training -- for IS staff, project
leaders (training for the trainers) and for other executives and
managers as appropriate. Our training is the key vehicle for
helping assimilate a new methodology. During the early phases of
methodology assimilation, our training involves formal courses
with broad participation. As internal staff begins actively using
the new methodology on internal projects, the nature of the
training becomes more informal and is focused on specific
project-oriented skill sets. This training is conducted when and
where it is needed. This "just-in-time" training is a
hallmark of Visible.
During the first projects using the new
methodology, we provide coaches for internal project teams. This
is particularly useful for teams that are just beginning to use
the new methodology our involvement ensures that nothing
gets off track. In addition, more experienced project teams call
upon us to perform occasional quality assurance.
We pride ourselves on our ability to transfer
skills and knowledge that allow clients to gain mastery of their
methodology and tools. Achieving mastery generally
requires a minimum of three complete development cycles.
- During the first cycle, one or more Visible
consultants help the enterprise complete a project
while training enterprise personnel assigned to an
internal "Action Team." Visible consultants
are actively involved in every aspect of this initial
development cycle. During every task of the project,
enterprise analysts, developers and potential information
system users receive appropriate training that ensures
they have the skills and knowledge necessary to
- In the second cycle, Visible consultants
closely monitor and coach enterprise personnel as the
Action Team completes the next project. We also provide
additional formal and informal training, if necessary.
- Finally, internal enterprise personnel
perform a complete development cycle with minimal
assistance from Visible. Typically our assistance
is in the form of progress and quality assurance reviews.
By the end of this third cycle, enterprise personnel
should be fully capable of using their improved processes
and developing quality information system components on
The success of any project is directly related
to the experience and proven capabilities of the individual
professionals assigned to the engagement. Visible recognizes
that the most important staffing consideration relates to the
interaction between the consultants and project participants and
key stakeholders. We also recognize that a strong partnership
between project managers and Visible consultants will
ensure that all project activities and tasks are coordinated and
completed with the highest degree of quality.
In choosing the members of our service teams,
we select senior personnel with a strong blend of relevant
expertise, technical proficiency and facilitation and training
skills. Periodically, these consultants may call upon Visible principals
to provide additional technical expertise and perform quality
control reviews of the work performed. During our relationship
with a client, many individuals may be assigned to perform the
tasks required. We continuously ensure that the quality of our
service team is in no way diminished by the addition or
replacement of Visible consultants.
Our "Enterprise Engineers" are
excellent workshop facilitators and project team leaders
knowledgeable in all aspects of our methodology and supporting
products. They are also experts in both the application and
communication of that knowledge.
All of our consultants adhere to the following
statements of principles:
We have a commitment to providing our
customers with reliable and high-quality service at a
reasonable cost, increasing customer satisfaction and
building mutual trust and respect by serving in a
competent and helpful manner.
We have a commitment to a secure and
productive working environment where excellence in
performance is sought, expected, and rewarded.
We strive for ethical conduct, mutual
trust, dedication and teamwork in an atmosphere where
communication is open, reliable and consistent. We treat
each other with dignity, respect and sensitivity and
promote the opportunity to develop individual
We have a commitment to managing and
utilizing resources in an efficient, productive and
economical manner that will ensure a fair return and
promote continued stakeholder confidence.
We have a commitment to conduct business
with suppliers and other business partners in a fair,
ethical, professional and timely manner, affording those
qualified a reasonable opportunity to participate.
We have a commitment to the communities
where we live, work and serve.
We have a commitment to our employees to
provide professional and career growth opportunities that
enhance their quality of life and self esteem.
Our commitment is based upon the principle
that if we take care of our employees, they will take
care of our customers.
The most senior consultant on-site perform day
to day management. Overall program management and quality
assurance is the responsibility of the Visible managing
principal assigned when an enterprise becomes a Visible
Visible follows a set of key procedures
that serve as the foundation for effective project management and
review. These procedures involve project planning, project
scheduling, project control and project quality assurance. The
following are general summaries of the procedures.
Project Planning: Project plans
are completed as we define activities, assignments, and resource
requirements with client staff. The plans include the project
scope and required deliverables, and express in detail the
specific tasks to be accomplished.
Project Scheduling: Project plans
are the source for project schedules. During the development of
detailed plans, time estimates are determined. These estimates
are the direct result of working with a project team and will be
dependent on the activity to be performed, such as facilitation,
document review, software analysis, observation, interview,
comparative analysis, etc. The resulting estimated effort is then
translated into overall project timetables, with individual
milestones and metrics.
Project Control: Project control
is the primary responsibility of the project team with input from
the assigned managing principal. The project team is responsible
for on-going progress reporting and control.
Project Quality Assurance: Managing
Principals spend the majority of their effort in review,
challenge and direction of consultant activities. This critical
analysis ensures that problems are thoroughly analyzed, findings
are well documented, conclusions are accurately developed,
recommendations are relevant to the issue addressed, and the
highest-quality work is delivered to our clients. We will also
provide any additional quality review determined by clients to be
essential to the project.
While every project will involve considerable
informal training, there will be occasions when formal training
courses will be required. Our formal courses are usually
conducted by very senior Visible consultants and are
separately priced. Participants in our formal courses receive
course materials, education copies of the appropriate Visible
tool, and certificates indicating successful completion. The cost
for the courses includes not only the four to five days of
quality instruction, it also includes the cost of the materials
and a week of course preparation by our instructors and
For those courses that include hands-on
exercises, we recommend that each participant have access to a PC
on which the education version of our tool has been installed. If
a PC is not available for every participant, we recommend that no
more than two people share a PC.
The table below is a partial list of the formal
courses that are available from Visible.
Business Process Reengineering
Strategic Data Modeling
Advanced (Tactical/Operational) Data Modeling
Project & Model Management
Data Warehouse/Data Architecture Development
Structured Planning, Analysis and Design
The continuing evolution and integration of
system development and support tools is enabling enterprises to
apply techniques quicker than before while also ensuring
increased quality. Visible offers several tools that help
enterprises assimilate a new system development methodology and
develop quality information systems rapidly and consistently. Visible
tools support every phase and level of software development (see
There is a three-level hierarchy of software
development tools. At the top of the hierarchy are architecture
tools that support developing and maintaining conceptual models
of an enterprise. These models are analogous to the models and
drawings rendered by a building architect. They show the overall
requirements, but dont show where the pipes and wires and
fixtures should be.
The mid-level tools are used to design the
applications that meet the requirements modeled with the
architecture tools. In the building metaphor, these tools are
used to develop the blueprints for the physical structure.
The remainder of the tools in the hierarchy are
those that are used to actually develop applications.
The tools at each level should be able to pass
models to each other. Physical designs should be derived from
and/or linked to conceptual models. "Power tools"
should be able to generate applications based upon design
and the Visible Universal Model are designed
specifically to help develop and maintain the conceptual models
that make up an Enterprise
Information Architecture. Visible
Advantage also helps develop application system blueprints by
providing the capability to describe physical databases for any
platform and any data management system. These physical database
models can be used to generate the data definition language that
will create the database. The database models can also be
interchanged with Visible Analyst.
Visible Analyst is designed to help
develop and maintain application system designs (blueprints). Visible
Analyst provides interfaces to the most used and most popular
power tools for application development. Developers can also use Visible
Analyst as a power tool to generate application code.
More detailed descriptions of Visible
system development tools follow:
As an important first step, our clients often
acquire an enterprise-wide license for our hypermedia methodology
reference product, Visible Advisorä . Visible Advisor embodies the knowledge
and experience our firm has gained by helping hundreds of
organizations successfully apply Business and Information
Engineering for over twenty years. This knowledge-based
hypermedia reference product enhances the comprehension and
retention of our methodology. It fully documents the methodology
so that each task and technique can be applied consistently,
ensuring high quality, integrated results across projects,
departments or enterprise. Because Visibles
methodology is continually advancing, client organizations
receive automatic updates leveraging their methodology investment
into the future.
Visible Advisor supports the
improvement of software development practices by providing
guidelines and examples of techniques and practices (data
modeling, object-oriented design, client/server architecture,
commercial product evaluation, etc.). Our hypermedia reference
product helps increase and maintain the skill level of systems
development professionals even when Visible consultants
are no longer working with them.
In order to fully assimilate a new methodology
and apply it successfully, every enterprise project team needs to
use standard tool sets. We recommend that our CASE tool, Visible Advantageä , be one of those tools.
Visible Advantage is a
universal, computer-based, Enterprise Engineering support tool
that includes an integrated, relational encyclopedia, extensive
reporting capability, and state-of-the-art modeling, charting,
analysis and information system design tools. Visible Advantage
has menus and forms that provide easy access to its powerful
capabilities. These features, along with automatic prompts,
expert "knowledge-base" and on-line "Help,"
make Visible Advantage very user-friendly. Visible Advantage
is Windowsä -based and is available in both stand-alone and
enterprise (Novellä and WindowsNTä ) versions.
Visible Advantage can be
used effectively as a strategic planning tool to produce
superior, multi-level strategic plans. In addition, Visible Advantage
can be used to document an enterprise's performance measures and
link them to appropriate elements of strategic plans. This
linkage allows quick reaction to changes in environment, policy
or customer requirements. More importantly, using Visible Advantage,
the information requirements that support an enterprise's
performance measures can also be modeled and translated into
database, data warehouse, decision support system (DSS), and
executive information system (EIS) designs. These designs can
then be developed and implemented, assuring that an
enterprises information systems meet its information needs.
Visible Advantage is the only CASE tool
that allows multiple physical (de-normalized) database designs to
be created from subsets of a single logical (fully-normalized)
enterprise data model in which every element can be linked to one
or more strategic, business, or system requirements.
We find that using our methodology and
CASE tool facilitates communication within our clients
organizations. Our approach and symbology become the medium for
information exchange. Articulating and developing and documenting
business rules and requirements throughout the various
hierarchical levels of an organization becomes the means by which
everyone involved comes to have the same understanding of project
goals and requirements.
In order to provide consistent superior
performance, and to allow for portability, we recommend both
stand-alone and networked versions of Visible Advantage.
We recommend using our Visible Universal
ModelÔ product to accelerate the creation of a
common, cohesive Enterprise
Information Architecture. Such
architectures are necessary to build quality Data Warehouses,
Executive Information Systems, and Decision Support Systems.
It is commonly understood that developing an
enterprise architecture can take a year or more of calendar time
and many thousands of hours of consultant, staff, and customer
effort. By using the Visible Universal Model as the
framework for building your architecture we can accelerate the
process and significantly reduce the resource requirements.
The Visible Universal Model is
the result of years of experience gained by Visible consultants
in many diverse businesses. Our Visible Universal Model
contains common object classes that support multiple activities;
rather than activity specific object classes often developed over
and over again in different guises. Recognition of repeating
business patterns during the development of business models over
the years has permitted Visible to establish these object
classes. In addition, the model provides the basic data
relationships that often are not stated during the "system
requirements gathering" phase of many projects.
The organization of the Visible Universal Model into "universal"
business objects supports cross-functional, cross-organizational,
object-oriented software development. Each business object can be
quickly tailored to your specific requirements and then
implemented as a new information system on an accelerated basis.
We will help your staff modify the business objects to reflect
your culture and information needs.
In order to design and develop applications
based upon the physical database designs created with Visible
Advantage, we also recommend that clients license Visible
AnalystÔ . Visible Analyst is the
best value, multi-user, application development tool in the
middle of the market. Visible Analyst is the only
application development tool that automates data, process,
function, state-event and object modeling (Rumbaugh OMT class
notations) in one integrated product through a central
repository. Visible Analyst is used to create data
flow diagrams, process models, structure charts and object models
that enterprise project teams use for application analysis and
Visible Analyst supports multiple
methodologies through support of industry standard techniques.
Because Visible Analyst automates the techniques
being used today such as data and process modeling while also
automating the techniques of tomorrow such as object modeling,
customers gain a path from their existing environment and skills
to the future.
Visible Analyst enables true
enterprise application engineering by storing and documenting in
a central repository data, processes, and objects that can be
shared for real-time, multi-user application development
throughout the organization. Enterprise information is
"downloaded" to "satellite" projects, so that
developers can share metadata (i.e., data models, class models,
and even process models) from the enterprise model. Then, the
satellite projects can be "uploaded" and merged back
into the enterprise project. Unlike competitive products, for
which a developer checks out a piece of the model that can be
used by only one developer, Visible Analyst enables
concurrent access of metadata objects by multiple developers.
Visible Analyst is especially
important to IS managers who must ensure the successful
integration of complex enterprise applications being developed at
different sites for different users. With Visible Analyst,
they can evolve project by project to a single knowledge-based
repository that will eventually represent everything in their
business. At the same time, they have a top-level planning,
analysis, and design tool that controls the data and object
definitions to ensure consistency among applications. And,
because Visible Analyst supports repeatable
processes, it provides the infrastructure for true
object-oriented development, which results in higher-quality
business applications, more meaningful data warehouses, and
effective multi-tier client/server systems.
Visible Analyst is a
multi-user CASE tool for application and database development. Visible
Analysts true strength lies in its integrated and
multi-user repository. All objects in a project are automatically
populated, stored, catalogued, and cross-referenced against other
related repository objects. Visible Analyst
utilizes a variety of powerful relational databases to manage the
repository, including Sybase, Oracle, Microsoft, Gupta, and
bTrieve. Visible Analyst can both generate to, and
reverse engineer from, virtually any ANSI 89 or 92 SQL database
as well as for the AS/400 (via DDS).
Visible Analyst provides a high
level of integration with third party development tools.
Supported products include PowerBuilder, SQLWindows, Uniface,
Unify Vision, and Visual Basic. It can also generate SQL, COBOL
and C code.
Visible Analyst provides a unique
combination of functionality, multi-user capabilities, repository
integration, and ease of use. Visible Analyst
integrates Process, Data, and Objects as the locus point for
good system design. It supports a variety of development
approaches and contains comprehensive model types and
Visible consultants help organizations
develop and assimilate their own system development methodology
through formal training and through informal, just-in-time, skill
and knowledge transfer while participating in mission-critical
projects. When appropriate, every project team receives training
and coaching on the effective use of Visibles suite
of support tools.
For every project in which we are involved, Visible
consultants provide expert opinion, clear direction and
guidance to internal staff to ensure on-time, on-budget
completion. Visible's approach to team guidance centers
around the development of a partnership with the organizations
with which we work. We have a vested interest in the success of
our partners. Project teams are structured as partnerships of
consultants and internal staff, so that the staff acquires the
techniques of the methodology while the project goals are being
Visibles Enterprise Engineering
techniques have been developed over years of practical experience
through their application with client projects worldwide. As
Enterprise Engineering has been applied across a broad range of
projects, the techniques have become even richer and more
rigorous. The methodology has gained wide acceptance because of
its comprehensiveness and business focus. Enterprise Engineering
yields not only quality systems, but also quality infrastructure.
Enterprise Engineering is significantly more
effective than traditional methodologies even when it is applied
on a single project. However, our methodology is more than just
one business activity. It is a continuous function with on-going
benefits to the enterprise if it is used appropriately. As an
enterprise applies its version of Enterprise Engineering on more
and more projects and across a broader scope, the benefits
increase exponentially. Comprehensively applying the
methodologys rigorous and integrated techniques ultimately
lead your processes to become equally as rigorous and well
Visible is uniquely qualified to help
organizations develop and assimilate a rigorous and repeatable
methodology for information system development. We have the
experience and the skills to ensure success in increasing levels
of customer satisfaction while continually improving system
Back to Contents.
For more information concerning this Visible
Solution, please contact:
Visible Systems Corporation
201 Spring Street Lexington MA 02421 USA
Phone: +1-781-778-0200 · Fax +1-781-778-0208
Web Site: http://www.visible.com
Information Engineering Services Pty Ltd
PO Box 246, Hillarys Perth WA 6923 Australia
Phone: +61-8-9402-8300 Fax: +61-8-9402-8322
Web Site: http://www.ies.aust.com/