Software Development Patterns and Antipatterns


Software Development Patterns and Antipatterns 1st Edition
by: Capers Jones
Publisher finelybook 出版社: Auerbach Publications; 1st edition (August 27,2021)
Language 语言: English
Print Length 页数: 512 pages
ISBN-10: 1032017228
ISBN-13: 9781032017228


Book Description
By finelybook

Software development has been a troubling since it first started. There are seven chronic problems that have plagued it from the beginning:
Incomplete and ambiguous user requirements that grow by: >2% per month.
Major cost and schedule overruns for large applications > 35% higher than planned.
Low defect removal efficiency (DRE) < 85% on large systems. Cancelled projects that are not completed: > 30% above 10,000 function points.
Poor quality and low reliability after the software is delivered: > 5 bugs per FP.
Breach of contract litigation against software outsource vendors.
Expensive maintenance and enhancement costs after delivery.
These are endemic problems for software executives,software engineers and software customers but they are not insurmountable. In Software Development Patterns and Antipatterns,software engineering and metrics pioneer Capers Jones presents technical solutions for all seven. The solutions involve moving from harmful patterns of software development to effective patterns of software development.
The first section of the book examines common software development problems that have been observed in many companies and government agencies. The data on the problems comes from consulting studies,breach of contract lawsuits,and the literature on major software failures. This section considers the factors involved with cost overruns,schedule delays,canceled projects,poor quality,and expensive maintenance after deployment.
The second section shows patterns that lead to software success. The data comes from actual companies. The section’s first chapter on Corporate Software Risk Reduction in a Fortune 500 company was based on a major telecom company whose CEO was troubled by: repeated software failures. The other chapters in this section deal with methods of achieving excellence,as well as measures that can prove excellence to C-level executives,and with continuing excellence through the maintenance cycle as well as for software development.
Table of contents:
Cover
Half Title
Title Page
Copyright Page

Table of Contents
Appreciation and Acknowledgments
Preface
Biography
Part 1: Worst-Case Patterns of Software Development
Chapter 1: Challenges of Software Project Management
Improving Software Project Management Tools and Training
Initial Education for New Project Managers
Continuing Education for Software Project Managers
Guest Lectures from Visiting Experts (Remotely via Zoom or Other Tools)
Acquisition and Use of Software Parametric Estimation Tools
Acquisition and Use of Progress and Milestone Tracking Tools
The Use of Formal Project Offices (PMOs) for Applications >1,000 Function Points
Use and Measurement of Effective Quality Control Methods
Elimination of Bad Metrics and Adoption of Effective Software Metrics
Primary Software Metrics for High Precision
Supplemental Software Metrics for High Precision
Commissioning Annual Software Benchmark Studies
Formal Best Practice Analysis of Software Tools,Methods,and Quality
Summary and Conclusions on Software Project Management
Suggested Readings on Software Project Management
Suggested Web Sites
Chapter 2: Wastage: Lost Time and Money Due to Poor Software Quality
Introduction
Analyzing the Work Patterns of Software Engineers and Programmers
Reuse of Certified Materials for Software Projects
Achieving Excellence in Software Quality Control
Excellent Quality Control
Average Quality Control
Poor Quality Control
Summary and Conclusions
Chapter 3: Root Causes of Poor Software Quality
Introduction
Software Quality Education Curricula
References and Readings in Software Quality Control
Chapter 4: Defenses Against Breach of Contract Litigation
Introduction
Problem 1: Estimating Errors and Estimate Rejection
Problem 2: Missing Defensible Objective Benchmarks
Problem 3: Rapidly Changing Requirements
Problem 4: Poor Quality Control
Problem 5: Poor Software Milestone Tracking
Problem 6: Flawed Outsource Agreements that Omit Key Topics
Summary and Observations Based on Breach of Contract Litigation
Suggested Readings
Web Sites
Suggested Web Sites
Chapter 5: The Mess of Software Metrics
Introduction
Defining Software Productivity
Defining Software Quality
Patterns of Successful Software Measurements and Metrics
Successful Software Measurement and Metric Patterns
Function Points for Normalizing Productivity Data
Function Points for Normalizing Software Quality
Defect Potentials Based on all Defect Types
Defect Removal Efficiency (DRE) Based on All Defect Types
Defect Removal Efficiency Including Inspections and Static Analysis
Defect Removal Efficiency Based on 90 Days after Release
Activity-Based
Benchmarks for Development
Needs for Future Metrics
Summary and Conclusions
Why Cost per Defect Penalizes Quality
Case A: Poor Quality
Case B: Good Quality
Case C: Zero Defects
Using Function Point Metrics for Defect Removal Economics
The Value of Quality for Large Applications of 10,000 Function Points
Appendix B: Side-by-SideComparisons of 79Languages using LOC and Function Points
References and Readings
Books and monographs by Capers Jones
Monographs by Capers Jones 2012–2020 available from Namcook Analytics LLC
Books by Other Authors
Software Benchmark Providers (listed in alphabetic order)
Chapter 6: Variations in Software Costs and Quality by Application Size
Introduction
Summary and Conclusions
References and Readings
Chapter 7: Advancing Software from a Craft to a Profession
Introduction
What Are the Indicators of a Profession?
Why Software Engineering in Not Yet a Profession
Topic 1: Reduce the Many Software Failures
Topic 2: Reduce Cost and Schedule Overruns
Topic 3: Improve Software Quality after Deployment
Topic 4: Improve Today’s Low Software Development Productivity and Long Schedules
Topic 5: Improve Poor Software Securityand Reduce Cyber-Attacks
Topic 6: Stop Using Inaccurate and Invalid Metrics That Distort Reality
Topic 7: Adopt Accurate Metrics and Effective Measurement Practices
Topic 8: Improve Inaccurate and Optimistic Estimates before Starting Projects
Topic 9: Eliminate Inaccurate Status Tracking
Topic 10: Reduce High Maintenance Costs after Deployment
Topic 11: Reduce or Eliminate Litigation from Unhappy Clients
Topic 12: Improve Undergraduate and Graduate Software Education
Topic 13: Improve Post-Graduateand On-the-JobSoftware Education
Topic 14: Introduce Software Licensing and Board Certification
Topic 15: Move from Custom and Manual Development to Standard Reusable Components
Topic 16: Develop Effective Methods for Working at Home Due To Corona Virus
Summary and Conclusions on Software Professionalism
References and Readings on Software and Selected Texts on Medical Practice
Part 2: Best-Case Patterns of Software Development
Chapter 8: Corporate Software Risk Reduction in a Fortune 500 Company
Introduction
A National Talent Search
Fact Finding and Software Assessments
Software Applications in Use
The Initial Report to the Chairman
Corporate Software Risk Factors Found by the Initial Assessment
The Corporate Risk Reduction Strategy: Fix Quality First
Four-Year Software Risk Reduction Targets
Creating a Software Engineering Laboratory
Education
Applied Technology
Advanced Technology
Measurements
Communications
Administration
Results of the Corporate Risk Reduction Program
Cost Justifying a Corporate Risk Reduction Program
Cost Recovery on the Development Side
Cost Recovery on the Maintenance Side
Asset Value of a Library of Reusable Artifacts
Adding Value through Shorter Development Schedules
Adding Value through Higher Revenues
Adding Value from Disaster Avoidance
Adding Value from Reduced Litigation Risk
Adding Value from Improved Staff and Management Morale
Adding Value from Recruiting and Keeping Top-Ranked Personnel
Adding Value from Customer Loyalty
Overall Value from Effective Process Improvements
Summary and Conclusions
Appendix A: Master List of 210 CorporateSoftware Risks
References and Readings
Chapter 9: Achieving Software Excellence
Introduction
Software Sizing,Estimating,and Project Tracking Differences
Software Quality Differences for Best,Average,and Poor Projects
Excellent Quality Control
Average Quality Control
Poor Quality Control
Reuse of Certified Materials for Software Projects
Reusable Software Artifacts Circa 2019
Software Methodologies
Quantifying Software Excellence
The Metaphor of Technical Debt
Stages in Achieving Software Excellence
Stage 1: Quantify Your Current Software Results
Stage 2: Begin to Adopt State of the Art Quality Tools and Methods
Formal Sizing,Estimating,and Tracking
Defect Prevention
Pre-test Defect Removal
Test Defect Removal
Stage 3: Continuous Improvements Forever
Going Beyond Stage 3 into Formal Reuse Programs
Summary and Conclusions
References and Readings
Chapter 10: Early Sizing and Estimating of Software Projects
Introduction
1950 to 1959
1960 to 1969
1970 to 1979
1980 to 1989
1990 to 1999
2000 to 2010
The State of the Art of Sizing and Estimating from 2010 to 2020
Hazards of Older Metrics
Metrics Used with Function Point Analysis
Assignment Scope
Cost per Function Point
Defect Potentials
Defect Removal Efficiency (DRE)
Function Points per Month
Production Rate
Requirements Creep
Work Hours per Function Point
Application Sizing Using Pattern Matching
Early Risk Analysis
Lifetime Sizing with Software Risk Master™
Economic Modeling with Software Risk Master
The Future of Sizing and Estimating Software with Function Points
Summary and Conclusions
References and Readings
Additional Literature
Chapter 11: Optimizing Software Defect Removal Efficiency (DRE)
Introduction
Summary and Conclusions
Introduction
Project Management Tools
Software Engineering Tools
Software Maintenance Engineering Tools
Software Quality Assurance Tools
Software Testing and Static Analysis Tools
Software Documentation Tools
Commercial Tools
Performance of Lagging,Average,and Leading Projects
Average Software Projects
Leading Software Projects
Lagging Software Projects
A Taxonomy of Software Tool Classes
Project Management Tools
Software Engineering Tools
Software Maintenance Engineering Tools
Software Quality Assurance Tools
Software Testing and Static Analysis Tools
Software Documentation Tools
References and Readings
Chapter 12: Tool Usage on Best-Case,Average,and Worst-Case Projects
Project Management Tools on Lagging and Leading Projects
Software Engineering Tools on Lagging and Leading Projects
Software Maintenance Engineering Tools on Lagging and Leading Projects
Software Quality Assurance Tools on Lagging and Leading Projects
Software Testing Tools on Lagging and Leading Projects
Software Documentation Tools on Lagging and Leading Projects
Overall Tool Differences between Laggards and Leaders
Summary and Conclusions
References and Readings
Chapter 13: Geriatric Care for Aging Software
Introduction
What Is Software Maintenance?
Geriatric Problems of Aging Software
Metrics Problems with Small Maintenance Projects
Metrics Problems with ERP Maintenance
Best and Worst Practices in Software Maintenance
Methodologies That Are Maintenance-Strong and Maintenance-Weak
Customer Support: A Major Maintenance Weakness
Software Entropy and Total Cost of Ownership
Summary and Conclusions
References and Books by Capers Jones That Discuss Software Maintenance
Books by Additional Authors
Readings on Software Maintenance
Chapter 14: Function Points as a Universal Metric
Introduction
The Strengths of Function Point Metrics
The Weaknesses of Function Point Metrics
A New Method for High-SpeedFunction Point Analysis
A Short Summary of Pattern Matching
Increasing Executive Awareness of Function Points for Economic Studies
Topic 1: Sizing Application Growth during Development and After Release
Topic 2: Predicting Application Size in Multiple Metrics
Topic 3: Sizing All Known Types of Software Application
Topic 4: Function Points for Early Analysis of Software Risks
Topic 5: Function Points for Activity-BasedSizing and Cost Estimating
Topic 6: Function Points and Methodology Analysis
Topic 7: Function Points for Evaluating the Capability Maturity Model (CMMI ®)
Topic 8: Function Points for Software Quality Analysis
Topic 9: Function Points and Software Maintenance,Enhancements,and Total Cost of Ownership (TCO)
Topic 10: Function Points and Forensic Analysis of Canceled Projects
Topic 11: Portfolio Analysis with Function Point Metrics
Topic 12: Industry Studies Using Function Point Metrics
Topic 13: Global Studies Using Function Point Analysis
Topic 14: Function Points versus Lines of Code (LOC) for Software Economic Analysis
Topic 15: Function Points and Software Usage and Consumption
Patterns of Tools Noted on Successful Software Projects
Patterns of Tools Noted on Unsuccessful Projects
Topic 16: Function Points and Software Outsource Contracts
Suggested Format for Monthly Status Reports for Software Projects
Topic 17: Function Points and Venture Funding of Software Startups
Topic 18: Function Points for Analysis of Software Occupation Groups
Topic 19: Data Used by Fortune 500 C-LevelExecutives
Topic 20: Combining Function Points with Other Metrics
Function Points and Defect Removal Efficiency (DRE)
Function Points and Natural Metrics such as “Document Pages”
Function Points and Goal Question Metrics (GQM)
Function Points and Earned Value Analysis (EVA)
Function Points,Story Points,and Velocity on Agile Projects
Function Points and Return on Investment (ROI)
Case 1: Software Improves Operational Performance
Case 2: Software Generates Direct and Indirect Revenues Streams
Summary and Conclusions
References and Readings
Additional Literature
Index
Software Development Patterns and Antipatterns 9781032017228.pdf

相关文件下载地址

下载地址 Download解决验证以访问链接!
打赏
未经允许不得转载:finelybook » Software Development Patterns and Antipatterns

评论 抢沙发

觉得文章有用就打赏一下

您的打赏,我们将继续给力更多优质内容

支付宝扫一扫

微信扫一扫