
Software Productivity Research Client Services
How Do We Gain Control of Software
Development?
Software development and maintenance became major corporate concerns
in the last half of the twentieth century. Senior executive management remains
troubled by a set of chronic problems associated with software applications:
long schedules, major cost overruns, low quality and poor user satisfaction.
These problems have occurred so widely that it is fair to characterize them
as a "corporate epidemic."
Senior management throughout industry and government are realizing that
possessing the ability to measure within their software environment is
critical to their success and survival. Understanding current levels of
productivity and quality is invaluable as an organization
embarks on a process improvement initiative or considers their outsourcing
alternatives. Identifying pockets of excellence within the organization,
understanding why they exist, and then propagating these practices across
the remainder of the organization can turn a good company into a world-class
company.
The goal of software measurement is to provide software managers and
professionals with a set of useful, tangible data points for sizing, estimating,
managing, and controlling software projects with rigor and precision.
By capturing and tracking project metrics for effort, duration, staffing,
cost, deliverable size, and defects at several levels of granularity an
organization is able to improve its estimation capabilities, develop benchmarks
on software performance, identify the effectiveness of their technology
investments, and capture organizational best practices.
Then, in assessing the measured data, management can compare actual and
projected software project performance in terms of delivered quality and
productivity to various benchmarks, including industry averages, "Best-in-Class"
organizations, and internal standards. Assessment is also a vehicle to
evaluate the strengths and weaknesses of the software environment and
correlate them with quality and productivity performance. Process improvement
recommendations can be modeled to evaluate the costs and benefits of implementation.
The SPR Method of Software Development Control:
Diagnosis and Treatment
The fundamental rationale of the Software Productivity Research (SPR)
methodology is that accurate diagnosis of software problems is a mandatory
first step that must be taken before it is safe to prescribe effective
therapies. Therefore, the SPR approach is to conduct an assessment of
the software environment similar to a medical diagnostic study. By analyzing
the quantitative data on delivered defects and current levels of productivity,
as well as qualitative information on environmental factors such as developer
experience levels, tools utilization, and project management and quality
assurance experience from a representative group of software projects,
an accurate diagnosis of an organization's software problems can be made.
Once diagnosed, effective solutions can be identified and implemented,
becoming the foundation for process improvement initiatives critical to
achieving the organization's goals for success.
For this reason, SPR's consulting services can be divided into two distinct
categories:
| |
Software Diagnostics |
| |
Software Solutions |
| Diagnosing the Problems: Step
I A Process Assessment Baseline |
The underlying premise of SPR's methodology and approach to improving software
development is that a direct relationship exists between the environmental
characteristics of a software organization and its level of performance.
By analyzing and adjusting the qualitative environmental attributes of the
organization, such as tools and methods, experience levels, office space,
and programming languages, higher levels of quality and productivity can
be achieved.
A Process Assessment Baseline (Baseline) produces a "stake in the
ground" and establishes a quantitative foundation in terms of existing
levels of quality and productivity for any improvement programs. This
analysis examines every factor, which can influence the quality and productivity
of software development, maintenance, and enhancement projects by as little
as 1%.
The Baseline approach incorporates questionnaires, interviews, and the
use of SPR KnowledgePLAN®, our proprietary software product, to assist
in the analysis. Detailed questionnaires, which include strategic, tactical,
and user satisfaction components are completed at the project level.
The collection of data at the project level facilitates the collection
of data for key variables concerning software quality, level of effort,
and the development environment, and permits comparison to our knowledge
base of over 8,000 projects. A representative number of projects are evaluated
in order to build a basic organizational profile and provide adequate
information for developing subsequent improvement plans. Data collection
activities and project team interviews are conducted to gain valuable
information on the overall development infrastructure.
Upon completion of the analysis phase of the baseline, a report of our
findings and recommendations is prepared and presented. The recommendations
provide the basis for a set of productivity and quality improvement strategies.
Some of the specific topics covered in the report include:
| |
Baseline Hard Data (Quality
and Productivity Performance Levels) |
| |
Project Attribute Profiles
(Personnel, Process, Technology, and Environment) |
| |
Risk/Value Analysis |
| |
User Satisfaction |
| |
Overall Software Strategies |
The Deliverables: Accurate Information for Informed
Decision Making
Many organizations claim to offer Process Assessment Baseline services,
but the nature and depth of the deliverables vary between organizations.
The following are what set the SPR deliverables apart from all the rest:
| |
Long-Term
Partnership We understand that assessment, estimation
and measurement initiatives are long-term commitments that require
a collaborative relationship between SPR and our clients. We are available
to support the client's programs in a manner that achieves their stated
objectives. Our commitment to this process is reflected in the large
number of long-term client relationships that we maintain. |
| |
Validation
Procedures While SPR collaborates with clients to collect
organizational information, we expend significant effort to ensure
that client-provided information is accurate. |
| |
Project
Data We believe that data collected at the project level
is the most reliable. Therefore, an aggregation of projects that clearly
represent the organization provides the basis for the most illuminating
report. |
| |
Data
Collection Process SPR personnel work on site
collecting organizational information and validating its accuracy.
This enhances not only the accuracy of the data, but the insight we
can provide in our deliverables. This benefit is difficult to achieve
with remote questionnaire methods. |
| |
Assessment
Approach We collect a significant amount of detailed
information about the client's software development process. This
is based upon the realization that a Process Assessment Baseline is
only the first diagnostic step of a process improvement initiative
and that our report must provide clients with enough detail to develop
improvement strategies. |
Upon completion of the diagnostic study and identification of the problems
in the software development process, the next question is "How do we
fix the problems?" and "What's the appropriate therapy?"
In order to help our clients address these questions, SPR offers a comprehensive
group of solutions offerings.
Software Measurement Programs
Continuous process improvement is dependent upon the ability to measure
progress over time. This service identifies a set of software metrics,
which supports an improvement initiative and seamlessly incorporates them
into the software life cycle.
Metrics Counsel
An SPR Metrics Counsel works as a member of the client team, not unlike
a legal counsel, providing the best possible metrics advice, whether with
contract negotiations, balanced scorecards, process improvement initiatives,
better estimation or work flow management.
Project Evaluations
A Project Evaluation is an analysis, similar to a Baseline, that examines
the quantitative data and/or the qualitative factors associated with a
single critical project. If the project is in progress, we can determine
the likelihood that original estimates of quality, productivity, cost
and effort are achievable. If the project is completed, we can determine
areas of success and failure to be considered on future projects.
Project Estimation Support
Accurate software estimates are a key ingredient for success in software
development. SPR consultants provide assistance to managers in the preparation
of resource estimates, costs, quality and effort for various size development
projects. Project Estimation Support includes either validation of existing
plans or establishing initial project estimates and plans.
Quality Programs
A continuing trend in today's business environment is the constant need
to improve product and service quality. Establishing a comprehensive quality
assurance program is often necessary in order to fulfill corporate quality
objectives. With this service, SPR assists organizations in establishing
a quality assurance function that covers the entire software development
life cycle. The program includes all levels of software delivery, including
new development, enhancements to existing software, and maintenance support
for existing software portfolios.
Function Point Analysis Support
Function points are fast becoming an industry standard for measuring and
estimating the software development process. SPR offers its clients unparalleled
levels of expertise in the area of Function Point Analysis (FPA). From
customized seminars on the benefits of FPA to IFPUG-certified training
in counting techniques, SPR educational offerings in the area of FPA are
second to none. In addition to our educational support, we also provide
counting support, sizing projects or entire application portfolios. Function
points can be integral to a successful measurement program; therefore,
we demonstrate for our clients how to use function point data to improve
future estimates of productivity, quality and effort and/or to audit existing
function point programs.
Balanced Scorecard
Whether it occurs during negotiations with a client or during formulation
of an internal improvement plan, a balanced scorecard is often proposed
as a method for measuring and reporting progress. Frequently, organizations
use a balanced scorecard as a mechanism for proving performance and claiming
a share of rewards. Regardless of the context, it can be a useful tool
for many purposes. However, if the metrics reported are not clearly defined
and if the specific commitments are not reasonably achievable, then balanced
scorecards are of little long-term use and often lead to more problems
and disputes than they resolve. SPR can assist both during the formulation
of a balanced scorecard and after the implementation of one.
Training and Seminars
SPR offers a wide range of training workshops and seminars that empower
customers to develop and utilize effective measurement and quality techniques.
SPR markets a powerful group of services in addition to the Process Assessment
Baseline.
Quality Practices Assessment
A Quality Practices Assessment is the foundation for a long-term quality
improvement initiative. The process includes an in-depth analysis of the
client organization's existing quality procedures, such as reviews and
inspections and testing methodologies. The SPR consultant closely analyzes
the quality-related attributes of the development environment, examining
reports, test cases, etc. from completed or in-progress software projects
in order to identify strengths and deficiencies in the existing quality
process. The final report includes a detailed explanation of SPR's findings,
and recommendations for improvement, which will result in the delivery
of higher quality software to the end user.
Outsourcing Evaluations
Outsourcing all or some development activities is an option many organizations
are considering today. An SPR Outsourcing Evaluation can provide the kind
of information needed to make an informed decision. Upon completion of
a Baseline, we can evaluate the client organization's current levels of
performance and compare them to those offered by the outsourcing vendor.
Through a separate set of proprietary questionnaires written by SPR, we
can also assist you in such areas as vendor selection and identifying
the activities within the organization that are good candidates for outsourcing,
e.g., platform conversion or maintenance projects.
Dispute Resolution & Avoidance
From contract negotiations and balanced scorecard definitions to delivery
disagreements and scope creep disputes the world of software often seems
to be inhabited more by legal teams than IT professionals. SPR assists
clients by providing the quantitative and qualitative analysis necessary
to evaluate their metrics and avoid disputes by defining reasonable measurable
objectives.
What makes SPR unique?
Access to Information: A Credible Knowledge Base
A major differentiate of the SPR methodology is our comprehensive knowledge
base of software project data from over 8,000 software development, maintenance
and enhancement projects accessible through our software management tool,
KnowledgePLAN®.
Without sufficient data, it is impossible to deliver a meaningful report
that includes process improvement recommendations. This knowledge base
includes significant U.S. and international data on software development
projects from IS, systems, and government software development environments.
We also have the ability to profile an organization against "Best
in Class" data, general industry and vertical industry standards.
Consequently, this knowledge base is an integral part of our consulting
services, and our Process Assessment Baseline in particular. Through the
use of KnowledgePLAN, the data collection can be automated, improvement
strategies can be modeled, and higher-level, organizational profiles can
be created, which address the need for a corporate view of the software
development environment for senior management reporting and strategic
decision making.
No other consulting organization possesses a knowledge
base that is as large, comprehensive and flexible as SPR's.
The Granularity of the Details
The data collection portion of our diagnostic services is done at the
project level through a series of interviews with senior management and
project personnel. Project-level data is the most reliable and provides
a strong foundation on which to produce individual project analyses, as
well as enterprise analyses, created through the aggregation of the individual
project data.
Unlike other assessments, trained, experienced SPR consultants do the
data collection part of the SPR methodology on-site. This allows us to
validate the data and ensure consistency in the interpretation of the
questions and the corresponding responses. Hence, the resultant recommendations
are based upon a more precise picture of the software environment.
Recognized Industry Authority
As with many emerging markets, the presence of an industry authority such
as Capers Jones provides our clients with a sense of comfort. Capers Jones
contributes a wealth of experience and technical depth to any engagement
that is unparalleled in the industry. Mr. Jones, the founder of SPR, has
played a prominent role in this market for over two decades. He is one
of the most widely published authorities on the subject of improving software
productivity and quality. His experience over the years is reflected in
a comprehensive knowledge base on U.S., as well as international, software
organizations. The process assessment methodology, which was developed
by Mr. Jones over a decade ago, is continually refined and enhanced by
SPR consultants.
Longevity
SPR has been in the business of providing software tools and consulting
services to many U.S. and international companies since 1985, long before
most other organizations currently offering measurement and benchmarking
services.
Business Focus
Collecting data and analyzing the factors that impact software development
performance is a primary business focus for SPR. Unlike other consulting
organizations that offer a wide range of services, we have developed a
specific area of expertise in benchmarking software organizations. Our
clients benefit from receiving a technically superior study performed
in an efficient manner.
Automation
We have developed KnowledgePLAN®, an automated knowledge-based software
tool that assists in the project data collection process and also supports
the analysis and presentation of the Baseline information. Additionally,
KnowledgePLAN® is used in an engagement to model the recommended improvement
strategies. This activity highlights specific productivity and quality
improvement levels based upon presumed changes to the client's environment.
Substantial Client List
A company's list of satisfied clients speaks louder than any marketing
material. SPR has worked with many Fortune 1000 companies and international
companies. This not only affirms our position as a market leader, but
also attests to the wealth of experience we bring to any engagement.
Function Point Expertise
SPR has been a proponent of functional metrics since the company started.
We employ IFPUG-certified function point counters to count client systems
and conduct all training programs. We believe this increases the quality
of all deliverables.
SPR is committed to providing our clients the maximum assistance through
these and similar service offerings. Our founder, Capers Jones, best summarizes
our vision for software metrics and measurement, in his landmark book
Applied Software Measurement (McGraw-Hill, 2nd edition, 1996):
" . . . the need for accurate measurements of software productivity
and quality is directly related to the overall economic importance of
software to industry, business, and government. That means that measurement
is now a mainstream software activity, and it is one that is on the
critical path to corporate and national success."
|