Sign in
|
Register
|
Mobile
Home
Browse
About us
Help/FAQ
Advanced search
Home
>
Browse
>
Software Engineering Best Practices
CITATION
Jones, Capers
.
Software Engineering Best Practices
.
US
: McGraw-Hill Osborne Media, 2009.
Add to Favorites
Email to a Friend
Download Citation
Software Engineering Best Practices
Authors:
Capers Jones
Published:
October 2009
eISBN:
9780071621625 0071621628
|
ISBN:
9780071621618
Open eBook
Book Description
Table of Contents
Contents
Foreword
Acknowledgments
Introduction
Chapter 1. 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
Chapter 2. Overview of 50 Software Best Practices
1. Best Practices for Minimizing Harm from Layoffs and Downsizing
2. Best Practices for Motivation and Morale of Technical Staff
3. Best Practices for Motivation and Morale of Managers and Executives
4. Best Practices for Selection and Hiring of Software Personnel
5. Best Practices for Appraisals and Career Planning for Software Personnel
6. Best Practices for Early Sizing and Scope Control of Software Applications
7. Best Practices for Outsourcing Software Applications
8. Best Practices for Using Contractors and Management Consultants
9. Best Practices for Selecting Software Methods, Tools, and Practices
10. Best Practices for Certifying Methods, Tools, and Practices
11. Best Practices for Requirements of Software Applications
12. Best Practices for User Involvement in Software Projects
13. Best Practices for Executive Management Support of Software Applications
14. Best Practices for Software Architecture and Design
15. Best Practices for Software Project Planning
16. Best Practices for Software Project Cost Estimating
17. Best Practices for Software Project Risk Analysis
18. Best Practices for Software Project Value Analysis
19. Best Practices for Canceling or Turning Around Troubled Projects
20. Best Practices for Software Project Organization Structures
21. Best Practices for Training Managers of Software Projects
22. Best Practices for Training Software Technical Personnel
23. Best Practices for Use of Software Specialists
24. Best Practices for Certifying Software Engineers, Specialists, and Managers
25. Best Practices for Communication During Software Projects
26. Best Practices for Software Reusability
27. Best Practices for Certification of Reusable Materials
28. Best Practices for Programming or Coding
29. Best Practices for Software Project Governance
30. Best Practices for Software Project Measurements and Metrics
31. Best Practices for Software Benchmarks and Baselines
32. Best Practices for Software Project Milestone and Cost Tracking
33. Best Practices for Software Change Control Before Release
34. Best Practices for Configuration Control
35. Best Practices for Software Quality Assurance (SQA)
36. Best Practices for Inspections and Static Analysis
37. Best Practices for Testing and Test Library Control
38. Best Practices for Software Security Analysis and Control
39. Best Practices for Software Performance Analysis
40. Best Practices for International Software Standards
41. Best Practices for Protecting Intellectual Property in Software
42. Best Practices for Protecting Against Viruses, Spyware, and Hacking
43. Best Practices for Software Deployment and Customization
44. Best Practices for Training Clients or Users of Software Applications
45. Best Practices for Customer Support of Software Applications
46. Best Practices for Software Warranties and Recalls
47. Best Practices for Software Change Management After Release
48. Best Practices for Software Maintenance and Enhancement
49. Best Practices for Updates and Releases of Software Applications
50. Best Practices for Terminating or Withdrawing Legacy Applications
Summary and Conclusions
Readings and References
Chapter 3. 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
Chapter 4. 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
Chapter 5. Software Team Organization and Specialization
Introduction
Quantifying Organizational Results
The Separate Worlds of Information Technology and Systems Software
Colocation 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
Chapter 6. Project Management and Software Engineering
Introduction
Software Sizing
Software Progress and Problem Tracking
Software Benchmarking
Summary and Conclusions
Readings and References
Chapter 7. 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
Chapter 8. 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
Chapter 9. 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