Full Ebook of Software Development Patterns and Antipatterns 1St Edition Jones Online PDF All Chapter

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 69

Software Development Patterns and

Antipatterns 1st Edition Jones


Visit to download the full and correct content document:
https://ebookmeta.com/product/software-development-patterns-and-antipatterns-1st-e
dition-jones/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Software Development Patterns and Antipatterns 1st


Edition Jones Capers

https://ebookmeta.com/product/software-development-patterns-and-
antipatterns-1st-edition-jones-capers/

Clean C++20: Sustainable Software Development Patterns


and Best Practices 2nd Edition Stephan Roth

https://ebookmeta.com/product/clean-c20-sustainable-software-
development-patterns-and-best-practices-2nd-edition-stephan-roth/

Clean C++20 - Sustainable Software Development Patterns


and Best Practices 2nd Edition Stephan Roth

https://ebookmeta.com/product/clean-c20-sustainable-software-
development-patterns-and-best-practices-2nd-edition-stephan-
roth-2/

Software Architecture Patterns Understanding Common


Architecture Patterns And When To Use Them 3rd Edition
Mark Richards

https://ebookmeta.com/product/software-architecture-patterns-
understanding-common-architecture-patterns-and-when-to-use-
them-3rd-edition-mark-richards/
Smith's Recognizable Patterns of Human Malformation 8th
Edition Kenneth Lyons Jones

https://ebookmeta.com/product/smiths-recognizable-patterns-of-
human-malformation-8th-edition-kenneth-lyons-jones/

Model-Driven Engineering and Software Development


Slimane Hammoudi

https://ebookmeta.com/product/model-driven-engineering-and-
software-development-slimane-hammoudi/

Smith's Recognizable Patterns of Human Malformation 8th


Edition Kenneth Lyons Jones Md

https://ebookmeta.com/product/smiths-recognizable-patterns-of-
human-malformation-8th-edition-kenneth-lyons-jones-md/

Agile Software Development : Trends, Challenges and


Applications 1st Edition Susheela Hooda

https://ebookmeta.com/product/agile-software-development-trends-
challenges-and-applications-1st-edition-susheela-hooda/

Software Design Patterns: The ultimate guide First


Edition. Edition Sufyan Bin Uzayr

https://ebookmeta.com/product/software-design-patterns-the-
ultimate-guide-first-edition-edition-sufyan-bin-uzayr/
Software Development Patterns
and Antipatterns
Software Development Patterns
and Antipatterns

Capers Jones
First edition published 2022
by CRC Press
6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-­2742
and by CRC Press
2 Park Square, Milton Park, Abingdon, Oxon, OX14 4RN
© 2022 Taylor & Francis Group, LLC
CRC Press is an imprint of Taylor & Francis Group, LLC
The right of Capers Jones to be identified as author of this work has been asserted
by him in accordance with sections 77 and 78 of the Copyright, Designs and Patents
Act 1988.
Reasonable efforts have been made to publish reliable data and information, but the
author and publisher cannot assume responsibility for the validity of all materials or
the consequences of their use. The authors and publishers have attempted to trace
the copyright holders of all material reproduced in this publication and apologize
to copyright holders if permission to publish in this form has not been obtained. If
any copyright material has not been acknowledged please write and let us know so
we may rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted,
reproduced, transmitted, or utilized in any form by any electronic, mechanical, or
other means, now known or hereafter invented, including photocopying, microfilm-
ing, and recording, or in any information storage or retrieval system, without written
permission from the publishers.
For permission to photocopy or use material electronically from this work, access
www.copyright.com or contact the Copyright Clearance Center, Inc. (CCC), 222
Rosewood Drive, Danvers, MA 01923, 978-­750-­8400. For works that are not avail-
able on CCC please contact mpkbookspermissions@tandf.co.uk
Trademark notice: Product or corporate names may be trademarks or registered
trademarks and are used only for identification and explanation without intent to
infringe.
ISBN: 978-­1-­032-­02912-­2 (hbk)
ISBN: 978-­1-­032-­01722-­8 (pbk)
ISBN: 978-­1-­003-­19312-­8 (ebk)
DOI: 10.1201/9781003193128
Typeset in Garamond
by SPi Technologies India Pvt Ltd (Straive)
Contents

Appreciation and Acknowledgment.............................................. xv


Preface......................................................................................... xvii
Biography..................................................................................... xix

PART 1 WORST-­CASE PATTERNS OF SOFTWARE


DEVELOPMENT 1

1 Challenges of Software Project Management.......................... 3


Improving Software Project Management Tools and Training........ 7
Initial Education for New Project Managers................................ 8
Continuing Education for Software Project Managers................ 9
Guest Lectures from Visiting Experts (Remotely via
Zoom or Other Tools)........................................................ 10
Acquisition and Use of Software Parametric
Estimation Tools................................................................. 13
Acquisition and Use of Progress and Milestone
Tracking Tools.................................................................... 17
The Use of Formal Project Offices (PMOs) for
Applications >1,000 Function Points................................. 18
Use and Measurement of Effective Quality Control Methods... 19
Elimination of Bad Metrics and Adoption of
Effective Software Metrics................................................. 26
Primary Software Metrics for High Precision............................ 29
Supplemental Software Metrics for High Precision.................. 29
Commissioning Annual Software Benchmark Studies.............. 31
Formal Best Practice Analysis of Software Tools,
Methods, and Quality......................................................... 34
Summary and Conclusions on Software Project Management...... 36

v
vi ◾ Contents

Suggested Readings on Software Project Management................. 41


Suggested Web Sites....................................................................... 44
2 Wastage: Lost Time and Money Due to
Poor Software Quality........................................................... 47
Introduction.................................................................................... 47
Analyzing the Work Patterns of Software Engineers and
Programmers......................................................................... 48
Reuse of Certified Materials for Software Projects........................ 55
Achieving Excellence in Software Quality Control........................ 56
Excellent Quality Control........................................................... 56
Average Quality Control............................................................. 57
Poor Quality Control.................................................................. 58
Summary and Conclusions............................................................. 64
3 Root Causes of Poor Software Quality................................... 67
Introduction.................................................................................... 67
Software Quality Education Curricula........................................... 71
References and Readings in Software Quality Control................. 79
4 Defenses against Breach of Contract Litigation..................... 85
Introduction.................................................................................... 85
Problem 1: Estimating Errors and Estimate Rejection................... 86
Problem 2: Missing Defensible Objective Benchmarks................. 87
Problem 3: Rapidly Changing Requirements................................. 88
Problem 4: Poor Quality Control................................................... 89
Problem 5: Poor Software Milestone Tracking.............................. 91
Problem 6: Flawed Outsource Agreements that
Omit Key Topics.................................................................... 96
Summary and Observations Based on Breach of
Contract Litigation................................................................. 97
Suggested Readings........................................................................ 98
Web Sites...................................................................................... 101
Suggested Web Sites..................................................................... 101
5 The Mess of Software Metrics.............................................. 105
Introduction.................................................................................. 105
Defining Software Productivity.................................................... 115
Defining Software Quality............................................................ 116
Patterns of Successful Software Measurements and Metrics....... 121
Successful Software Measurement and Metric Patterns.............. 121
Function Points for Normalizing Productivity Data................ 122
Function Points for Normalizing Software Quality................. 122
Defect Potentials Based on all Defect Types........................... 123
Contents ◾ vii

Defect Removal Efficiency (DRE) Based on All


Defect Types.................................................................... 123
Defect Removal Efficiency Including Inspections and
Static Analysis.................................................................. 124
Defect Removal Efficiency Based on 90 Days after Release... 124
Activity-­Based Benchmarks for Development......................... 125
Activity-­Based Benchmarks for Maintenance.......................... 134
Cost of Quality (COQ) for Quality Economics........................ 134
Total Cost of Ownership (TCO) for
Software Economic Understanding................................. 141
Needs for Future Metrics.............................................................. 143
Summary and Conclusions........................................................... 145
Appendix A: Problems with Cost per Defect Metrics.................. 148
Why Cost per Defect Penalizes Quality................................... 149
Case A: Poor Quality................................................................ 149
Case B: Good Quality............................................................... 149
Case C: Zero Defects................................................................ 152
Using Function Point Metrics for Defect Removal
Economics........................................................................ 156
The Value of Quality for Large Applications of
10,000 Function Points.................................................... 157
Appendix B: Side-­by-­Side Comparisons of
79 Languages using LOC and Function Points................... 157
References and Readings............................................................. 168
Books and monographs by Capers Jones....................... 168
Monographs by Capers Jones 2012–2020 available from
Namcook Analytics LLC...................................................... 169
Books by Other Authors.............................................................. 169
Software Benchmark Providers (listed in alphabetic order)....... 173
6 Variations in Software Costs and Quality by
Application Size������������������������������������������������������������������ 175
Introduction.................................................................................. 175
Summary and Conclusions........................................................... 176
7 Advancing Software from a Craft to a Profession��������������� 185
Introduction.................................................................................. 185
What Are the Indicators of a Profession?.................................... 187
Why Software Engineering in Not Yet a Profession.................... 188
Topic 1: Reduce the Many Software Failures.......................... 189
Topic 2: Reduce Cost and Schedule Overruns........................ 190
Topic 3: Improve Software Quality after Deployment............ 191
Topic 4: Improve Today’s Low Software Development
Productivity and Long Schedules.................................... 192
viii ◾ Contents

Topic 5: Improve Poor Software Security and


Reduce Cyber-­Attacks...................................................... 192
Topic 6: Stop Using Inaccurate and
Invalid Metrics That Distort Reality................................. 193
Topic 7: Adopt Accurate Metrics and
Effective Measurement Practices..................................... 194
Topic 8: Improve Inaccurate and
Optimistic Estimates before Starting Projects................. 195
Topic 9: Eliminate Inaccurate Status Tracking........................ 196
Topic 10: Reduce High Maintenance Costs after
Deployment...................................................................... 196
Topic 11: Reduce or Eliminate Litigation from
Unhappy Clients............................................................... 197
Topic 12: Improve Undergraduate and
Graduate Software Education.......................................... 198
Topic 13: Improve Post-­Graduate and
On-­the-­Job Software Education....................................... 198
Topic 14: Introduce Software Licensing and
Board Certification........................................................... 199
Topic 15: Move from Custom and Manual
Development to Standard Reusable Components........... 200
Topic 16: Develop Effective Methods for Working at
Home Due To Corona Virus............................................ 201
Summary and Conclusions on Software Professionalism....... 201
References and Readings on Software and
Selected Texts on Medical Practice..................................... 202

PART 2 BEST-­CASE PATTERNS OF SOFTWARE


DEVELOPMENT 209
8 Corporate Software Risk Reduction in a
Fortune 500 Company......................................................... 211
Introduction.................................................................................. 211
A National Talent Search.............................................................. 212
Fact Finding and Software Assessments...................................... 213
Software Applications in Use....................................................... 213
The Initial Report to the Chairman.............................................. 216
Corporate Software Risk Factors Found by the
Initial Assessment................................................................ 217
The Corporate Risk Reduction Strategy: Fix Quality First.......... 218
Four-­Year Software Risk Reduction Targets................................. 220
Creating a Software Engineering Laboratory............................... 221
Education.................................................................................. 221
Contents ◾ ix

Applied Technology................................................................. 221


Advanced Technology.............................................................. 222
Measurements........................................................................... 222
Communications....................................................................... 223
Administration.......................................................................... 224
Results of the Corporate Risk Reduction Program...................... 224
Cost Justifying a Corporate Risk Reduction Program................. 225
Cost Recovery on the Development Side................................ 228
Cost Recovery on the Maintenance Side................................. 229
Asset Value of a Library of Reusable Artifacts......................... 231
Adding Value through Shorter Development Schedules......... 232
Adding Value through Higher Revenues................................. 233
Adding Value from Disaster Avoidance................................... 233
Adding Value from Reduced Litigation Risk............................ 234
Adding Value from Improved Staff and Management Morale....234
Adding Value from Recruiting and Keeping
Top-­Ranked Personnel..................................................... 234
Adding Value from Customer Loyalty...................................... 235
Overall Value from Effective Process Improvements.............. 235
Summary and Conclusions........................................................... 235
Appendix A: Master List of 210 Corporate Software Risks......... 236
References and Readings............................................................. 236
9 Achieving Software Excellence������������������������������������������� 247
Introduction.................................................................................. 247
Software Sizing, Estimating, and Project Tracking Differences.. 248
Software Quality Differences for Best, Average, and Poor
Projects................................................................................ 252
Excellent Quality Control......................................................... 254
Average Quality Control........................................................... 255
Poor Quality Control................................................................ 256
Reuse of Certified Materials for Software Projects...................... 258
Reusable Software Artifacts Circa 2019....................................... 258
Software Methodologies............................................................... 261
Quantifying Software Excellence................................................. 262
The Metaphor of Technical Debt................................................. 265
Stages in Achieving Software Excellence..................................... 267
Stage 1: Quantify Your Current Software Results.................... 268
Stage 2: Begin to Adopt State of the
Art Quality Tools and Methods........................................ 269
Formal Sizing, Estimating, and Tracking............................. 269
Defect Prevention................................................................. 269
Pre-­test Defect Removal....................................................... 270
x ◾ Contents

Test Defect Removal............................................................. 270


Stage 3: Continuous Improvements Forever........................... 271
Going Beyond Stage 3 into Formal Reuse Programs.................. 273
Summary and Conclusions........................................................... 273
References and Readings............................................................. 274
10 Early Sizing and Estimating of Software Projects.......................... 279
Introduction.................................................................................. 279
1950 to 1959............................................................................. 280
1960 to 1969............................................................................. 280
1970 to 1979............................................................................. 280
1980 to 1989............................................................................. 281
1990 to 1999............................................................................. 281
2000 to 2010............................................................................. 282
The State of the Art of Sizing and Estimating
from 2010 to 2020............................................................... 283
Hazards of Older Metrics............................................................. 285
Metrics Used with Function Point Analysis................................. 286
Assignment Scope.................................................................... 288
Cost per Function Point........................................................... 289
Defect Potentials....................................................................... 289
Defect Removal Efficiency (DRE)............................................ 290
Function Points per Month...................................................... 291
Production Rate........................................................................ 291
Requirements Creep................................................................. 291
Work Hours per Function Point............................................... 292
Application Sizing Using Pattern Matching................................. 292
Early Risk Analysis....................................................................... 295
Lifetime Sizing with Software Risk Master™............................... 302
Economic Modeling with Software Risk Master.......................... 302
The Future of Sizing and Estimating Software with
Function Points................................................................... 304
Summary and Conclusions........................................................... 306
References and Readings............................................................. 307
Additional Literature..................................................................... 307
11 Optimizing Software Defect Removal Efficiency (DRE)............... 309
Introduction.................................................................................. 309
Summary and Conclusions........................................................... 312
Introduction.................................................................................. 315
Project Management Tools....................................................... 315
Software Engineering Tools..................................................... 315
Software Maintenance Engineering Tools............................... 315
Software Quality Assurance Tools........................................... 316
Contents ◾ xi

Software Testing and Static Analysis Tools.............................. 316


Software Documentation Tools................................................ 316
Commercial Tools..................................................................... 316
Performance of Lagging, Average, and Leading Projects............ 319
Average Software Projects........................................................ 320
Leading Software Projects........................................................ 321
Lagging Software Projects........................................................ 321
A Taxonomy of Software Tool Classes......................................... 322
Project Management Tools....................................................... 323
Software Engineering Tools..................................................... 323
Software Maintenance Engineering Tools............................... 324
Software Quality Assurance Tools........................................... 324
Software Testing and Static Analysis Tools.............................. 324
Software Documentation Tools................................................ 325
References and Readings............................................................. 325
12 Tool Usage on Best-­Case, Average, and
Worst-­Case Projects���������������������������������������������������������������������327
Project Management Tools on Lagging and
Leading Projects.................................................................. 328
Software Engineering Tools on Lagging and
Leading Projects.................................................................. 330
Software Maintenance Engineering Tools on Lagging and
Leading Projects.................................................................. 331
Software Quality Assurance Tools on Lagging and
Leading Projects.................................................................. 332
Software Testing Tools on Lagging and Leading Projects........... 335
Software Documentation Tools on Lagging and
Leading Projects.................................................................. 337
Overall Tool Differences between Laggards and Leaders........... 337
Summary and Conclusions........................................................... 339
References and Readings............................................................. 340
13 Geriatric Care for Aging Software������������������������������������������������343
Introduction.................................................................................. 343
What Is Software Maintenance?................................................... 345
Geriatric Problems of Aging Software..................................... 348
Metrics Problems with Small Maintenance Projects.................... 351
Metrics Problems with ERP Maintenance................................ 352
Best and Worst Practices in Software Maintenance..................... 352
Methodologies That Are Maintenance-­Strong and
Maintenance-­Weak........................................................... 359
Customer Support: A Major Maintenance Weakness............... 362
Software Entropy and Total Cost of Ownership.......................... 362
xii ◾ Contents

Summary and Conclusions........................................................... 364


References and Books by Capers Jones That
Discuss Software Maintenance........................................... 365
Books by Additional Authors....................................................... 365
Readings on Software Maintenance............................................. 367
14 Function Points as a Universal Metric.......................................... 369
Introduction.................................................................................. 369
The Strengths of Function Point Metrics................................. 371
The Weaknesses of Function Point Metrics............................. 371
A New Method for High-­Speed Function Point Analysis............ 372
A Short Summary of Pattern Matching........................................ 373
Increasing Executive Awareness of Function Points for
Economic Studies................................................................ 374
Topic 1: Sizing Application Growth during
Development and After Release......................................... 375
Topic 2: Predicting Application Size in Multiple Metrics............ 375
Topic 3: Sizing All Known Types of Software Application......... 377
Topic 4: Function Points for Early Analysis of
Software Risks..................................................................... 379
Topic 5: Function Points for Activity-­Based Sizing and
Cost Estimating................................................................... 381
Topic 6: Function Points and Methodology Analysis.................. 384
Topic 7: Function Points for Evaluating the
Capability Maturity Model (CMMI®)................................... 384
Topic 8: Function Points for Software Quality Analysis.............. 390
Topic 9: Function Points and Software Maintenance,
Enhancements, and Total Cost of Ownership (TCO)......... 394
Topic 10: Function Points and Forensic Analysis of
Canceled Projects................................................................ 399
Topic 11: Portfolio Analysis with Function Point Metrics........... 402
Topic 12: Industry Studies Using Function Point Metrics........... 402
Topic 13: Global Studies Using Function Point Analysis............ 410
Topic 14: Function Points versus Lines of Code (LOC) for
Software Economic Analysis............................................... 410
Topic 15: Function Points and Software Usage and
Consumption....................................................................... 424
Patterns of Tools Noted on Successful Software Projects........... 427
Patterns of Tools Noted on Unsuccessful Projects...................... 428
Topic 16: Function Points and Software Outsource Contracts.... 429
Suggested Format for Monthly Status Reports for
Software Projects................................................................. 433
Contents ◾ xiii

Topic 17: Function Points and Venture Funding of


Software Startups................................................................ 437
Topic 18: Function Points for Analysis of Software
Occupation Groups............................................................. 439
Topic 19: Data Used by Fortune 500 C-­Level Executives............ 441
Topic 20: Combining Function Points with Other Metrics.......... 447
Function Points and Defect Removal Efficiency (DRE)............... 447
Function Points and Natural Metrics such as
“Document Pages”............................................................... 452
Function Points and Goal Question Metrics (GQM)................... 456
Function Points and Earned Value Analysis (EVA)...................... 457
Function Points, Story Points, and Velocity on
Agile Projects...................................................................... 458
Function Points and Return on Investment (ROI)....................... 458
Case 1: Software Improves Operational Performance............ 459
Case 2: Software Generates Direct and
Indirect Revenues Streams............................................... 460
Summary and Conclusions........................................................... 462
References and Readings............................................................. 463
Additional Literature..................................................................... 464

Index�������������������������������������������������������������������������������������������467
Appreciation and
Acknowledgments

This is my 22nd book. As always thanks to my wife Eileen for support-


ing my book writing over many years.
This book is dedicated to Watts Humphrey who was a pioneer in soft-
ware quality control and effective development patterns. Watts worked
at IBM and then helped create the software assessment program and the
capability maturity model (CMMI) for the Software Engineering Institute
(SEI). Watts was an industry leader in moving organizations from harm-
ful patterns to effective patterns.
Thanks also to the faculty of the University of Florida and to my col-
leagues at IBM.

xv
Preface

This book is divided into two sections. The first section discusses harm-
ful patterns and practices that tend to cause schedule delays, cost over-
runs, and poor quality. The observations and data about these harmful
patterns came from consulting studies and benchmarks carried out for
clients of Namcook Analytics LLC who wanted to improve their software
development practices and patterns.
The second section of the book shows optimal patterns that have
proven to be successful for large systems. The successful patterns origi-
nated in companies and organizations that build large mission-­critical
software systems such as IBM, AT&T, ITT, Nippon Electric, NASA, and
the Internal Revenue Service (IRS).
Software has been a troubling topic since it first started. There are
seven chronic problems that have plagued software from the beginning:

1. Incomplete and ambiguous user requirements that grow by >2%


per month.
2. Major cost and schedule overruns for large applications >35%
higher than planned.
3. Low defect removal efficiency (DRE) <85% on large systems.
4. Cancelled projects that are not completed: >30% above 10,000
function points.
5. Poor quality and low reliability after the software is delivered: >5
bugs per FP.
6. Breach of contract litigation against software outsource vendors.
7. Expensive maintenance and enhancement costs after delivery.

These are endemic problems for software executives, software engi-


neers, and software customers but they are not insurmountable. There
are technical solutions for all seven. The solutions involve moving from

xvii
xviii ◾ Preface

harmful patterns of software development to effective patterns of soft-


ware development.
Harmful patterns include carelessness in gathering requirements,
failure to use design and code inspections for critical features, and fail-
ure to monitor progress against accumulated costs.
The first beneficial pattern is to match the features of new applica-
tions against libraries of existing software applications to ensure that all
needed requirements will be included.
The second beneficial pattern is to select the optimum kinds of tools,
methodologies, and programming languages for the new application to
ensure optimal development.
The third beneficial pattern is to identify and select as many standard
reusable components as possible. Custom manual software develop-
ment is intrinsically slow and error prone, and using standard reusable
components provides the best overall results.
The fourth beneficial pattern is to measure defect removal efficiency
(DRE) and use methods such as static analysis and inspections that can
increase DRE above 99%.
The fifth beneficial pattern is to carefully monitor progress and accu-
mulated costs during development to ensure that the project will in fact
be delivered on time and within budget. The measures will include func-
tion points completed to date, function points remaining, and growth
of function points due to new requirements added during development.
Early and accurate measurements of accumulated costs and prog-
ress against planned checkpoints can eliminate the expensive cancel-
lations of large applications before they are completed. It is interesting
that the average accumulated cost at the day of cancellation is usually
20% higher than the budgeted cost for the entire application. Cancelled
projects have zero value and cause CEOs to regard software teams as
incompetent and undependable.
Biography

Capers Jones held both managerial and research positions at IBM. He


managed a software quality assurance team at IBM in San Jose, California.
As a software researcher, he designed IBM’s first software cost-estimating
tool in 1973 with Dr. Charles Turk. He received an IBM outstanding
­contribution award for improving quality of several IBM products. He
has represented IBM as a speaker at major external software confer-
ences. He has frequent contact with key IBM clients discussing on the
topics of software quality, productivity and quality measurement, and
software process improvement.
Capers Jones is currently VP and CTO of Namcook Analytics, LLC
which is a leading vendor for developing software estimation tools.
Namcook Analytics is also an international software consulting company
with clients in 27 countries. He has also been a keynote speaker at major
software conferences in the United States, Canada, Europe, South Korea,
Singapore, Malaysia, and Japan. He was named software engineering
advisor to governments of South Korea and Malaysia in 2011. Prior to
founding Namcook Analytics, Capers Jones was Assistant Director of
Software Engineering at the ITT Technology Center in Stratford, CT. He
was tasked with helping to introduce state-of-the-art tools and methods
to the 75 major companies owned by ITT that produced software. Some
of the ITT companies included Hartford Insurance, Sheraton Hotels,
Johnson Controls, Continental Baking, and more than 25 telecommuni-
cation companies in the United States and abroad.

xix
WORST-CASE 1
PATTERNS OF
SOFTWARE
DEVELOPMENT

This section of the book examines common software development


problems that have been observed in many companies and government
agencies. The data comes from consulting studies, breach of contract
lawsuits, and the literature on major software failures.
It is an unfortunate fact of life that harmful development patterns
are still more common than optimal development patterns. Even today
a majority of large software applications run late, exceed their planned
budgets, and have quality problems after release. Look at the reviews of
Microsoft Windows updates to see how troublesome large systems are.
This section considers the factors involved with cost overruns, sched-
ule delays, canceled projects, poor quality, and expensive maintenance
after deployment.

DOI: 10.1201/9781003193128-1
Chapter 1

Challenges of Software
Project Management

Project management in every industry is a challenging occupation. But


the challenges and hazards of software project management are greater
than those of most other industries. This fact is proven by the large
number of software project cancellations and the high frequency of
software project cost and schedule overruns. Software projects run late
and exceed their budgets more than any other modern industry except
for defense projects.
Academic training for software project managers is still not very good
even today. Some technology companies have recognized the challenges
of software project management and created effective in-­house training
for new software project managers. These companies with effective soft-
ware project management training include IBM and a number of tele-
com companies such as AT&T, ITT, Motorola, Siemens, and GTE. Some
other technology companies such as Google, Microsoft, and Apple also
have effective software project management training. Many of the com-
panies with good software management training build complex physical
devices run by software. Most are also more than 75 years old and have
had software measurement programs for more than 50 years.
A few companies even offer market effective software project man-
agement training. One of these is a subsidiary of Computer Aid Inc.
called the Information Technology Metrics and Productivity Institute
(ITMPI). The non-­profit Project Management Institute (PMI) also offers
effective training for software project managers.

DOI: 10.1201/9781003193128-2 3
4 ◾ Software Development Patterns and Antipatterns

Several years ago, a survey of engineering technology company


CEOs (computers, Telecom, electronics, medical devices, autos, and air-
craft) found that they regarded their software organizations as the least
professional of any of the corporate engineering organizations. This was
due to the fact that software projects had higher cancellation rates, lon-
ger schedule delays, and higher cost overruns than any of the other
engineering organizations.
Lyman Hamilton, a former Chairman of the ITT Corporation, gave
an internal speech to ITT executives in which he mentioned that newly
hired software engineers just out of college needed about 3 years of
internal training before being entrusted with critical projects. Other
kinds of engineers such as mechanical and electrical engineers only
needed about 12 months of internal training.
Hamilton was troubled by several major software failures of projects
that were terminated without being completed. He was also troubled by
the dissatisfaction expressed by customers in the quality of the software
the corporation produced. He was further dissatisfied by the inability of
internal software executives to explain why the problems occurred and
what might be done to eliminate them.
It is interesting that the failing projects were all large systems in the
10,000 function point size range. Failures in this range are common, and
managerial problems are usually a key factor.
Problems, failures, and litigation are directly proportional to the
overall size of software applications measured using function point met-
rics. Table 1.1 shows the approximate distribution of software project
results circa 2020.
As can be seen from Table 1.1, large software projects are distress-
ingly troublesome and have frequent total failures, also a high risk of
litigation. Poor project management is a key contributing factor.
Some leading companies have recognized the difficulty of success-
ful software project management and taken active steps to improve the
situation. Some of these companies include IBM, AT&T, ITT, Motorola,
GTE, and Siemens. Google, Apple, and Microsoft have also attempted
to improve software management although Microsoft has perhaps been
too rigid in some management topics such as employee appraisals.
The companies that are most proactive in software project manage-
ment tend to build complex engineered products such as computers,
medical devices, aircraft controls, and switching systems that depend
upon software to operate. The companies also tend to be mature com-
panies founded over 75 years ago and having effective software mea-
surement programs that are more than 40 years old. Most were early
adapters of function point metrics and also early adapters of parametric
software estimation tools.
Table 1.1 Normal Software Results Based on Application Size Circa 2020
Note: Costs Are Based on $10,000 per Month

Challenges of Software Project Management ◾


Size in Productivity in
Function Schedule in Total Function Points Cost in U.S. Odds of Odds of Outsource
Points Calendar Months Staffing per Staff Month Dollars Project Failure Litigation
1 0.02 1 50.00 $200 0.10% 0.00%
10 0.40 1 25.00 $4,000 1.00% 0.01%
100 3.50 2 14.29 $70,000 2.50% 0.25%
1,000 15.00 6 11.11 $900,000 11.00% 1.20%
10,000 35.00 50 5.71 $17,500,000 31.00% 7.50%
100,000 60.00 575 2.90 $345,000,000 47.50% 23.00%

5
6 ◾ Software Development Patterns and Antipatterns

The software benchmarks studies carried out by Namcook Analytics


LLC often show a significant number of serious software project man-
agement problems and issues. Table 1.2 summarizes 41 problems noted
in a benchmark study for a Fortune 500 technology corporation.
Fifteen of the 41 problems or about 36.5% were software project
management problems. This distribution is not uncommon.
The author of this book has been an expert witness in litigation for
software projects that either failed without being delivered or operated
so poorly after delivery that the clients sued the vendors. It is interesting
that project management problems were key factors in every lawsuit.
Inaccurate estimation, poor tracking of progress, and poor quality con-
trol are endemic problems of the software industry and far too common
even in 2020. These problems have been part of every breach of con-
tract case where the author of this book worked as an expert witness.

Table 1.2 Corporate Software Risk Factors Found by a Corporate


Benchmark Study
1 Project management: no formal training for new managers
2 Project management: no annual benchmark studies
3 Project management: no annual training in state of the art methods
4 Project management: no training in software cost estimating
5 Project management: no training in software quality estimating
6 Project management: no training in software risk analysis
7 Project management: no training in cyber-­attack deterrence
8 Project management: no training in function point metrics
9 Project management: no training in schedule planning
10 Project management: lack of accurate productivity measurements
11 Project management: lack of accurate quality metrics
12 Project management: incomplete milestone and progress tracking
13 Project management: historical data “leaks” by over 50%
14 Project management: managers continue to use inaccurate manual
estimates
15 Project management: no widespread use of accurate parametric
estimation
16 Quality control: no use of requirements models or QFD
17 Quality control: no use of automated proofs for critical features
Challenges of Software Project Management ◾ 7

Table 1.2 (Continued)


18 Quality control: no use of cyber-­attack inspections
19 Quality control: no use of formal design inspections
20 Quality control: no use of formal code inspections
21 Quality control: no use of static analysis tools
22 Quality control: no use of mathematical test case design (cause-­effect
graphs)
23 Quality control: no use of test coverage tools
24 Quality control: defect potentials about 4.75 bugs per function point
25 Quality control: defect removal efficiency (DRE) below 90.00%
26 Maintenance: no use of complexity analysis or cyclomatic complexity
27 Maintenance: no use of renovation tools or work benches
28 Maintenance: no use of code restructuring tools
29 Maintenance: inconsistent use of defect tracking tools
30 Maintenance: no use of inspections on enhancements
31 No reuse program: requirements
32 No reuse program: design
33 No formal reuse program: source code
34 No reuse program: test materials
35 No reuse program: documentation
36 No reuse program: project plans
37 No formal corporate reuse library
38 No corporate contracts with third party reuse companies
39 Office space: small open offices; high noise levels, many interruptions
40 Insufficient meeting/breakout space for team meetings; no large meetings
41 Inadequate corporate responses to 2020 COVID virus

Improving Software Project


Management Tools and Training
From consulting and benchmark studies carried out among top-­tier tech-
nology corporations, they all have taken effective steps to improve and
professionalize software project management. Some of these include at
least 11 steps (Table 1.3).
8 ◾ Software Development Patterns and Antipatterns

Table 1.3 Eleven Steps to Effective Software Project Management


1 Formal internal training for new project managers (10 days)
2 Annual training for project managers and technical staff (5 days)
3 Guest lectures from top software professionals (3 days)
4 Acquisition and use of parametric estimation tools
5 Acquisition and use of effective progress and milestone tracking tools
6 Use of formal project offices for applications >5,000 function points
7 Use of and measurement of effective quality control methods
8 Elimination of bad software metrics and adoption of effective metrics
9 Commissioning annual software benchmark studies
10 Formal “best practice” analysis of tools, methods, reuse, and quality
11 Effective use of Zoom and remote work in response to COVID virus

Let us now consider each of these 11 steps in sequence.

Initial Education for New Project Managers


In many technology companies, project managers are often selected
from the ranks of technical software engineering personnel. If this is
so, they usually had close to zero management training at the university
level. IBM recognized this as a problem back in the 1950s and intro-
duced an effective training program for newly hired or newly appointed
project managers.
This training is given to all project managers, but this report only
covers software training topics. Since new project management training
lasts for 10 days, there were 10 topics covered (Table 1.4).
Eight of the 10 topics are technical and deal with actual project
issues such as cyber-­attacks and risks. Two of the 10 topics deal with
human resources and appraisals, which are of course a critical part of
any manager’s job.
Microsoft has received criticism for their appraisal system, which
uses mathematical curves and requires that only a certain percentage of
employees can be appraised as “excellent.” The problem with this is that
technology companies such as Microsoft tend to have more excellent
employees than ordinary companies do, so this curve tended to cause
voluntary attrition among capable employees who ended up on the
wrong side of the “excellent” barrier.
Challenges of Software Project Management ◾ 9

Table 1.4 New Software Project Manager Curriculum


Project Management Courses Days Value
1 Software milestone tracking 1 10
2 Sizing key software deliverables 1 10
3 Software project planning 1 10
4 Cyber-­attack defenses 1 10
5 Software risk management 1 10
6 Software cost estimating: automated 1 10
7 Measurement and metrics of software 1 10
8 Software quality and defect estimating 1 10
9 Human resource policies 1 9
10 Appraisals and employee relations 1 9

Continuing Education for Software Project Managers


A study of software education methods carried out by Namcook Analytics
LLC found that in-­house education in major companies such as IBM and
AT&T was superior to academic or university training for software proj-
ect managers.
IBM and AT&T both employed more than 100 education person-
nel. These educators taught in-­ house courses to software and other
personnel, and also taught customer courses to clients. The education
groups operated initially as cost centers with no charges for in-­house or
customer training. More recently, they have tended to switch to profit-­
center operations and do charge for training, at least for some customer
training.
Quite a few technology companies have at least 10 days of train-
ing for new managers and about a week of training each year for both
managers and technical staff. When Capers Jones was a new manager
at IBM, he took this 10-­day training series and later taught some of the
IBM project management courses on estimation, measurements, quality
control, and software risk analysis.
Table 1.5 shows the rankings of 15 channels of software project man-
agement education in order of effectiveness.
A composite software project management curriculum derived from
technology companies such as IBM, AT&T, ITT, Microsoft, and Apple is
shown in Table 1.6.
10 ◾ Software Development Patterns and Antipatterns

Table 1.5 Ranking Software Management Education Channels


1 In-­house education in technology companies
2 Commercial education by professional educators
3 University education – graduate
4 University education – undergraduate
5 In-­house education in non-­technology companies
6 Mentoring by experienced managers
7 On-­the-­job training
8 Non-­profit education (IEEE, PMI, IFPUG, etc.)
9 Vendor education (management tools)
10 Self-­study from work books
11 Self-­study from CD-­ROMs or DVDs
12 Live conferences with seminars and tutorials
13 On-­line education via the Internet and World Wide Web
14 Project management books
15 Project management journals

Needless to say this curriculum would be spread over a multi-­year


period. It is merely a combination of the kinds of software project man-
agement courses available in modern technology companies.

Guest Lectures from Visiting Experts


(Remotely via Zoom or Other Tools)
Over and above software classroom training, some technology compa-
nies have occasional internal seminars for all personnel which feature
industry experts and famous software researchers. IBM, AT&T, and ITT
had large seminars twice a year. One seminar was open only to employ-
ees and discussed some proprietary or confidential information such
as new products and market expansion. The second large seminar was
intended to demonstrate technical excellence to clients and customers,
who were also invited to participate.
Among the well-­known experts invited to companies such as AT&T,
IBM, Siemens, and ITT were Al Albrecht (inventor of function points),
Dr. Barry Boehm (inventor of COCOMO), Dr. Fred Brooks (author of
The Mythical Man-­Month), Watts Humphrey (creator of the SEI CMMI),
Challenges of Software Project Management ◾ 11

Table 1.6 Software Project Management Curriculum


Project Management Courses Days Value
1 Software milestone tracking 1.00 10.00
2 Early sizing before requirements 1.00 10.00
3 Sizing key deliverables 1.00 10.00
4 Controlling creeping requirements 1.00 10.00
5 Software project planning 2.00 10.00
6 Cyber-­attack defenses 2.00 10.00
7 Cyber-­attack recovery 1.00 10.00
8 Software outsourcing pros and cons 1.00 10.00
9 Optimizing multi-­country teams 1.00 10.00
10 Best practices in project management 1.00 10.00
11 Software risk management 1.00 10.00
12 Software cost estimating: automated 2.00 10.00
13 Software high-­security architecture 1.00 10.00
14 Benchmark sources: ISBSG, Namcook, etc. 1.00 10.00
15 Measurement and metrics of software 2.00 10.00
16 Software quality and defect estimating 1.00 10.00
17 Software defect tracking 1.00 9.75
18 Software benchmark overview 1.00 9.75
19 Function point analysis: high speed 1.00 9.75
20 Human resource policies 1.00 9.60
21 Software change control 1.00 9.50
22 Principles of software reuse 1.00 9.40
23 Appraisals and employee relations 1.00 9.00
24 Software cost tracking 1.00 9.00
25 Software maintenance & enhancement 1.00 9.00
26 Methodologies: agile, RUP, TSP, others 1.00 9.00
27 The capability maturity model (CMMI) 2.00 9.00
28 Overview of management tools 1.00 9.00
29 Testing for project managers 2.00 8.75

(Continued)
12 ◾ Software Development Patterns and Antipatterns

Table 1.6 (Continued)


Project Management Courses Days Value
30 Static analysis for project managers 0.50 8.75
31 Inspections for project managers 0.50 8.75
32 Project management body of knowledge 1.50 8.70
33 Software metrics for project managers 1.00 8.50
34 Software cost estimating: manual 1.00 8.00
35 Tools: cost accounting 1.00 8.00
36 Tools: project management 1.00 8.00
37 Tools: human resources 1.00 8.00
38 Tools: cost and quality estimation 1.00 8.00
39 Function points for project managers 0.50 8.00
40 ISO Standards for functional measures 1.00 8.00
41 Principles of agile for managers 1.00 7.75
42 Principles of RUP for managers 1.00 7.75
43 Principles of TSP/PSP for managers 1.00 7.75
44 Principles of DevOps for managers 1.00 7.75
45 Principles of containers for managers 1.00 7.75
46 Earned value measurement (EVM) 1.00 6.75
47 Principles of balanced scorecards 1.00 6.50
48 Six-­Sigma for project managers 2.00 6.00
49 Six-­Sigma: green belt 3.00 6.00
50 Six-­Sigma: black belt 3.00 6.00
Total 60.00 8.82

Dr. Larry Putnam (inventor of SLIM), Dr. Jerry Weinberg (author of The
Psychology of Computer Programming), Bill Gates of Microsoft, Donald
Knuth (pioneer of computer algorithms), Admiral Grace Hopper of the
Navy (inventor of COBOL), Ken Thompson (co-­ developer of UNIX),
Linus Torvalds (developer of Linux), and many more.
Usually these events lasted for about half a day of technical topics, and
then had either a lunch or a reception for the guests based on whether
it was a morning event or an afternoon event. At the reception or lunch,
the audience could meet and chat informally with the visiting experts.
Challenges of Software Project Management ◾ 13

Because the guest experts were world famous, these corporate semi-
nars were attended by top software executives as well as software engi-
neers and technical staff. This was a good method for bringing together
all levels of a company to focus on critical software issues.
Having attended a number of these, they were usually very enjoyable
and it was good to meet famous software researchers such as Admiral
Grace Hopper face to face.
Needless to say this kind of event usually takes place in fairly large
companies since they are expensive. However these seminars were also
valuable and benefitted both the executives and technical staffs of IBM,
ITT, AT&T, Microsoft, and other companies that have them.

Acquisition and Use of Software Parametric Estimation Tools


IBM discovered in the early 1970s that manual software cost estimates
became increasingly optimistic and inaccurate as the application size
increased from below 100 function points to more than 10,000 function
points. Since applications grew rapidly in this era, IBM commissioned
Capers Jones and Dr. Charles Turk to build its first parametric estima-
tion tool in 1973. ITT did the same in 1979 and AT&T commissioned a
custom parametric estimation tool for its electronic switching systems
in 1983.
The technology and telecom sectors have been pioneers in the devel-
opment and usage of parametric estimation tools.
Software has achieved a bad reputation as a troubling technology.
Large software projects have tended to have a very high frequency of
schedule over-­runs, cost overruns, quality problems, and outright can-
cellations of large systems. While this bad reputation is often deserved,
it is important to note that some large software projects are finished on
time, stay within their budgets, and operate successfully when deployed.
The successful software projects differ in many respects from the
failures and disasters. One important difference is how the successful
projects arrived at their schedule, cost, resource, and quality estimates
in the first place.
It often happens that projects exceeding their planned schedules
or cost estimates did not use state of the art methods for determining
either their schedules or their costs. Although the project is cited for
overruns, the root problem is inadequate planning and estimation.
From large-­scale studies first published in Software Engineering Best
Practices ( Jones 2010) and The Economics of Software Quality ( Jones
& Bonsignour 2011) usage of automated parametric estimating tools,
automated project scheduling tools, and automated defect and qual-
ity estimating tools (all of these are combined in some tools such as
14 ◾ Software Development Patterns and Antipatterns

Software Risk Master (SRM)) are strongly correlated with successful


outcomes.
Conversely, software project failures tended to use casual and man-
ual methods of arriving at initial estimates. Indeed, for many software
failures, there was no formal estimation at all. Analyzing 15 breach of
contract lawsuits for failure, delays, and poor quality witnessed all of
the projects were larger than 10,000 function points and all used manual
estimating methods.
The first software parametric cost estimation tools were created by
researchers who were employed by large enterprises that built large and
complex software systems: IBM, Hughes, RCA, TRW, and the U.S. Air
Force were the organizations whose research led to the development of
commercial parametric cost estimating tools.
Some of the estimating pioneers who developed the first parametric
estimating tools include in alphabetical order: Dr. Barry Boehm (TRW),
Frank Freiman (RCA), Dan Galorath (SEER), Capers Jones (IBM), Dr.
Larry Putnam (Air Force), and Dr. Howard Rubin (academic-­SUNY).
In 1973, the author of this book and his colleague Dr. Charles Turk
at IBM San Jose built IBM’s first automated parametric estimation tool
for systems software. This tool was called the “Interactive Productivity
and Quality” (IPQ) tool. This internal IBM tool was proprietary and not
put on the commercial market since it gave IBM competitive advantages.
This tool was developed at IBM’s San Jose complex and soon had over
200 IBM users at over 20 locations around the world.
Today in 2021, most technology and telecom companies use para-
metric estimation tools. These are normally used by project offices or by
special estimating teams that provide estimates as a service to specific
projects.
Some of the major parametric estimation tools today include in
alphabetical order:

1. Constructive Cost Model (COCOMO)


2. CostXpert
3. ExcelerPlan
4. KnowledgePlan
5. SEER
6. SLIM
7. Software Risk Master (SRM)
8. True Price

These commercial parametric estimation tools are widely used by tech-


nology companies, defense contractors, and other large corporations.
They are fairly expensive of over $5,000 per seat for most.
Challenges of Software Project Management ◾ 15

However, there is also the constructive cost model (COCOMO)


developed by Dr. Barry Boehm. This estimating tool is free. Because
COCOMO is free, it is widely used by universities and small companies
that cannot afford the more expensive commercial estimation tools, but
COCOMO does not have wide usage among U.S. technology companies
which need more detailed estimates provided by commercial parametric
tools.
For example the major features of the Software Risk Master (SRM)
commercial software estimation tool include:

• Sizing logic for specifications, source code, and test cases.


• Sizing logic for function points and lines of code (LOC).
• Sizing logic for story points and use-­case points.
• Sizing logic for requirements creep during development and post
release.
• Activity = level estimation for requirements, design, code, testing,
etc.
• Sophisticated quality estimates that predict defects and DRE.
• Support for 60 development methods such as agile, containers,
DevOps, TSP, spiral, etc.
• Support for development, user costs, and three years of maintenance.
• Support for IFPUG function point metrics.
• Support for the new SNAP point metric for non-­ functional
requirements.
• Support for other function point metrics such as COSMIC, NESMA,
FISMA, etc.
• Support for older lines of code (LOC) metrics (both physical and
logical).
• Support for modern topics such as cyber-­defenses and cyber-­attack
recovery.
• Support for proprietary metrics such as feature points and object
points.
• Support for software reusability of various artifacts.
• Support for 84 modern languages such as Java, Ruby, mySQL, and
others.
• Support for systems applications such as operating systems and
telecom.
• Support for IT applications such as finance and insurance.
• Support for web-­based applications.
• Support for cloud applications.
• Support for ERP deployment and customization.
• Support for including commercial off the shelf software (COTS).
• Support for software portfolio analysis.
16 ◾ Software Development Patterns and Antipatterns

SRM also supports many advanced functions:

• Quality and reliability estimation.


• Numbers of test cases needed and test coverage.
• Litigation costs for breach of contract.
• Cyber-­attack costs and recovery costs.
• ERP deployment and modification.
• Portfolio sizing and annual portfolio maintenance.
• Risk and value analysis.
• Measurement modes for collecting historical data.
• Cost and time to complete estimates mixing historical data with
projected data.
• Support for software process assessments.
• Support for results from the five levels of the SEI CMMI.
• Special estimates such as the odds and costs of outsource litigation.
• Special estimates such as venture funding for software startups.

Other commercial software parametric estimation tools have similar fea-


tures. The U.S. Air Force used to perform annual trials of commercial
parametric estimation tools. All of the major parametric tools were within
about 10% of one another, and all were significantly more accurate than
manual estimates for large projects above 1,000 function points in size.
Manual estimates were often optimistic on cost and schedules by more
than 50% above 1,000 function points. Parametric estimation tools are
almost never optimistic and usually come within 10% of actual results.
Of course another industry problem is that most companies do not
have accurate results. Among the author’s clients, the average accuracy
of software project historical data is only 37%. The most common “leaks”
from project historical data include business analysts, project managers,
software quality assurance, technical writers, project office personnel,
configuration control, and integration specialists. Measuring only devel-
opers and test personnel such as “design, code, and unit test” or DCUT
is common but fundamentally inaccurate and inadequate for economic
or quality analysis.
One new problem for software estimation was the arrival of the
corona virus in March of 2020. This virus led to closure of many soft-
ware office locations and a switch to working from home using com-
puters for status meetings and progress discussions. The virus will no
doubt have a major negative impact on software productivity rates and
probably a negative impact on software quality. However, as of late
2020, there were very little quantitative data available because many
large projects started in 2020 were not finished so their productivity and
quality can’t be measured until 2021 or later.
Challenges of Software Project Management ◾ 17

Acquisition and Use of Progress and Milestone Tracking Tools


In addition to parametric estimation tools, there are also many commer-
cial project management tools. The phrase “project management tools”
has been applied to a large family of tools whose primary purpose is
sophisticated scheduling for projects with hundreds or even thousands
of overlapping and partially interdependent tasks and large teams in the
hundreds. These tools are able to drop down to very detailed task lev-
els and can even handle the schedules of individual workers. Microsoft
Project and Artemis Views are two samples of project management tools.
The new automated project office (APO) tool of Computer Aid is a mod-
ern project management tool only recently put on the market. There are
also open-­source project management and tracking tools such as JIRA.
However, the family of project management tools are for general pur-
pose in nature and do not include specialized software sizing and esti-
mating capabilities as do the software cost estimating tools. Neither do
these general project management tools deal with quality issues such as
DRE. Project management tools are useful, but software requires addi-
tional capabilities to be under full management control.
Project management tools are an automated form of several man-
agement aids developed by the Navy for controlling large and com-
plex weapons systems: the “program evaluation and review technique”
(PERT), critical path analysis, resource leveling, and the classic Gantt
charts. Project management tools used for defense projects also support
earned-­value analysis (EVA) although this is seldom used in the civilian
sectors.
Project management tools have no built-­in expertise regarding soft-
ware, as do software cost estimating tools. For example, if you wish to
explore the quality and cost impact of an object-­oriented programming
language such as Objective C, a standard project management tool is not
the right choice.
By contrast, many software cost estimating tools have built-­in tables of
programming languages and will automatically adjust the estimate based
on which language is selected for the application. Project management
tools and software cost estimating tools provide different but comple-
mentary functions. Most software cost estimating tools interface directly
with common project management tools such as Microsoft Project.

Project Management Tools Software Cost Estimating Tools


Work-­breakdown structures Sizing logic for function points, code, etc.
Activity-­based cost analysis Quality estimates

(Continued)
18 ◾ Software Development Patterns and Antipatterns

Project Management Tools Software Cost Estimating Tools


Earned-­value calculations Integral risk estimates
Effort by staff members Staffing predictions (testers, programmers,
etc.)
Cost accumulation Cost estimating

Both kinds of tools are useful for large and complex software proj-
ects and are generally used concurrently by project office personnel.
An average software project using both parametric estimation tools and
project management tools would be a significant project of over 1,000
function points in size. Small projects below 100 function points are
often estimated informally and use only normal corporate cost account-
ing tools rather than sophisticated project management tools.

The Use of Formal Project Offices (PMOs) for


Applications >1,000 Function Points
When software started, most applications were small and below 100
function points in size. During the late 1960s and early 1970s, software
applications such as operating systems and telephone switching sys-
tems grew above 10,000 function points.
These larger applications had development teams that often topped
100 workers and they had over a dozen managers, including some 2nd
and 3rd line managers.
Due to the poor training of most software managers in topics such as
sizing, planning, estimating, and measurement, it soon became obvious
that expert help was needed for these critical tasks.
The project office concept is much older than software and appeared
in the late 1800s for manufacturing and even for agriculture and com-
modity training. Many industries used project offices before software
became important in the 1950s. IBM was a pioneer in the creation and
effective use of software project offices in the late 1960s.
There are a number of levels and kinds of project offices, but for this
report, the main emphasis is on specific software projects that are fairly
large and complex such as 10,000 function points in size.
For these large systems, the main roles played by the software proj-
ect office are the following:

1. Identifying important standards for the project such as ISO or OMG


standards.
2. Identifying important corporate standards such as the IBM stan-
dards for software quality.
Challenges of Software Project Management ◾ 19

3. Identifying and monitoring government mandates such as FAA,


FDA, or Sarbanes-­Oxley.
4. Early sizing of project deliverables using one or more parametric
estimation tools.
5. Early prediction of schedules, costs, and staffing using one or more
parametric estimation tools.
6. Early prediction of requirements creep.
7. Early prediction of defect potentials and DRE.
8. Establishing project cost and milestone tracking guidelines for all
personnel.
9. Continuous monitoring of progress, accumulated costs, and sched-
ule adherence.
10. Continuous monitoring of planned vs. actual DRE.

Project offices are a useful and valuable software structure. They usually
contain from 3 to more than 10 people based on the size of the project
being controlled. Among the kinds of personnel employed in software
project, offices are estimating specialists, metric specialists such as certi-
fied function point counters, quality control specialists, and standards
specialists.
Project offices usually have several parametric estimation tools avail-
able and also both general and specialized project tracking tools. Shown
in Table 1.7 are samples of some of the kinds of tools and information
that a project office might utilize in a technology company for a major
software application
As can be seen, software project offices add knowledge and rigor
to topics where ordinary project managers may not be fully trained or
highly experienced.

Use and Measurement of Effective Quality Control Methods


The #1 cost driver for the software industry for more than 50 years has
been “the cost of finding and fixing bugs.” Since bug repairs are the top
cost driver, it is impossible to have an accurate cost estimate without
including quality costs. It is also impossible to have an accurate cost
estimate, or to finish a project on time, unless it uses state of the art
quality control methods.
The #1 reason for software schedule delays and cost overruns for
more than 50 years has been excessive defects present when testing
starts, which stretches out the planned test duration by over 100% and
also raises planned development costs. Without excellent quality con-
trol, software projects will always run late, exceed their budgets, and be
at risk of cancellation if excessive costs make the ROI a negative value.
20 ◾ Software Development Patterns and Antipatterns

Table 1.7 Tools for Software Projects


Tasks Tools Utilized
1 Architecture QEMU
2 Automated test HP QuickTest Professional
3 Benchmarks ISBSG, Namcook SRM, Davids, Q/P Management
4 Coding Eclipse, Slickedit
5 Configuration Perforce
6 Cost estimate Software Risk Master (SRM), SLIM, SEER, COCOMO
7 Cost tracking Automated project office (APO), Microsoft Project
8 Cyclomatic BattleMap
9 Debugging GHS probe
10 Defect tracking Bugzilla
11 Design Projects Unlimited, Visio
12 Earned value DelTek Cobra
13 ERP Microsoft Dynamics
14 Function points 1 Software Risk Master (SRM)
15 Function points 2 Function point workbench
16 Function points 3 CAST automated function points
17 Graphics design Visio
18 Inspections SlickEdit
19 Integration Apache Camel
20 ISO tools ISOXpress
21 Maintenance Mpulse
22 Manual test DevTest
23 Milestone track KIDASA Softare Milestone Professional
24 Progress track Jira, Automated Project Office (APO)
25 Project mgt. Automated project office (APO)
26 Quality estimate Software Risk Master (SRM)
27 Requirements Rational Doors
28 Risk analysis Software Risk Master (SRM)
29 Source code size 1 Software Risk Master (SRM)
30 Source code size 2 Unified code counter (UCC)
Challenges of Software Project Management ◾ 21

Table 1.7 (Continued)

Tasks Tools Utilized


31 SQA NASA Goddard ARM tool
32 Static analysis OptimMyth Kiuwin, Coverity, Klocwork
33 Support Zendesk
34 Test coverage Software Verify suite
35 Test library DevTest
36 Value analysis Excel and Value Stream Tracking

ISO and Other Standards Used for Project


IEEE 610.12-­1990 Software engineering terminology
IEEE 730-­1999 Software assurance
IEEE 12207 Software process tree

ISO/IEC 9001 Software quality


ISO/IEC 9003 Software quality
ISO/IEC 12207 Software engineering
ISO/IEC 25010 Software quality
ISO/IEC 29119 Software testing
ISO/IEC 27034 Software security
ISO/IEC 20926 Function point counting

OMG Corba Common Object Request Broker Architecture


OMG Models Meta models for software
OMG funct. pts. Automated function points (legacy applications)

UNICODE Globalization and internationalization

Professional Certifications Used on Project


Certification used for project = 1
Certification not used for project = 0

(Continued)
22 ◾ Software Development Patterns and Antipatterns

Table 1.7 (Continued)


Professional Certifications Used on Project
Note: Some team members have multiple
certifications.
Certification – Apple 0
Certification – Computer Aid Inc. 0
Certification – Computer Associates 0
Certification – FAA 0
Certification – FDA 0
Certification – Hewlett Packard 0
Certification – IBM 1
Certification – Microsoft 1
Certification – Oracle 0
Certification – PMI 1
Certification – QAI 0
Certification – Red Hat 0
Certification – RSBC 0
Certification – SAP 0
Certification – Sarbanes-­Oxley 0
Certification – SEI 0
Certification – Sun 0
Certification – Symantec 0
Certification – TickIT 0
Certification of computing professionals 0
Certified configuration management specialist 1
Certified function point analyst 1
Certified project managers 1
Certified requirements engineers 0
Certified scrum master 1
Certified secure software lifecycle 0
professional
Certified security engineer 0
Challenges of Software Project Management ◾ 23

Table 1.7 (Continued)


Professional Certifications Used on Project
Certified SEI appraiser 1
Certified software architect 0
Certified software business analyst 1
Certified software development professional 0
Certified software engineers 0
Certified software quality assurance 1
Certified test managers 0
Certified testers 1
Certified webmaster 1
Certified software auditor 1
Total 13

It is alarming that in several lawsuits where Capers Jones has been


an expert witness, depositions showed that project managers deliber-
ately cut back on pre-­test removal such as inspections and truncated
testing early “in order to meet schedules.” From the fact that the projects
were late and over budget, cutting back on quality control raised costs
and lengthened schedules, but the project managers did not know that
this would happen.
Table 1.8 shows the 16 major cost drivers for software projects in
2021. The cost drivers highlighted in red are attributable to poor soft-
ware quality.
Table 1.8 illustrates an important but poorly understood economic
fact about the software industry. Four of the 16 major cost drivers can
be attributed specifically to poor quality. The poor quality of software
is a professional embarrassment and a major drag on the economy of
the software industry and for that matter a drag on the entire U.S. and
global economies.
Poor quality is also a key reason for cost driver #2. A common reason
for cancelled software projects is because quality is so bad that sched-
ule slippage and cost overruns turned the project return on investment
(ROI) from positive to negative.
Note the alarming location of successful cyber-­attacks is in 6th place
(and rising) on the cost-­driver list. Since security flaws are another form
of poor quality, it is obvious that high quality is needed to deter suc-
cessful cyber-­attacks.
24 ◾ Software Development Patterns and Antipatterns

Table 1.8 U.S. Software Costs in Rank Order


1 The cost of finding and fixing bugs
2 The cost of cancelled projects
3 The cost of producing English words
4 The cost of programming or code development
5 The cost of requirements changes
6 The cost of successful cyber-­attacks
7 The cost of customer support
8 The cost of meetings and communication
9 The cost of project management
10 The cost of renovation and migration
11 The cost of innovation and new kinds of software
12 The cost of litigation for failures and disasters
13 The cost of training and learning
14 The cost of avoiding security flaws
15 The cost of assembling reusable components
16 The cost of working from home due to the virus
Note: No one yet knows the exact cost estimation of the
impact of corona virus on software projects. No
doubt productivity will drop and quality may also,
but it is premature without actual data.

Poor quality is also a key factor in cost driver #12 or litigation for
breach of contract. The author of this book has worked as an expert wit-
ness in 15 lawsuits. Poor software quality is an endemic problem with
breach of contract litigation. In one case against a major ERP company,
the litigation was filed by the company’s own shareholders who asserted
that the ERP package quality was so bad that it was lowering stock values!
If you can’t measure a problem, then you can’t fix the problem either.
Software quality has been essentially unmeasured and therefore unfixed
for 50 years. A very useful quality metric developed by IBM around 1970
is that of “defect potentials.”
Software defect potentials are the sum total of bugs found in require-
ments, architecture, design, code, and other sources of error. The
approximate U.S. average for defect potentials is shown in Table 1.9
using IFPUG function points version 4.3.
Another random document with
no related content on Scribd:
“Indeed, one so young as you appear to be! But yours, young
man, are the sorrows, perhaps, of a youthful lover. Yours are not so
deeply rooted as mine.”
These words led to an explanation which told the two strangers
that their concerns were more nearly allied than they had been
aware. Our readers of course need not be informed that the elder of
the two was Mr Primrose, and the younger Mr Robert Darnley. They
were happy, however, in the midst of their sorrows, to have become
thus acquainted at a distance from home. They only regretted that
the distance between their respective situations in India had formed
an insuperable barrier against an acquaintance and intimacy there.
The fact is that, so long as Dr Greendale considered the return of Mr
Primrose as a matter of uncertainty, he had been very cautious of
exciting his daughter’s expectations. He had ventured to consider his
own approbation quite sufficient to allow of the correspondence
between his niece and Mr Robert Darnley, and had in his letters to
Mr Primrose simply mentioned the fact without stating particulars,
thinking that it would be time enough hereafter, should the mutual
affection of the young persons for each other continue and
strengthen. Mr Primrose had, in reply to that information, left Dr
Greendale quite at liberty to make such disposal of Penelope as he
might think proper; for the father was well aware that the uncle was,
both by discretion and affection, well qualified for the guardianship of
his child.
The vessels in which the two gentlemen sailed soon weighed
anchor and put to sea again. So the friends were parted for a time;
nor did they hold any farther communication on the course of their
voyage, for they had not left St Helena many days before the ship
parted company in a gale of wind. That vessel in which Mr Primrose
sailed first arrived in England, as we have already intimated.
CHAPTER XIV.
England appeared to Mr Primrose quite a new world. He had
sixteen years ago sailed down the river Thames, which presented on
its banks at that time quite as much picturesque beauty as now. But
he did not then observe these beauties. His heart was full of other
thoughts, and his mind was moved by widely different feelings. There
had not been in his soul the sentiment of moral beauty, nor was
there in his heart that repose of pleasure which could admit of
enjoying the external world in its manifestations of beauty or
sublimity. But on his return homewards his thoughts were far
different. He had left England in forlorn hope, but he was returning
under brighter auspices. He had sailed from his native land, bearing
a deeply felt burden of self-reproach; and though he could not forget
or forgive his former self, and though still there were painful scenes
to be witnessed, and melancholy information to be received, yet the
aspect of things was widely different from what it had been at his
departure. And he expressed himself delighted with all that he saw.
The little boats and the lighter craft upon the river spoke of bustle
and activity, and of human interest; and in them he saw the
flutterings of business and prosperity. Though it was winter, and the
trees on the rising grounds were leafless, and the fields had lost their
greenness, yet the very pattern and outline of what the scene had
been in summer, and of what it would be again in spring, were all
very charming to his eye, then active with imagination. His own
bright thoughts gave verdure to the trees and greenness to the
fields; and he thought that England indeed was a blessed land. And
as the vessel made her way up the river, and as at a distance a
dense black cloud was seen, he knew that that was a manifestation
of their vicinity to the great city, and that dark mass of floating
smoke, which rustic eloquence so glibly reprobates, was to his soul a
great refreshment and a most pleasing sight.
As soon as he disembarked, he first directed his steps to the office
of his agent in the city, to make enquiry respecting the speediest
mode of arriving at Smatterton: for he knew not that his daughter’s
residence was now in London. There is a great contrast between the
appearance of the banks of the Thames and the inside of a city
counting-house; but they are both very pleasant sights to those who
are glad to see them. Mr Primrose was indeed very glad to see his
native land, and to walk the streets of its busy metropolis; and with
very great cordiality did he shake hands with the principal in the
office, and very politely did the principal congratulate him on his
return to England. Mr Primrose did not notice the great contrast
between his own joy-expanded face and the business-looking aspect
of the agent; but he thought that all London looked as glad to see
him as he was to see London. After transacting at the office of his
agent such business as was immediately important, and without
waiting to observe what changes and improvements had taken place
in the great city since he had left it sixteen years ago, he made
enquiry after the readiest and quickest mode of reaching Smatterton,
and finding that the stage-coach was the most rapid conveyance, he
immediately directed his steps thitherward.
There are in the course of human life many strange and singular
coincidences. Now it happened that the very day on which Mr
Primrose was preparing to start for Smatterton, Mr Kipperson also
was going to travel the same road, and by the same conveyance.
Little did the former imagine that he was going away from his
daughter; little did he think that, in his way to the White Horse cellar
in Piccadilly, he had actually passed the house in which his beloved
child and only hope lay sick and ill. The days in December are very
short; and it was nearly dark when, at four o’clock in the afternoon,
Mr Primrose and Mr Kipperson, unknown to each other, took their
seats in the coach. They had the inside of the coach to themselves.
Mr Primrose, as we have said, was in good spirits. He certainly
had some cause for grief, and some source of concern; but the
feeling of satisfaction was most prominent. He had shed tears to the
memory of Dr Greendale, and he hoped that the worthy man had so
instructed the dependent one committed to his care, that no
permanent cause of uneasiness would be found in her. The
intelligence which he had received respecting her alleged and
supposed fickleness came from Mr Darnley, and the father,
therefore, knowing Mr Darnley to be a very severe and rigid kind of
man, and withal mighty positive, hoped that a premature judgment
had been formed, and trusted that, when all was explained, all would
be right. We must indeed do the father of Penelope the justice to say
that, with all his failings, he was sincere, candid, and downright. He
never suffered any misunderstanding to exist where it could possibly
be cleared up. He was plain and direct in all his conduct.
We need not say that Mr Kipperson was in good spirits. He always
was so. He was so very happy that by this last journey to London he
had saved the nation from being starved to death by a
superabundance of corn. What a fine thing it is to be the cleverest
man in the kingdom! What would become of us all were it not for
such men as Mr Kipperson starting up about once in a century, or
twice a-week, to rectify all the errors of all the rest of the world? And
what is the use of all the world beside, but to admire the wisdom of
such men as Mr Kipperson? Our only fear is that we may have too
many such profoundly wise men; and the consequence of an over
supply of wisdom would be to ruin the nation by folly.
Whether Mr Kipperson addressed Mr Primrose, or Mr Primrose
addressed Mr Kipperson, we know not; but in a very short time they
became mighty good friends. To some observation of Mr Primrose,
his fellow traveller replied:
“You have been abroad I suppose, sir?”
“I have, sir,” said Mr Primrose; “and that for a long while: it is now
upwards of sixteen years since I left England, and I am most happy
to return to it. Many changes have taken place since I went abroad,
and some, I hope, for the better.”
“Many improvements have indeed been made in the course of that
time. We have improved, for instance, in the rapidity with which we
travel; our roads are as smooth as a bowling-green. But our greatest
improvements of all are our intellectual improvements. We have
made wonderful strides in the march of intellect. England is now the
first country in the world for all that relates to science and art. The
cultivation of the understanding has advanced most astonishingly.
“I remember noticing when I was in India,” said Mr Primrose, “that
the number of publications seemed much increased. But many of
them appeared to be merely light reading.”
“Very likely, sir; but we have not merely light reading; we have a
most abundant supply of scientific publications: and these are read
with the utmost avidity by all classes of people, especially by the
lower classes. You have no doubt heard of the formation of the
mechanics’ institutes?”
“I have, sir,” replied Mr Primrose; “but I am not quite aware of the
precise nature of their constitution, or the object at which they aim.
Perhaps you can inform me?”
“That I can, sir,” said Mr Kipperson; “and I shall have great
pleasure in so doing; for to tell you the truth I am a very zealous
promoter of these institutions. The object of these institutions is to
give an opportunity to artisans, who are employed all day in manual
labour, to acquire a scientific knowledge, not only of the art by which
he lives and at which he works, but of everything else which can
possibly be known or become a subject of human inquiry or interest.”
“But surely,” interrupted Mr Primrose, “it is not designed to convert
mechanical into scientific men. That seems to my view rather a
contradiction to the general order of things.”
“I beg your pardon,” replied the other; “you are repeating, I
perceive, exploded objections. Is it possible, do you think, that a man
should do his work worse for understanding something of the
philosophy of it? Is it not far better, where it is practicable, that a man
should act as a rational reflecting creature, than as a piece of mere
machinery?”
“Very true, certainly, sir; you are right. Ay, ay, now I see: you
instruct all artisans in the philosophy of their several employments.
Most excellent. Then, I suppose, you teach architecture and read
lectures on Vitruvius to journey-men bricklayers?”
“Nay, nay, sir,” replied Mr Kipperson, “we do not carry it quite so far
as that.”
“Oh, I beg your pardon,” replied Mr Primrose, “I had not the
slightest idea that this was carrying your system too far. It might,
perhaps, be a little refinement on the scheme to suppose that you
would teach tailors anatomy; but after all I do not see why you
should start at carrying a matter of this kind too far. The poet says, ‘a
little knowledge is a dangerous thing;’ and, for my own part, I can
see no great liberality in this parsimonious and stinted mode of
dealing out knowledge; for unless you teach the lower classes all
that is to be taught, you make, or more properly speaking keep up,
the distinction.”
Mr Kipperson was not best pleased with these remarks; he saw
that his fellow-traveller was one of those narrow-minded aristocratic
people, who are desirous of keeping the mass of the people in gross
ignorance, in order that they may be the more easily governed and
imposed upon. Though in good truth it has been said, that the
ignorant are not so easily governed as the enlightened. The
ingenious and learned Mr Kipperson then replied:
“You may say what you please, sir, in disparagement of the system
of enlightening the public mind; but surely you must allow that it is far
better for a poor industrious mechanic to attend some lecture on a
subject of science or philosophy, than to spend his evenings in
drunkenness and intemperance.”
“Indeed, sir, I have no wish to disparage the system of
enlightening the public mind; and I am quite of your opinion, that it is
much more desirable that a labouring man”——
“Operative, if you please,” said Mr Kipperson; “we have no
labouring men.”
“Well,” pursued Mr Primrose, “operative; the term used to be
labouring or working when I was last in England: I will agree with
you, sir, that it is really better that an operative should study
philosophy, than that he should drink an inordinate quantity of beer.
But do you find, sir, that your system does absolutely and actually
produce such effects?”
“Do we?” exclaimed Mr Kipperson triumphantly: “That we certainly
and clearly do: it is clear to demonstration; for, since the
establishment of mechanics’ institutes, the excise has fallen off very
considerably. And what can that deficiency be owing to, if it be not to
the fact which I have stated, that the operatives find philosophy a far
more agreeable recreation after labour than drinking strong beer?”
“You may be right, sir, and I have no doubt you are; but, as I have
been so long out of England, it is not to be wondered at that my
ideas have not been able to keep pace with the rapid strides which
education has made in England during that time. I am very far from
wishing to throw any objection or obstacle in the way of human
improvement. You call these establishments ‘mechanics’ institutions:’
but pray, sir, do you not allow any but mechanics to enjoy the benefit
of them? Now there is a very numerous class of men, and women
too—for I should think that so enlightened an age would not exclude
women from the acquisition of knowledge;—there is, I say, a very
numerous class of men and women who have much leisure and little
learning—I mean the servants of the nobility and gentry at the west
end of the town. It would be charitable to instruct them also in the
sciences. How pleasant it must be now for the coachman and
footman, who are waiting at the door of a house for their master and
mistress, at or after midnight, instead of sleeping on the carriage, or
swearing and blaspheming as they too frequently do, to have a
knowledge of astronomy, and study the movements of the planets. Is
there no provision made for these poor people?”
“Certainly there is,” said Mr Kipperson. “There are cheap
publications which treat of all the arts and sciences, so that for the
small charge of sixpence, a gentleman’s coachman may, in the
course of a fortnight, become acquainted with all the Newtonian
theory.”
Mr Primrose was delighted and astonished at what Mr Kipperson
told him; he could hardly believe his senses; he began to imagine
that he must himself be the most ignorant and uninformed person in
his majesty’s dominions.
“But tell me, sir,” continued he, “if those persons, whose time and
attention is of necessity so much occupied, are become so well
informed; do others, who have greater leisure, keep pace with them;
or, I should say, do they keep as much in the advance as their
leisure and opportunity allow them? For, according to your account,
the very poorest of the community are better instructed now than
were the gentry when I lived in England.”
“Education, sir,” answered Mr Kipperson, with the tone of an
oracle, “is altogether upon the advance. The science of instruction
has reached a point of perfection, which was never anticipated; nay,
I may say, we are astonished at ourselves. The time is now arrived
when the only ignorant and uninformed persons are those who have
had the misfortune to be educated at our public schools and
universities: for in them there is no improvement. I have myself been
witness of the most shocking and egregious ignorance in those men
who call themselves masters of arts. They know nothing in the world
about agriculture, architecture, botany, ship building, navigation,
ornithology, political economy, icthyology, zoology, or any of the ten
thousand sciences with which all the rest of the world is intimate. I
have actually heard an Oxford student, as he called himself, when
looking over a manufactory at Birmingham, ask such questions as
shewed that he was totally ignorant even of the very first rudiments
of button-making.”
“Astonishing ignorance,” exclaimed Mr Primrose, who was rather
sleepy; “I dare say they make it a rule to teach nothing but ignorance
at the two universities.”
“I believe you are right, sir,” said Mr Kipperson, rubbing his hands
with cold and extacy; “those universities have been a dead weight on
the country for centuries, but their inanity and weakness will be
exposed, and the whole system exploded. There is not a common
boys’ school in the kingdom which does not teach ten times more
useful knowledge than both the universities put together, and all the
public schools into the bargain. Why, sir, if you send a boy to school
now, he does not spend, as he did formerly, ten or twelve years in
learning the Latin grammar, but now he learns Latin and Greek, and
French, German, Spanish, Italian, dancing, drawing, music,
mapping, the use of the globes, chemistry, history, botany,
mechanics, hydrostatics, hydraulics, hydrodynamics, astronomy,
geology, gymnastics, architecture, engineering, ballooning, and
many more useful and indispensable arts and sciences, so that he is
fitted for any station in life, from a prime minister down to a shoe-
black.”
Before this speech was finished, Mr Primrose was fast asleep; but
short is the sleep in a coach that travels by night. The coach stopped
and woke our foreigner from a frightful dream. We do not wish to
terrify our readers, but we must relate the dream in consequence of
its singularity. He dreamed then, that he was in the island of Laputa,
and that having provoked the indignation of some of the learned
professors by expressing a doubt as to the practicability of some of
their schemes, he was sentenced to be buried alive under a pyramid
of encyclopedias. Just as the cruel people were putting the sentence
into execution, he woke and found his coat-collar almost in his
mouth, and heard the word ‘ology’ from the lips of his fellow traveller.
He was very glad to find that matters were no worse.
CHAPTER XV.
Few indeed are the adventures now to be met with in travelling by
a stage coach, and few also, comparatively speaking, the accidents.
But our travellers were destined to meet both with accident and
adventure. The coach, as our observant readers have noticed, must
necessarily have travelled all night. The nights in December are long
and dark; and not unfrequently, during the long cold silence of a
December night, there gently falls upon the dank surface of the earth
a protecting and embellishing fleece of flaky snow. And the morning
snow as yet untrodden has a brilliant and even cheerful look beneath
a blue and brightly frosty sky; and when a wide expanse of country
variegated with venerably-aged trees, and new enclosures and old
open meadow lands, and adorned with here and there a mansion
surrounded with its appurtenances of larch, pine, and poplar, and
divided into unequal but gracefully undulating sections by means of a
quiet stream—when a scene like this bursts upon the morning eye of
a winter traveller, and shows itself set off and adorned with a mantle
of virgin snow, it is indeed a sight well worth looking at. Mr Primrose
had not seen snow for sixteen years, and the very sight of it warmed
his heart; for it was so much like home. It was one of those natural
peculiarities which distinguished the land of his birth from the land of
his exile. He expressed to his fellow traveller the delight which he felt
at the sight. Mr Kipperson coincided with him that the view was fine,
and proposed that, as they were both well clad, and as the scenery
was very magnificent, they should by way of a little variety seat
themselves on the outside of the coach. The proposal was readily
embraced, and they mounted the roof.
The carriage was proceeding at a tolerably rapid pace on high but
level ground; and the travellers enjoyed the brightness of the
morning, and the beauty of the valley which lay on their left hand.
Shortly they arrived at a steep descent which led into the valley
beneath, and there was no slacking of pace or locking of wheels,
which had been customary in going down hill when Mr Primrose was
last in England. He expressed, therefore, his surprise at the
boldness or carelessness of the coachman, and hinted that he was
fearful lest some accident might happen. But Mr Kipperson
immediately dissipated his fears, by telling him that this was the
usual practice now, and that the construction of stage-coaches, and
the art of driving, were so much improved, that it was now
considered a far safer and better plan to proceed in the usual pace
down hill as well as upon level ground. Mr Kipperson, in short, had
just proved to a demonstration that it was impossible that any
accident could happen, when down fell one of the horses, and
presently after down fell coach and all its company together.
Happily no lives were lost by the accident. But if Mr Kipperson’s
neck was not broken by the fall, his heart was almost broken by the
flat contradiction which the prostrate carriage gave to his theory, and
he lay as one bereft of life. Equally still and silent lay Mr Primrose;
for he was under the awkward difficulty of either denying his fellow
traveller’s correctness or doubting the testimony of his own senses.
The catastrophe took place near to a turnpike house; so that those of
the passengers, who had experienced any injury from the
overturning of the coach, could be speedily accommodated with all
needful assistance. All the passengers, however, except Mr
Primrose, were perfectly able, when the coach was put to rights
again, to resume their journey. Mr Primrose, as soon as he
recovered from the first shock of his fall, was very glad to take refuge
in the turnpike house, and he soon became sensible that it would not
be prudent for him then to pursue his journey. He had indeed
received a severe shock from the accident, and though he had no
bones broken he had suffered a violent concussion which might be
doctored into an illness.
As soon as possible medical assistance was procured. The
surgeon examined and interrogated the overturned gentleman with
great diligence and sagacity. From the examination, it appeared not
unlikely that the patient might promise himself the pleasure of a
speedy removal. The truth of the matter was, that the poor
gentleman was more frightened than hurt. Some cases there are,
and this was one of them, in which no time should be lost in sending
for the doctor, seeing that, if the doctor be not sent for immediately,
he may not be wanted at all. This is one of the reasons why
physicians keep carriages, and have their horses always in
readiness; for by using great expedition they frequently manage to
arrive before the patient recovers.
The surgeon who attended Mr Primrose thought proper to take
some blood from his patient, and to supply the place of the same by
as many draughts as could be conveniently taken, or be reasonably
given in the time. It was also recommended that the gentleman
should be put to bed.
The dwellings attached to turnpike gates are seldom so roomy and
so abundantly provided with accommodation as to admit of an
accidental visitor: but in the present case it so happened that there
was an apartment unoccupied and not unfurnished. The
gatekeeper’s wife, who was a notable and motherly kind of woman,
said, that if the gentleman could put up with a very small apartment,
and a coarse but clean bed, he might be accommodated, and he
need not fear that the bed was damp, for it had been occupied for
the last month, and had only been vacated the day before. Mr
Primrose readily accepted the offer, not being very particular as to
appearance.
“I suppose,” said he, “you keep a spare bed for the
accommodation of those who may be overturned in coming down
this hill? Your surgeon, I find, does not live far off. That is a good
contrivance. Pray can you tell me, within a dozen or two, how many
broken bones the stage coach supplies him with in the course of the
year?”
At this speech the good woman laughed, for it was uttered in such
a tone as intimated that the gentleman wished it to be laughed at;
and as he was a respectable looking man, and carried in his aspect
a promise to pay, the worthy wife of the gate-keeper laughed with
right good will.
“Oh dear no, sir,” said she, “there is not an accident happens here
hardly ever. The coachman what overturned you this morning, is one
of the most carefullest men in the world, only he had a new horse as
didn’t know the road.”
“A very great comfort is that,” said Mr Primrose, and he smiled,
and the gate-keeper’s wife smiled, and she thought Mr Primrose a
very funny man, that he should be able to joke when under the
doctor’s hands. There are some people who are very facetious when
they are sick, provided the sickness be not very acute; for it looks
like heroism to laugh amidst pain and trouble.
Mr Primrose then proceeded; “So you will assure me that the
person who occupied your spare bed last, was not an overturned
coach passenger?”
The poor woman did not smile at this observation, but on the
contrary looked very grave, and her eyes seemed to be filling with
tears, when she compressed her lips and shook her head mournfully.
With some effort, after a momentary silence, she said:
“No, sir, it was not any one that was overturned; but it was a coach
passenger. It was a young lady, poor dear soul! that seemed almost
dying of a broken heart. But had not you better go to bed, sir? The
doctor said you wanted rest.”
Mr Primrose was a nervous man, and tales of sorrow inartificially
told frequently depressed him, and excited his sympathy with greater
force than was consistent with poetical enjoyment. He therefore took
the considerate advice which the good woman gave him, and retired
to rest. To a person of such temperament as Mr Primrose, the very
mention of a young lady almost dying of a broken heart was quite
sufficient to set his imagination most painfully at work. Rapidly did
his thoughts run over the various causes of broken hearts. Very
angry did he become with those hardened ones, by whose follies
and vices so many of the gentler sex suffer the acutest pangs of the
spirit. He thought of his own dear and only child, and he almost
wrought himself up to a fever by the imagination that some villanous
coxcomb might have trifled with her affections, and have left her to
the mockery of the world. He then thought of the mother of his
Penelope, and that she had died of a broken heart, and that his
follies had brought her to an untimely grave. Then came there into
his mind thoughts of retributive justice, and there was an
indescribable apprehension in his soul that the sorrows which he had
occasioned to another might fall also to his own lot. He wondered
that there should be in the world so much cruelty, and such a wanton
sporting with each others’ sufferings. The powerful emotions which
had been raised in his mind from the first hour that he embarked for
England, were of a nature so mingled, and in their movements so
rapid, that he hardly knew whether they were pleasurable or painful.
There was so much pleasure in the pain, and so much pain in the
pleasure, that his mind was rendered quite unsteady by a constant
whirl and vortex of emotions. He felt a kind of childish vivacity and
womanly sensibility. His tears and his smiles were equally
involuntary; he had no power over them, and he had scarcely notice
of their approach. Something of this was natural to him; but present
circumstances more strongly and powerfully developed this
characteristic. The accident, from which he had received so sudden
a shock, tended still farther to increase the excitability of his mind.
When therefore he retired for the purpose of gaining a little rest, his
solitude opened a wider door to imagination and recollection; and
thereupon a confused multitude of images of the past, and of fancies
for the future, came rushing in upon him, and his mind was like a
feather in a storm.
The surgeon was very attentive to his patient, for he made a
second visit not above four hours after the first. The people at the
turnpike-house told him that the gentleman had, in pursuance of the
advice given him, retired to take a little rest. The medical man
commended that movement; but being desirous to see how his
patient rested, he opened the door of the apartment very gently, and
Mr Primrose, who was wide awake, and happy to see any one to
whom he could talk, called aloud to the surgeon to walk in.
“I am not asleep, sir; you may come in; I am very glad to see you; I
have felt very much relieved by the bleeding. I think I shall be quite
well enough to proceed to-morrow. Pray, sir, can you inform me how
far it is to Smatterton from this place?”
“About sixty miles,” replied the surgeon.
“Sixty miles!” echoed Mr Primrose; “at what a prodigious rate then
we must have travelled.” Thereupon the patient raised himself up in
the bed, and began, or attempted to begin, a long conversation with
his doctor. “Why, sir, when I was in England last, the coach used to
be nearly twice as long on the road. Is this the usual rate of
travelling?”
The medical man smiled, and said, “The coach by which you
travelled, is by no means a quick one, some coaches on this road
travel much faster.”
“And pray, sir, do these coaches ever arrive safely at their
journey’s end?”
The surgeon smiled again and said, “Oh yes, sir, accidents are
very rare.”
“Then I wish,” replied Mr Primrose; “that they had not indulged me
with so great a rarity just on my arrival in England. I have been in the
East Indies for the last sixteen or seventeen years, and during that
time—”
Few medical men whose business is worth following, have time to
listen to the history of a man’s life and adventures for sixteen or
seventeen years. Hindoostan is certainly a very interesting country,
but there is no country on the face of the earth so interesting as a
man’s own cupboard. The doctor therefore cut off his patient’s
speech, not in the midst, but at the very beginning; saying unto him,
with a smile, for there is much meaning in a smile; “Yes sir, certainly
sir, there is no doubt of it—very true; but, sir, I think it will be better
for you at present to be kept quiet; and if you can get a little sleep it
will be better for you. I think, sir, to-morrow, or the next day, you may
venture to proceed on your journey. I will send you a composing
draught as soon as I return home, and will see you again to-morrow,
early in the morning. But I would not recommend you to travel by the
stage coach.”
“Ay, ay, thank you for that recommendation, and you may take my
word I will follow it.”
The doctor very quickly took his leave, and Mr Primrose thought
him a very unmannerly cub, because he would not stop to talk. “A
composing draught!” thus soliloquized the patient; “a composing
draught! a composing fiddlestick! What does the fellow mean by
keeping me thus in bed and sending me in his villanous compounds.
Why, I think I am almost able to walk to Smatterton. I won’t take his
composing draught; I’ll leave it here for the next coach passenger
that may be overturned at the foot of this hill. I dare to say it will not
spoil with keeping.”
The word “coach-passenger” brought to Mr Primrose’s recollection
the melancholy look and sorrowful tone of the poor woman who
mentioned the young lady who seemed almost dying of a broken
heart. His curiosity was roused, his nerves were agitated. He kept
thinking of his poor Penelope. He recollected with an almost painful
vividness the features and voice of the pretty little innocent he had
left behind him when he quitted England. He recollected and painted
with imagination’s strongest lines and most glowing colours that
distracting and heart-rending scene, when after listening with tearful
silence to the kind admonitions of his brother-in-law, he snatched up
in his arms his dear little laughing Penelope, and he saw again as
pungently as in reality, the little arms that clasped him with an
eagerness of joy, and he recollected how his poor dear child in the
simplicity of her heart mistook the agitations and tremblings of grief
for the frolicsome wantonness of joy, and he saw again that
indescribably exquisite expression with which she first caught sight
of his tears; and then there came over his mind the impression
produced by the artless manner in which the poor thing said, “Good
night, papa, perhaps you won’t cry to-morrow.”
Now he thought of that Penelope as grown up to woman’s estate,
and he felt that he should be proud of his daughter: but oh what
fears and misgivings came upon him, and he kept muttering to
himself the words of the woman who had talked of the young lady
almost dying of a broken heart. It was well for the patient that the
doctor soon fulfilled his word and sent a composing draught. But the
very moment that his attentive nurse gently tapped at the door of his
room, he called out:
“Come in, come in, I am not asleep. Oh, what you have brought
me a composing draught! Nonsense, nonsense, keep it for the next
coach-passenger that is overturned, and give it to him with my
compliments. Well, but I say, good woman, you were telling me
something about a poor young lady who was almost dying with a
broken heart. Who is she? Where is she? What is her name? Where
is she gone to? Where did she come from? Who broke her heart?
Was she married, or was she single? Now tell me all about her.”
“Oh dear, sir, I am sure you had better take this physic what the
doctor has sent you, that will do you more good than a mallancolly
story. Indeed you’d better, sir; shall I pour it out into a cup?”
“Ay, ay, pour it out. But I say, good woman, tell me where did this
poor young lady come from?”
“Lord, sir, I never saw such a curious gentleman in my life. Why,
then if you must know, she came from a long way off, from a village
of the name of Smatterton, a little village where my Lord Smatterton
has a fine castle.”
While the good woman was speaking she kept her eyes fixed
upon the cup into which she was slowly pouring the medicine, and
therefore she did not perceive the effect produced upon the patient
by the mention of Smatterton; for, as soon as he heard the name he
started, turned pale, and was breathless and speechless for a
moment; and then recovering the use of his speech, he exclaimed,
“Smatterton! Smatterton! Good woman, are you in your senses?
What do you mean?”
Now it was very well for Mr Primrose and his composing draught
that the wife of the gate-keeper was not nervous; for had she been
nervous, that sudden and almost ridiculous exclamation, uttered as it
was, in a very high key, and with a very loud voice, would certainly
have upset the cup together with its contents. If ever a composing
draught was necessary, it clearly was so on this occasion. The good
woman however did not let the cup fall, but with the utmost
composure looked at the patient and said:
“Lawk-a-mercy, sir, don’t be in such a taking. I durst to say the
poor cretter wasn’t nobody as you know. She was a kind of a poor
young lady like. There now, sir, pray do take your physic, ’cause
you’ll never get well if you don’t.”
Mr Primrose was still in great agitation, and that more from
imagination than apprehension. His nervous sensibility had been
excited, and everything that at all touched his feelings did most
deeply move him. He therefore answered the poor woman in a
hurried manner:
“Come, come, good woman, I will swallow the medicine, if you will
have the goodness to tell me all you know about this poor young
lady.”
Now, as it was very little that the good woman did know, she
thought it might be for the patient’s advantage if he would take the
medicine even upon those terms. For she had so much respect for
the skill of the doctor, that it was her firm opinion that the draught
would have more power in composing, than her slender narrative in
disturbing, the gentleman’s mind. She very calmly then handed the
cup and said: “Well, sir, then if you will but take the physic, I will tell
you all I know about the matter.”
Mr Primrose complied with the condition, and took the medicine
with so much eagerness, that he seemed as if he were about to
swallow cup and all.
“There, sir,” said the good woman, mightily pleased at her own
management; “now I hope you will soon get better.”
“Well, now I have taken my medicine; so tell me all you know
about this young lady.”
“Why, sir, ’tisn’t much as I know: only, about two months ago, that
coach what you came by was going up to town, and it stopped, as it
always does, at our gate, and the coachman says to my husband,
says he, ‘Here’s a poor young lady in the coach so ill that she cannot
travel any farther; can you take her in for a day or two?’ And so I
went and handed the poor thing out of the coach, and I put her to
bed; and sure enough, poor thing, she was very ill. Then, sir, I sent
for the doctor; but, dear me, he could do her no good: and so then I
used to go and talk to the poor cretter, and all she would say to me
was, ‘Pray, let me die.’ But in a few days she grew a little better, and
began to talk about continuing her journey, and I found out, sir, that
the poor dear lady was broken-hearted.”
Here the narrator paused. But hitherto no definite information had
been conveyed to Mr Primrose, and he almost repented that he had
taken the trouble to swallow the medicine for such a meagre
narrative.
“And is that all you know, good woman? Did not you learn her
name?”
“Yes,” replied the informant: “her name was Fitzpatrick: and after
she was gone, I asked the coachman who brought her, and he told
me that that wicked young nobleman, Lord Spoonbill, had taken the
poor thing away from her friends, and had promised to make a fine
lady of her, but afterwards deserted her and sent her about her
business. And all because my lord was mighty sweet upon another
young lady what lives at Smatterton.”
Now came the truth into Mr Primrose’s mind, and he readily knew
that this other young lady was his Penelope. This corroborated the
letter which Mr Darnley had written to him on the decease of Dr
Greendale. Happy was it for the father of Penelope that he had no
suspicion of unworthy intentions towards his daughter on the part of
Lord Spoonbill; and well was it for the traveller that he had
swallowed the composing draught. He received the information with
tolerable calmness, and thanking the poor woman for indulging his
curiosity, he very quietly dismissed her. And as soon as she was
gone he muttered to himself:
“My child shall never marry a villain, though he may be a
nobleman.”
CHAPTER XVI.
Whether it was that the medicine which Mr Primrose had taken
possessed extraordinary composing powers, or whether his mind
had been quieted by its own outrageous agitations, we cannot say;
but to whatever cause it might be owing, it is a fact that, on the
following morning he was much more composed, and the medical
attendant pronounced that he might without any danger proceed on
his journey.
He was not slow in availing himself of this permission, and he also
followed the suggestion of his medical attendant in not travelling by
the stage-coach. After astonishing the gate-keeper and his wife, and
also the doctor, by his liberality for their attention to him, he started in
a post-chaise for Smatterton. No accident or interruption impeded his
progress, and at a late hour he arrived at Neverden, intending to pay
his first visit to Mr Darnley, and designing through him to
communicate to Penelope the knowledge of his arrival, and prepare
her for the meeting.
It was necessary for Mr Primrose to introduce himself to Mr
Darnley. The stately rector of Neverden was in his study. He was not
much of a reading man, he never had been; but still it was necessary
that he should keep up appearances, and therefore he occasionally
shut himself up in that room which he called his study; and there he
would read for an hour or two some papers of the Spectator, or some
old numbers of the Gentleman’s Magazine, or Blackstone’s
Commentaries, or any other book of equal reputation for sound
principles. There is a great advantage in reading those books that
everybody talks about and nobody reads. It was also very proper
that, if any of the parishioners called on the rector, it might be
necessary to send for him “out of the study.” Sometimes also Mr
Darnley gave audiences in his study, and then the unlearned
agriculturists thought him a most wonderful man to have so many
books, and so many large books too; some of them looking as big as

You might also like