Description
Efnisyfirlit
- Cover
- Half-Title Page
- Books on Software and Systems Development and Engineering from Auerbach Publications and CRC Press
- Title Page
- Copyright Page
- Table of Contents
- Preface
- Author
- Part I Project Management Fundamentals
- 1 Introduction to Software Project Management
- 1.1 Introduction
- 1.2 What Is Project Management?
- 1.3 What Is Software Project Management?
- 1.4 Importance of Software Projects
- 1.5 Problems in Project Management
- 1.6 Processes in Software Projects
- 1.7 Project Processes, People, and Technology
- 1.8 Successful Software Project Manager
- 1.9 Project Management Processes
- 1.9.1 Software Project Initiation
- 1.9.1.1 Software Application Development Project Initiation
- 1.9.1.2 Software Product Characteristics
- 1.9.1.3 Software Product Development Project Initiation
- 1.9.1.4 Software Product Implementation Project Initiation
- 1.9.2 Software Project Planning
- 1.9.2.1 Components of Project Planning
- 1.9.3 Software Project Monitoring and Control
- 1.9.4 Software Project Closure
- 1.10 Configuration and Version Control Management
- 1.11 Management Metrics
- 1.12 Case Study
- 1.12.1 Project Introduction
- 1.12.2 Software Functionality
- 1.12.3 New Functionality in Release 6.0
- 1.13 Chapter Summary
- Exercises
- Review Questions
- Recommended Readings
- 2 Project Initiation Management
- 2.1 Introduction
- 2.2 Define Project Charter
- 2.3 Define Project Scope
- 2.4 Define Project Objectives
- 2.5 Practical Considerations
- 2.6 Estimate Initial Project Size
- 2.7 Estimate Initial Project Effort and Costs
- 2.8 Estimate Initial Project Schedule
- 2.9 Create Initial Project Plan
- 2.10 Project Initiation in Iterative Model
- 2.11 Stakeholder Influence
- 2.12 Quality Planning
- 2.13 Feasibility Study
- 2.14 Project Division
- 2.15 Artifacts of Project Initiation
- 2.16 Case Study
- 2.16.1 Project Charter
- 2.16.2 Project Scope
- 2.16.3 Project Objectives
- 2.17 Chapter Summary
- Exercises
- Review Questions
- Recommended Readings
- 3 Software Project Effort and Cost Estimation
- 3.1 Introduction
- 3.2 Effort Estimation Techniques
- 3.2.1 Choosing a Suitable Effort Estimate Technique
- 3.2.2 Function Point Analysis
- 3.2.2.1 Function Point Analysis Usage
- 3.2.3 Wide Band Delphi
- 3.2.4 COCOMO
- 3.2.4.1 Basic COCOMO
- 3.2.4.2 Intermediate COCOMO
- 3.2.4.3 Detailed COCOMO
- 3.2.4.4 COCOMO Model Conclusion
- 3.2.5 Effort Estimation for Waterfall Model–Based Planning
- 3.2.6 Effort Estimation for Iterations Model–Based Planning
- 3.3 Cost Estimation
- 3.3.1 Cost Factor Analysis
- 3.3.2 Activity-Based Cost Estimation
- 3.3.3 Cost Estimation for Iterations-Based Planning
- 3.4 Schedule Estimation
- 3.4.1 Schedule Estimation for Waterfall Model–Based Planning
- 3.5 Resource Estimation
- 3.6 Artifacts of Effort and Cost Estimates
- 3.7 Practical Considerations in Effort and Cost Estimates
- 3.8 Effort and Cost in Product Development
- 3.9 Case Study
- 3.9.1 History
- 3.9.2 Current Project
- 3.9.3 Effort and Cost
- Exercises
- Review Questions
- Recommended Readings
- 4 Risk Management
- 4.1 Introduction
- 4.2 Causes of Risks
- 4.2.1 Quality Constraints
- 4.2.2 Resource Unavailability
- 4.2.3 Disinterest
- 4.2.4 Attrition
- 4.2.5 Scope Creep
- 4.2.6 Cost Constraints
- 4.2.7 Bad Negotiation
- 4.2.8 Unrealistic Estimate
- 4.2.9 Human Error
- 4.2.10 Poor Management
- 4.3 Risk Categories
- 4.3.1 Budget Risks
- 4.3.2 Time (Schedule) Risks
- 4.3.3 Resource Risks
- 4.3.4 Quality Risks
- 4.3.5 Technology Risks
- 4.4 Risk Analysis
- 4.5 Balancing Act
- 4.6 Project Risk Management in Agile Models
- 4.7 Artifacts of Project Risk Management
- 4.8 Practical Considerations for Risk Management
- 4.9 Case Study
- 4.9.1 Risks on This Project
- 4.10 Chapter Summary
- Exercises
- Review Questions
- Recommended Readings
- 5 Configuration Management
- 5.1 Introduction
- 5.2 Configuration Management
- 5.3 Configuration Management Techniques
- 5.4 Artifacts of Configuration Management
- 5.5 Configuration Management Case Study
- 5.5.1 Configuration Management for an Incremental Iteration Development Environment
- 5.6 Chapter Summary
- Exercises
- Review Questions
- Recommended Readings
- 6 Project Planning
- 6.1 Introduction
- 6.2 Project Planning Fundamentals
- 6.2.1 Top-Down Plan
- 6.2.2 Bottom-Up Plan
- 6.2.3 Work Breakdown Structure
- 6.2.4 Resource Allocation
- 6.2.5 Supplier Management Plan
- 6.2.6 Configuration Management Plan
- 6.2.7 Communication Management
- 6.2.8 Defect Prevention Strategy (Quality Assurance)
- 6.2.9 Project Duration
- 6.2.10 Project Cost
- 6.2.11 Tool Management
- 6.2.12 Scope Management
- 6.2.13 Effort Estimate
- 6.2.14 Risk Management
- 6.3 Project Planning Techniques
- 6.3.1 Critical Path Method
- 6.3.2 Goldratt’s Critical Chain Method
- 6.4 Project Planning Artifacts
- 6.5 Project Planning in Agile Models
- 6.5.1 Iteration Planning
- 6.6 Planning at Project Management Office
- 6.7 Case Study
- 6.7.1 Feature Selection
- 6.7.2 Heart of Planning
- 6.8 Chapter Summary
- Exercises
- Review Questions
- Recommended Readings
- 7 Project Monitoring and Control
- 7.1 Introduction
- 7.2 Project Monitoring
- 7.2.1 Monitor against Project Plan
- 7.2.2 Measure Task Progress and Status Reports
- 7.2.3 Identify Deviations
- 7.2.4 Performance Indicators
- 7.2.5 Monitor against Project Schedule
- 7.2.6 Periodic Measurement
- 7.2.7 Earned Value Management
- 7.2.8 Measure Resource Utilization
- 7.2.9 Measure Resource Loading
- 7.2.10 Monitor Skills and Knowledge of Project Team
- 7.2.11 Monitor Risks
- 7.2.12 Monitor Issues
- 7.2.13 Status Reports
- 7.3 Project Control Techniques
- 7.3.1 Resource Leveling
- 7.3.2 Schedule Optimization
- 7.3.3 Corrective Actions against Deviations
- 7.3.4 Corrective Actions against Issues
- 7.3.5 Resource Optimization
- 7.4 Project Monitoring and Control Artifacts
- 7.5 Project Monitoring and Control in Iterative Model
- 7.5.1 Performance Measurements
- 7.5.2 Risks
- 7.6 Case Study
- 7.6.1 Tracking Tools Used
- 7.6.2 Problems Encountered
- 7.7 Chapter Summary
- Exercises
- Review Questions
- Recommended Readings
- 8 Project Closure
- 8.1 Introduction
- 8.2 Source Code Management
- 8.3 Project Data Management
- 8.4 Project Closure in Iterative Model
- 8.5 Lessons Learned
- 8.6 Resource Release
- 8.7 Data Structures
- 8.8 Case Study
- 8.9 Chapter Summary
- Exercises
- Review Questions
- Recommended Readings
- Part II Software Life-Cycle Management
- 9 Introduction to Software Life-Cycle Management
- 9.1 Introduction
- 9.2 Software Engineering Management
- 9.3 Software Life-Cycle Management Processes
- 9.3.1 Software Life Cycle in Waterfall Model
- 9.3.2 Software Life Cycle in Iterative Model
- 9.3.2.1 Moving from Waterfall Model
- 9.3.3 Software Life Cycle in Concurrent Engineering Model
- 9.3.4 Software Life-Cycle Processes
- 9.3.4.1 Software Requirements
- 9.3.4.2 Software Design
- 9.3.4.3 Software Build
- 9.3.4.4 Software Testing
- 9.3.4.5 Software Release
- 9.3.4.6 Software Maintenance
- 9.4 Software Life-Cycle Metrics
- 9.5 Work Products
- 9.6 Quality Assurance
- 9.7 Case Study
- 9.8 Chapter Summary
- Exercises
- Review Questions
- Recommended Readings
- 10 Software Requirement Management
- 10.1 Introduction
- 10.2 Software Requirements Development
- 10.2.1 Develop Requirements
- 10.2.2 Requirement Development Tasks
- 10.3 Software Requirements Management
- 10.3.1 Requirement Change Control
- 10.3.2 Requirement Problems Diagnosis
- 10.4 Requirement Life-Cycle Management
- 10.4.1 Requirement Development and Management in Waterfall Model
- 10.4.2 Iterative Model
- 10.5 Software Requirements Practical Strategy
- 10.6 Software Requirements Artifacts
- 10.7 Software Requirements Quality Control
- 10.8 Case Study
- 10.8.1 Major Components of Appointment Scheduling
- 10.8.2 Loading/Unloading Time Calculation
- 10.8.3 Quality Assurance
- 10.9 Chapter Summary
- Review Questions
- Recommended Readings
- 11 Software Design Management
- 11.1 Introduction
- 11.2 Software Design Fundamentals
- 11.2.1 Design Types
- 11.2.2 Design Standards
- 11.2.3 Design Activities
- 11.3 Software Design Methods
- 11.3.1 Top Down
- 11.3.2 Bottom Up
- 11.4 Design Version Control
- 11.4.1 Subversions
- 11.5 Design Characteristics
- 11.6 Software Design Techniques
- 11.6.1 Prototypes
- 11.6.2 Structural Models
- 11.6.3 Object-Oriented Design
- 11.6.4 Systems Analysis
- 11.6.5 Entity Relationship Models
- 11.6.6 Design Reuse
- 11.7 Software Design for Internet
- 11.8 Software Design Quality
- 11.9 Concurrent Engineering in Software Design
- 11.10 Design Life-Cycle Management
- 11.11 Module Division (Refactoring)
- 11.12 Module Coupling
- 11.13 Case Study
- 11.13.1 Software Design for Loading Calculation
- 11.13.2 Quality Assurance
- 11.14 Chapter Summary
- Review Questions
- Recommended Readings
- 12 Software Construction
- 12.1 Introduction
- 12.2 Coding Standards
- 12.2.1 Modularity
- 12.2.2 Clarity
- 12.2.3 Simplicity
- 12.2.4 Reliability
- 12.2.5 Safety
- 12.2.6 Maintainability
- 12.3 Coding Framework
- 12.4 Reviews (Quality Control)
- 12.4.1 Deskchecks (Peer Reviews)
- 12.4.2 Walkthroughs
- 12.4.3 Code Reviews
- 12.4.4 Inspections
- 12.5 Coding Methods
- 12.5.1 Structured Programming
- 12.5.2 Object-Oriented Programming
- 12.5.3 Automatic Code Generation
- 12.5.4 Software Code Reuse
- 12.5.5 Test-Driven Development
- 12.5.6 Pair Programming
- 12.6 Configuration Management
- 12.7 Unit Testing
- 12.8 Integration Testing
- 12.9 Software Construction Artifacts
- 12.10 Software Construction in Iterative Model
- 12.11 Case Study
- 12.11.1 Continuous Integration
- 12.12 Chapter Summary
- Review Questions
- Recommended Readings
- 13 Software Testing
- 13.1 Introduction
- 13.2 Problems with Traditional Development Model
- 13.3 Verification and Validation
- 13.4 Test Strategy and Planning
- 13.4.1 Test Prioritization
- 13.4.2 Risk Management
- 13.4.3 Effort Estimation
- 13.4.3.1 Test Point Analysis
- 13.5 Test Automation
- 13.5.1 Test Case Execution Automation
- 13.5.2 Test Case Management Automation
- 13.6 Test Project Monitoring and Control
- 13.6.1 Test Case Design
- 13.6.1.1 Test Types
- 13.6.2 Test Case Management
- 13.6.3 Test Bed Preparation
- 13.6.4 Test Case Execution
- 13.6.5 Defect Tracking
- 13.7 Test Reporting
- 13.8 Test Artifacts
- 13.8.1 Management Artifacts
- 13.9 Practical Considerations
- 13.10 Software Testing in Iterative Model
- 13.11 Case Study
- 13.12 Chapter Summary
- Review Questions
- Recommended Readings
- 14 Product Release and Maintenance
- 14.1 Introduction
- 14.2 Product Release Management
- 14.3 Product Implementation
- 14.4 User Training
- 14.5 Maintenance Introduction
- 14.6 Maintenance Types
- 14.6.1 Corrective
- 14.6.2 Adaptive
- 14.6.3 Perfective
- 14.6.4 Preventive
- 14.7 Maintenance Cost
- 14.8 Maintenance Process
- 14.9 Maintenance Life Cycle
- 14.10 Maintenance Techniques
- 14.10.1 Reengineering
- 14.10.2 Reverse Engineering
- 14.10.3 Forward Engineering
- 14.11 Case Study
- 14.11.1 Software Release
- 14.11.2 Software Maintenance
- 14.12 Chapter Summary
- Review Questions
- Recommended Readings
- PART III Software Engineering Management
- 15 Process Standards Introduction
- 15.1 Introduction
- 15.2 Root Cause of Problems in Software Projects
- 15.3 Solutions for Problems in Software Projects
- 15.4 Standard Process for Software Projects
- 15.4.1 Process Tailoring
- 15.5 Standard Process across Software Projects
- 15.6 Program Management
- 15.7 Portfolio Management
- 15.8 Statistical Process Control on Software Projects
- 15.9 Cost of Nonstandard Processes
- 15.10 Organization Training
- 15.11 Software Project Abandonment
- 15.12 Defect Prevention
- 15.13 Software Project without Process
- 15.14 Process Improvement
- 15.15 Final Word
- Review Questions
- Recommended Readings
- 16 Software Process Standards and Process Improvement
- 16.1 Introduction
- 16.2 CMMI Standards
- 16.2.1 CMMI Standards in a Nutshell
- 16.3 ISO Standards
- 16.3.1 ISO Standards in a Nutshell
- 16.4 IEEE Standards
- 16.4.1 IEEE Standards in a Nutshell
- 16.5 Rational Unified Process
- 16.5.1 RUP in a Nutshell
- 16.6 Agile Methodologies
- 16.6.1 Extreme Programming in a Nutshell (Table 16.5)
- 16.7 Test Process Improvement Techniques
- 16.7.1 Deming’s PDCA Technique
- 16.7.2 Test Maturity Model
- 16.7.2.1 Level 1: Initial Level
- 16.7.2.2 Level 2: Definition
- 16.7.2.3 Level 3: Integration
- 16.7.2.4 Level 4: Management and Measurement
- 16.7.2.5 Level 5: Optimize
- 16.7.2.6 Further Developments in TMM
- 16.7.3 Test Process Improvement
- 16.7.4 Critical Testing Process
- 16.7.5 Systematic Test and Evaluation Process
- 16.7.6 Process Improvement Life Cycle
- 16.8 Process Standard Certifications
- 16.8.1 Benefits of Certification
- 16.8.2 How to Apply for a Certification
- 16.8.2.1 Certification Requirements
- 16.8.2.2 Time and Cost of Certification
- 16.8.3 Future of Certifications
- Review Questions
- Recommended Readings
- 17 Process Selection
- 17.1 Introduction
- 17.2 History of Plan-Driven Model
- 17.3 Strengths of Plan-Driven Model
- 17.4 Limitations of Plan-Driven Model
- 17.5 History of Agile Methods
- 17.6 Strengths of Agile Methods
- 17.7 Limitations of Agile Methods
- 17.8 Once and for All
- 17.9 Best Practices for Process Selection
- 17.10 Converting Traditional to Agile Model
- 17.11 Case Study
- Exercise
- Review Questions
- Recommended Readings
- PART IV People Management
- 18 Introduction to People Management
- 18.1 Introduction
- 18.2 People Management
- 18.3 Team Management
- 18.4 Supplier Management
- 18.5 Customer Management
- 18.6 Communication Management
- Review Questions
- 19 Team Management
- 19.1 Introduction
- 19.2 Organization Structure and Policies
- 19.2.1 Project Organization
- 19.2.2 Line of Business Organization
- 19.2.3 Program Management Organization
- 19.2.4 Internal IT Organization Structure
- 19.3 Motivating the Team
- 19.4 Team Effectiveness
- 19.4.1 Appraisals
- 19.4.2 Performance Measurement
- 19.4.3 Job Allocation
- 19.5 Training
- 19.6 Nurturing
- 19.7 Conflict Management
- 19.8 Knowledge Management
- 19.9 Communication Management
- 19.10 Case Study
- Review Questions
- Recommended Readings
- 20 Customer Management
- 20.1 Introduction
- 20.2 Customer Expectation Management
- 20.3 Negotiation Management
- 20.4 Rapport Building Management
- 20.5 Reporting Management
- 20.6 Return on Investment
- 20.7 Bottom Line
- 20.8 Case Study
- Review Questions
- Recommended Readings
- 21 Supplier Management
- 21.1 Introduction
- 21.2 Supplier Search Management
- 21.2.1 RFP and RFI
- 21.2.2 Supplier Qualifications
- 21.2.3 Supplier Experience
- 21.3 Supplier Agreement Management
- 21.3.1 Short-Term Agreements
- 21.3.2 Long-Term Agreements
- 21.4 Supplier Communication Management
- 21.5 Organization Structure
- 21.6 Account Management
- 21.7 Project Offshore Transition
- 21.8 Case Study
- Review Questions
- Recommended Readings
- PART V Tools and Techniques
- 22 Software Project Management Tools Introduction
- 22.1 Introduction
- 22.2 Compatibility with Environment
- 22.3 Cost of Tool
- 22.4 Data Integration among Tools
- 22.5 Existing Skills on Tools
- 22.6 Tool Obsolescence
- 22.7 Scale of Operation
- Review Questions
- 23 Project Management and Software Life-Cycle Tools
- 23.1 Introduction
- 23.2 Requirement Management Tools
- 23.3 Software Design Management Tools
- 23.3.1 CASE Tools
- 23.3.2 Modeling Tools
- 23.4 Software Build Management Tools
- 23.4.1 Integrated Development Environment Tools
- 23.4.2 Source Code Control Tools
- 23.4.3 Rapid Application Development
- 23.5 Software Testing Management Tools
- 23.5.1 Test Management
- 23.5.2 Defect Tracking
- 23.5.3 Automation Tools
- 23.6 Project Management Tools
- 23.6.1 Project Planning Tools
- 23.6.1.1 Configuration Management Tools
- 23.6.1.2 Communication Management Tools
- Review Questions
- Recommended Readings
- 24 Software Project Templates
- 24.1 Introduction
- 24.2 Software Life-Cycle Template Guidelines
- 24.2.1 Software Requirement Template Guidelines
- 24.2.2 Software Design Template Guidelines
- 24.2.3 Software Build Template Guidelines
- 24.2.4 Software Testing Template Guidelines
- 24.3 Project Management Template Guidelines
- 24.3.1 Work Breakdown Structure (WBS) Template Guidelines
- 24.3.2 Project Planning Guidelines
- 24.3.3 Project Monitoring and Control Guidelines
- Recommended Readings
- 25 Future Tools and Techniques
- 25.1 Introduction
- 25.2 Software Industry Trends
- 25.2.1 Open Source
- 25.2.2 Application Service Provider
- 25.2.3 Software as a Service
- 25.2.4 Service-Oriented Architecture
- 25.2.5 Intelligent Web Sites
- 25.2.6 Web Services
- 25.2.7 Streaming Media
- 25.2.8 Social Networks
- 25.2.9 Influence of New Trends on Software Industry
- 25.3 Software Requirement Management Tools
- 25.4 Software Design Management Tools
- 25.5 Software Build Management Tools
- 25.5.1 Automatic Code Generator
- 25.5.2 Integrated Development Environment Tools
- 25.5.3 Programming Language
- 25.6 Software Testing Management Tools
- 25.6.1 Test Management
- 25.6.2 Defect Tracking
- 25.6.3 Automation Tools
- 25.6.4 Test Creation Tools
- 25.6.5 Test Coverage Tools
- 25.7 Software Project Management Tools
- Recommended Readings
- Appendix A: CMMI Process Standards
- Appendix B: ISO Standards
- Appendix C: IEEE Standards
- Appendix D: Agile Processes for Software Development
- Appendix E: Impact of Offshoring on Standards
- Appendix F: Review Question Answers
- Index
Reviews
There are no reviews yet.