Skip to content

Software Engineering Best Practices Lessons from Successful Projects in the Top Companies

Best in textbook rentals since 2012!

ISBN-10: 007162161X

ISBN-13: 9780071621618

Edition: 2010

Authors: Capers Jones

List price: $124.95
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Customers also bought

Book details

List price: $124.95
Copyright year: 2010
Publisher: McGraw-Hill Education
Publication date: 10/29/2009
Binding: Hardcover
Pages: 688
Size: 6.40" wide x 9.30" long x 1.61" tall
Weight: 0.330
Language: English

Foreword
Acknowledgments
Introduction
Introduction and Definitions of Software Best Practices
What Are "Best Practices" and How Can They Be Evaluated?
Multiple Paths for Software Development, Deployment, and Maintenance
Paths for Software Deployment
Paths for Maintenance and Enhancements
Quantifying Software Development, Deployment, and Maintenance
Critical Topics in Software Engineering
Overall Ranking of Methods, Practices, and Sociological Factors
Summary and Conclusions
Readings and References
Overview of 50 Software Best Practices
Best Practices for Minimizing Harm from Layoffs and Downsizing
Best Practices for Motivation and Morale of Technical Staff
Best Practices for Selection and Hiring of Software Personnel
Best Practices for Appraisals and Career Planning for Software Personnel
Best Practices for Early Sizing and Scope Control of Software Applications
Best Practices for Outsourcing Software Applications
Best Practices for Using Contractors and Management Consultants
Best Practices for Selecting Software Methods, Tools, and Practices
Best Practices for Certifying Methods, Tools, and Practices
Best Practices for Requirements of Software Applications
Best Practices for User Involvement in Software Projects
Best Practices for Executive Management Support of Software Applications
Best Practices for Software Architecture and Design
Best Practices for Software Project Planning
Best Practices for Software Project Cost Estimating
Best Practices for Software Project Risk Analysis
Best Practices for Software Project Value Analysis
Best Practices for Canceling or Turning Around Troubled Projects
Best Practices for Software Project Organization Structures
Best Practices for Training Managers of Software Projects
Best Practices for Training Software Technical Personnel
Best Practices for Use of Software Specialists
Best Practices for Certifying Software Engineers, Specialists, and Managers
Best Practices for Communication During Software Projects
Best Practices for Software Reusability
Best Practices for Certification of Reusable Materials
Best Practices for Programming or Coding
Best Practices for Software Project Governance
Best Practices for Software Project Measurements and Metrics
Best Practices for Software Benchmarks and Baselines
Best Practices for Software Project Milestone and Cost Tracking
Best Practices for Software Change Control Before Release
Best Practices for Configuration Control
Best Practices for Software Quality Assurance (SQA)
Best Practices for Inspections and Static Analysis
Best Practices for Testing and Test Library Control
Best Practices for Software Security Analysis and Control
Best Practices for Software Performance Analysis
Best Practices for International Software Standards
Best Practices for Protecting Intellectual Property in Software
Best Practices for Protecting Against Viruses, Spyware, and Hacking
Best Practices for Software Deployment and Customization
Best Practices for Training Clients or Users of Software Applications
Best Practices for Customer Support of Software Applications
Best Practices for Software Warranties and Recalls
Best Practices for Software Change Management After Release
Best Practices for Software Maintenance and Enhancement
Best Practices for Updates and Releases of Software Applications
Best Practices for Terminating or Withdrawing Legacy Applications
Summary and Conclusions
Readings and References
A Preview of Software Development and Maintenance in 2049
Introduction
Requirements Analysis Circa 2049
Design Circa 2049
Software Development Circa 2049
User Documentation Circa 2049
Customer Support In 2049
Deployment and Customer Training in 2049
Maintenance and Enhancement in 2049
Software Outsourcing in 2049
Software Package Evaluation and Acquisition in 2049
Technology Selection and Technology Transfer in 2049
Enterprise Architecture and Portfolio Analysis in 2049
A Preview of Software Learning in 2049
Due Diligence in 2049
Certification and Licensing In 2049
Software Litigation in 2049
Summary and Conclusions
Readings and References
How Software Personnel Learn New Skills
Introduction
The Evolution of Software Learning Channels
What Topics Do Software Engineers Need to Learn Circa 2009?
Software Engineering Specialists Circa 2009
Varieties of Software Specialization Circa 2009
Approximate Ratios of Specialists to General Software Personnel
Evaluating Software Learning Channels Used by Software Engineers
Software Areas Where Additional Education Is Needed
New Directions in Software Learning
Summary and Conclusions
Curricula of Software Management and Technical Topics
Readings and References
Software Team Organization and Specialization
Introduction
Quantifying Organizational Results
The Separate Worlds of Information Technology and Systems Software
Cotocatfon vs. Distributed Development
The Challenge of Organizing Software Specialists
Software Organization Structures from Small to Large
One-Person Software Projects
Pair programming for software development and maintenance
Self-Organizing Agile Teams
Team Software Process (TSP) Teams
Conventional Departments with Hierarchical Organization Structures
Conventional Departments with Matrix Organization Structures
Specialist Organizations in Large Companies
Software Maintenance Organizations
Customer Support Organizations
Software Test Organizations
Software Quality Assurance (SQA) Organizations
Summary and Conclusions
Readings and References
Project Management and Software Engineering
Introduction
Software Sizing
Software Progress and Problem Tracking
Software Benchmarking
Summary and Conclusions
Readings and References
Requirements, Business Analysis, Architecture, Enterprise Architecture, and Design
Introduction
Software Requirements
Statistical Analysis of Software Requirements
Business Analysis
Software Architecture
Enterprise Architecture
Software Design
Summary and Conclusions
Readings and References
Programming and Code Development
Introduction
A Short History of Programming and Language Development
Why Do We Have More than 2500 Programming Languages?
Exploring the Popularity of Programming Languages
How Many Programming Languages Are Really Needed?
Creating a National Programming Language Translation Center
Why Do Most Applications Use Between 2 and 15 Programming Languages
How Many Programmers Use Various Programming Languages?
What Kinds of Bugs or Defects Occur in Source Code?
Logistics of Software Code Defects
Preventing and Removing Defects from Application Source Code
Forms of Programming Defect Prevention
Forms of Programming Defect Removal
Economic Problems of the "Lines of Code" Metric
Summary and Conclusions
Readings and References
Software Quality: The Key to Successful Software Engineering
Introduction
Defining Software Quality
Measuring Software Quality
Defect Prevention
Software Defect Removal
Software Quality Specialists
Summary and Conclusions on Software Specialization
The Economic Value of Software Quality
Summary and Conclusions
Readings and References
Index