Introduction What is a Project Projects and Operational Work Programs, Subprojects, and Portfolios Programs Subprojects PortfoliosWhat is a Software Project Application Development Process and Systems Reengineering Services System Integration Services Other Types of Projects Managing Projects The Project Manager and the Project Stakeholder Project Stakeholders Code of Conducts and Ethical Aspects Software Project ManagementGoals and Organization of the Book Further References Questions and Topics for Discussion ReferencesThe Basics: Software Development Activities and Their Organization Software Requirements Definition Requirements Elicitation Requirements Structuring User Experience Design Requirements Validation Business Modeling Mapping the Organizational Structure Modeling the Business Processes Mapping the Existing IT Infrastructure Mapping Business Entities Design and Implementation System Design Implementation Verification and Validation Testing Organizing Testing Activities Test Plan Definition Test Execution and Reporting Deployment Operations and Maintenance Supporting and Monitoring Operations Maintenance Organizing Support and Maintenance Activities Questions and Topics for Discussion References Making IT Right: Managing Goals, Time, and Costs Before You Start: Assessing Value and Risks Project Value: Aspects to Consider Project Risks: Aspects to Consider Techniques to Assess Value and Risks Financial Methods Score Matrices SWOT Analysis Stakeholder Analysis Assessing Sustainability A Recap of Project Selection Techniques The Project Feasibility Document Formalizing the Project Goals Project Goals and Requirements Project Assumptions and Constraints Project Outputs and Control Points Project RosterDeciding the Work Building a WBS WBS Decomposition Styles WBS Dictionary WBS Construction MethodologiesEstimating Effort, Duration, and Resources The "Quick" Approach to Estimation The Uncertainty of Estimations PERT Algorithmic Techniques Function Points COCOMO Web Objects Effort and Project Phases Scheduling a Plan Identify Dependencies among Activities Type of Dependencies Lead and Lag Time Network Graphs Identify the Critical Path Allocate and Level Resources Qualifying the Resources Needed for a Task Specifying Resource Availability Allocating Resources to a Plan The Gantt Chart Optimizing a Plan Renegotiating Goals and Deadlines Phase the Project Project Crashing Fast Tracking Critical Chain Management Budgeting and Accounting Project Costs Cost Element Structures Determining the Project Costs Managing Project CostsProject Execution Kicking Activities Off Collect the Output of Activities Collect Information about the Project Status The Project Routine in Agile Methods Project Monitoring and Control Bookkeeping Your Plan: Actual Start and End Dates Monitoring Time and Work Monitoring Costs An Integrated Approach: Earned Value Analysis Planned Value Actual Costs Earned Value Assessing a Plan Health Using Earned Value Analysis Some Considerations about Earned Value Analysis Monitoring Progress, the Agile Way Agile-Earned Value Analysis Project Closing Getting Client Acceptance Installing Project Deliverables Archiving Old Deliverables Documenting the Project Performing a Financial Closure Post-Implementation Audit Staff-Releasing An Example Initiating Building a Plan Creating a Budget for the Project Changing the Plan to Meet External Deadlines Changing the Project Approach Reducing or Changing the Project Scope Allocating Resources More Efficiently Fast Tracking the PlanQuestions and Topics for Discussion References Making IT Better: Managing Changes, Risks, and Quality Managing Changes Managing Changes in the Traditional Approach Managing Changes in the Agile Methods Configuration Management Configuration Management Goals and Practices Versioning Systems and Software Evolution ModelsRisk Management Define Standards Identify Risks Some Common Risks in Software Development Classify Risks Risk Management Strategies Budgeting for Risks Risk Monitoring and Control Review and Share Revise and Iterate Quality Management Quality Planning Quality Assurance Quality Control Establishing a Metrics Program Size Metrics Complexity Metrics Quality Metrics Questions and Topics for Discussion References Making IT Perfect: Managing People and Organizing Communication Managing People Define Staff Requirements Selecting Internal Staff Selecting External Staff Managing Staff Management Styles Project Organization Structures Hierarchical Matricial Organizations RACI Matrix Agile Teams Managing Communication Planning a Communication Strategy Communication Styles Meetings Managing Meetings Types of Meetings Delphi Planning Poker Questions and Topics for Discussion References Software Project Pricing From Cost to Pricing Software Pricing Software Pricing Models Selling and Licensing Software Open Source Software Project Pricing Strategies Determining the Project Price Contractual Agreements Contractual Agreements and Project Budget Procurement and Outsourcing Vendor Solicitation Procurement Timing ActivitiesAn Example Questions and Topics for Discussion References Managing Software Development Projects Project Life CyclesFrom Traditional to Agile The Waterfall The V-Model The Rational Unified Process The Spiral Prototyping/Evolutionary Cleanroom Software EngineeringAgile Methodologies Extreme Programming Dynamic System Development Method Scrum KanbanOpen Source Development Practices Open Source Development Challenges An Open Source Development Process Open Source Project Steering Open Source Development Open Source ReleasesQuestions and Topics for Discussion References Development and Management StandardsMicrosoft Solutions Framework Foundational Principles Team Model Process Model Disciplines PMBOK Guide Knowledge Areas Process Groups Processes PMBOK Guide for Software DevelopmentNASA Practices NASA System Engineering Practices NASA Software Management Process Requirements NASA Software Development Practices PRINCE2 PRINCE2 Process Model Starting a Project Initiating a Project Directing a Project Controlling a Stage Managing Product Delivery Managing Stage Boundaries Closing a Project Planning PRINCE2 Components Business Case Organization Plans Control Change Control Capability Maturity Model Integration Questions and Topics for Discussion References Open Source Tools for Managing ProjectsProject Information Flow Basic Infrastructure Basic + InfrastructureCollaborative Document Writing Management InfrastructureReferences Index