Description
Efnisyfirlit
- Cover Page
- Half Title page
- Title Page
- Copyright Page
- Dedication
- Contents
- Overview
- Organization of this text
- Note
- Chapter 1 Introduction to Software Project Management
- 1.1 Chapter Overview
- 1.2 Making the Transition from Software Engineer to Software Project Manager
- 1.3 A Change in Perception
- 1.4 Management Styles That Work
- 1.5 Why Training in Software Project Management Is Important
- 1.6 Why Teams Don’t Learn
- 1.7 Is Training Needed?
- 1.8 Developing Software Is a “Wicked Problem”
- 1.9 Software Project Management as a Process – From Concept to Testing and Release
- 1.10 The Nature of Software Engineers
- 1.11 The Experience at Google™
- 1.12 The Primary Functions of Software Project Management
- 1.12.1 Planning
- 1.12.2 Scheduling (and Costing)
- 1.12.3 Controlling
- 1.12.4 Staffing
- 1.12.5 Motivating
- 1.13 Summary
- 1.14 Additional Resources
- Chapter 1 Review Questions
- References
- Chapter 2 Planning Software Projects
- 2.1 Chapter Overview
- 2.2 The Nature of Planning
- 2.3 Blaming and Software Development Life Cycles
- 2.4 A Typical Software Development Life Cycle
- 2.5 The Planning Fallacy
- 2.6 Estimating Tools and Methods
- 2.7 Some Alternative Software Development Life Cycles
- 2.7.1 The “Waterfall” Life Cycle
- 2.7.2 The Agile Life Cycle
- 2.7.3 The Spiral Life Cycle
- 2.7.4 The Synchronization and Stabilization Model
- 2.7.5 The Stage-Gate Life Cycle
- 2.8 Life Cycles – Summary
- 2.9 Strategies for Controlling Project Flow Time
- 2.9.1 The Design Structure Matrix
- 2.9.2 DSM Summary
- 2.10 The Work Breakdown Structure
- 2.11 A Natural Communication Gap – Between Project Manager and Software Engineer
- 2.12 Developing a Communication Plan
- 2.13 Communication Plan Basics
- 2.14 Example of a Communication Plan
- Chapter 2 Review Questions
- References
- Chapter 3 Estimating Cost and Schedule of Software Projects
- 3.1 Chapter Overview
- 3.2 Scheduling versus Planning
- 3.3 The Basics of Costing
- 3.4 The Business Case
- 3.5 Computing Project Costs
- 3.6 Cost Estimating Methods
- 3.7 IBM Federal Systems Estimating Method
- 3.8 Function Points
- 3.9 Business Case Example
- 3.10 Success and Differences in Value Systems
- 3.11 Cost Categories
- 3.11.1 Direct Costs
- 3.11.2 Indirect Costs
- 3.11.3 How to Compute Overhead
- 3.11.4 How to Compute General and Administrative Expense
- 3.11.5 The Chart of Accounts
- 3.11.6 Example of a Simple Chart of Accounts Listing OH & G&A
- 3.11.7 Explanation of Items on the Chart of Accounts
- 3.11.8 Computing the Project’s Estimated Total Cost
- 3.11.9 Project Cost Computation Example
- 3.11.10 Total Cost Computation
- 3.11.11 Risk Reduction via Bias Removal
- 3.11.12 Estimating the Cost of Change(s) during the Project
- 3.12 Outsourcing
- 3.13 Summary
- Chapter 3 Review Questions
- References
- Chapter 4 Controlling
- 4.1 Chapter Overview
- 4.2 Background of Earned Value Management (EVM)
- 4.3 Using EVM
- 4.4 What Is Needed to Use EVM
- 4.5 Cost-Related EVM Variables
- 4.5.1 ACWP – Actual Cost of Work Performed
- 4.5.2 BAC – Budget at Completion
- 4.5.3 BCWP – Budgeted Cost of Work Performed
- 4.5.4 BCWS – Budgeted Cost of Work Scheduled
- 4.5.5 CPI – Cost Performance Index
- 4.5.6 CV – Cost Variance
- 4.5.7 EAC – Estimate at Completion
- 4.5.8 ETC – Estimate to Complete
- 4.6 Schedule Performance factors
- 4.6.1 SPI – Schedule Performance Index
- 4.6.2 SV – Schedule Variance
- 4.6.3 TSPI – To Complete Schedule Performance Index
- 4.7 Work and Content-Related Parameters
- 4.7.1 TCPIB – To Complete Performance Index within Budget
- 4.7.2 TCPIP – Another, a Work to Money Ratio
- 4.8 An Example of the Application of Earned Value Management
- Chapter 4 Review Questions
- References
- Chapter 5 Staffing
- 5.1 Chapter Overview
- 5.2 Acquiring and Developing the Software Development Team
- 5.3 Software Engineering Is a People Activity
- 5.4 What Does a Successful Software Project Team Look Like?
- 5.5 Psychological Compatibility
- 5.6 Teams Need Compatibility
- 5.7 An Advisory about the Compatibility Index
- 5.8 Software Engineer Task Preferences and the MBTI
- Chapter 5 Review Questions
- References
- Chapter 6 Motivating
- 6.1 Chapter Overview
- 6.2 The Problem
- 6.3 What Motivates Software Engineers
- 6.4 What Demotivates Software Engineers
- 6.5 Motivating Test and Maintenance Teams – Their Jobs Are (Almost) Thankless
- 6.6 The Role of Antipatterns
- 6.7 Peters’ Paradox
- 6.8 The Nature of Work
- 6.9 Keeping Successful Teams Together for Higher Productivity
- 6.10 Generational Differences
- 6.11 Generational Issues – Summary
- 6.12 Cultural and Language Differences
- 6.13 Managing Teams Composed of Different Cultures
- 6.14 Effects of the Work Environment on Productivity
- 6.15 Outsourcing
- 6.16 Picking a Team Just Like You
- Chapter 6 Review Questions
- References
- Chapter 7 Project Closeout
- 7.1 Chapter Overview
- 7.2 Project Closeout Review and Learning
- 7.3 The Advantage of Keeping Extemporaneous Notes
- 7.4 Identifying/Archiving Lessons Learned
- 7.5 Sample List of Variables to Record for a Project Closeout Document
- 7.6 Reviewing the Pre-Project Checklist
- References
- Additional Software Project Management Resources
- Appendix 1: A Word from Our Sponsor – The Brain
- A.1.1 Actions Which Can Help Our Cause
- A.1.2 The Return on Investment in Trust
- References
- Appendix 2: Basics of Negotiation
- Appendix 3: Brainstorming
- References
- Appendix 4: Characteristics of Successful High-Technology Teams
- A.4.1 What the Data Indicate
- A.4.2 Psychological Compatibility
- A.4.3 Keep Successful Teams Together for Higher Productivity
- References
- Appendix 5: Computing the Cost of a Change
- References
- Appendix 6: Developing a Business Case
- A.6.1 The Basics
- A.6.2 Business Case Defined
- A.6.3 Business Case Example
- References
- Appendix 7: Developing the Project Closeout Plan
- A.7.1 What Do We Want to Capture at Project Closeout?
- Appendix 8: The Effect of Cultural Differences (on Software Development Teams)
- A.8.1 Culture
- References
- Appendix 9: Emotional Intelligence
- A.9.1 Models of Emotional Intelligence
- References
- Appendix 10 Environmental Factors Affecting Productivity
- References
- Appendix 11 How Software Project Managers Are Evaluated
- A.11.1 Evaluation Perspectives
- A.11.2 The Senior Manager Perspective
- A.11.3 The Client Perspective
- A.11.4 The Software Engineer Perspective
- A.11.5 Evaluation as a Learning Mechanism
- A.11.6 Software Project Manager’s Perspective
- A.11.7 Proficiency Levels in Software Project Management
- References
- Appendix 12 How to Run Effective Meetings
- References
- Appendix 13 Ishikawa (Fishbone) Diagrams
- References
- Appendix 14 Knowing When It Is Time to Cancel a Project
- References
- Appendix 15 Lying and Software Projects
- A15.1 The Study
- References
- Appendix 16 Managing Multiple Generations
- A.16.1 How Many Generational Groups Are There?
- A16.2 Generational Characteristics
- Reference
- Appendix 17 Outsourcing (Offshoring)
- References
- Appendix 18 PERT [Program Evaluation Review Technique]
- References
- Appendix 19 Planning using Integrated Cost and Schedule Work Packages
- A19.1 Applying the Forward Pass Method
- A19.2 Some Definitions and Observations
- A19.3 Definitions with Examples
- A19.4 Calculating Free Float
- A19.5 Calculating Free Float
- Summary
- References
- Appendix 20 A Pre-Project Launch Checklist
- A.20.1 The Concept
- A.20.2 Structural Complexity
- A.20.3 Sociopolitical Complexity
- A.20.4 Emergent Complexity
- A.20.5 Complexity Assessment Tool (CAT)
- A.20.6 Discussion
- A.20.7 Building Your Own Checklist
- References
- Appendix 21 Putting Pressure on the Team Can Reduce Productivity
- References
- Appendix 22 Reducing Affinity Bias
- References
- Appendix 23 Risk Management Methods
- A.23.1 Identify, Rank, Evaluate (IRE) Method
- A.23.2 Simple Risk/Breakeven Estimate of Risk Mitigation
- A.23.3 Risk-Based Contingency Budgeting
- A.23.4 Risk Reduction via Bias Removal
- A.23.5 Northrup Grumman Risk Management System
- A23.5.1 Definition of Risk Levels in the Northrup-Grumman Scheme
- A23.5.2 Probability of Occurrence
- A23.5.4 The Borda Voting System
- B23.5.4 Obtaining the Composite Score
- References
- Appendix 24 Software Project Management Antipatterns
- A24.1 Should We Be Concerned?
- References
- Appendix 25 Software Project Managers
- References
- Appendix 26 Software Engineering Ethics
- A26.1 Teaching Software Engineering Ethics
- References
- Appendix 27 Technical Debt – The Ultimate Productivity Killer
- A27.1 Summary
- References
- Appendix 28 Transitioning from Software Engineer to Software Project Manager
- A28.1 A Change in Attitude
- A28.2 Why Is Needed Training Missing?
- References
- Appendix 29 Why Smart People Make Dumb Decisions
- References
- Appendix 30 Why Software Engineering Teams Should Be Kept Intact
- References
- Appendix 31 Why We Don’t Learn from Success
- References
- Appendix 32 Stoplight Charts
- A32.1 Example of a Four-Square Chart
- Appendix 33 The Theory of Constraints
- References
- Appendix 34 Documenting the Undocumented
- Appendix 35 Making Documentation Transparent
- Appendix 36 Capability Maturity Model (CMM)
- A36.1 How Much CMM Is Enough?
- References
- Appendix 37 Motivation Basics
- References
- Closing Comments
- Chapter Questions and Suggested Answers
- Chapter 1 Review Questions/Answers
- Chapter 2 Review Questions/Answers
- Chapter 3 Review Questions/Answers
- Chapter 4 Review Questions/Answers
- Chapter 5 Review Questions/Answers
- Chapter 6 Review Questions/Answers
- Index
Reviews
There are no reviews yet.