Introduction to Software Project Management  book cover
1st Edition

Introduction to Software Project Management

ISBN 9781466559530
Published February 25, 2014 by Auerbach Publications
296 Pages 63 B/W Illustrations

FREE Standard Shipping
USD $115.00

Prices & shipping based on shipping country


Book Description

Although software development is one of the most complex activities carried out by man, sound development processes and proper project management can help ensure your software projects are delivered on time and under budget. Providing the know-how to manage software projects effectively, Introduction to Software Project Management supplies an accessible introduction to software project management. The book begins with an overview of the fundamental techniques of project management and the technical aspects of software development. This section supplies the understanding of the techniques required to mitigate uncertainty in projects and better control the complexity of software development projects. The second part illustrates the technical activities of software development in a coherent process—describing how to customize this process to fit a wide range of software development scenarios.

  • Examines project management frameworks and software development standards, including ESA and NASA guidelines, PRINCE2®, and PMBOK®
  • Addresses open source development practices and tools so readers can adopt best practices and get started with tools that are available for free
  • Explains how to tailor the development process to different kinds of products and formalities, including the development of web applications
  • Includes access to additional material for both practitioners and teachers at

Supplying an analysis of existing development and management frameworks, the book describes how to set up an open-source tool infrastructure to manage projects. Since practitioners must be able to mix traditional and agile techniques effectively, the book covers both and explains how to use traditional techniques for planning and developing software components alongside agile methodologies. It does so in a manner that will help you to foster freedom and creativity in assembling the processes that will best serve your needs.

Table of Contents

What is a Project
     Projects and Operational Work 
     Programs, Subprojects, and Portfolios 
What 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 Management 
Goals and Organization of the Book
Further References
Questions and Topics for Discussion

The 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 
Verification and Validation 
     Organizing Testing Activities 
          Test Plan Definition 
          Test Execution and Reporting
Operations and Maintenance 
     Supporting and Monitoring Operations 
     Organizing Support and Maintenance Activities
Questions and Topics for Discussion

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 Roster 
Deciding the Work 
     Building a WBS 
     WBS Decomposition Styles
     WBS Dictionary 
     WBS Construction Methodologies
     Effort, Duration, and Resources 
     The "Quick" Approach to Estimation 
     The Uncertainty of Estimations
     Algorithmic Techniques 
          Function Points
          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 Costs
Project 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 
An Example 
     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 Plan
Questions and Topics for Discussion

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 Models
Risk 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

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 
     Matricial Organizations
     RACI Matrix
     Agile Teams
Managing Communication 
     Planning a Communication Strategy 
     Communication Styles
          Managing Meetings
          Types of Meetings
          Planning Poker
Questions and Topics for Discussion

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 Activities
An Example
Questions and Topics for Discussion

Managing Software Development Projects
Project Life Cycles 
From Traditional to Agile 
     The Waterfall 
     The V-Model 
     The Rational Unified Process 
     The Spiral
     Cleanroom Software Engineering
Agile Methodologies 
     Extreme Programming 
     Dynamic System Development Method 
Open Source Development Practices 
     Open Source Development Challenges
     An Open Source Development Process
          Open Source Project Steering
          Open Source Development 
          Open Source Releases
Questions and Topics for Discussion

Development and Management Standards
Microsoft Solutions Framework 
     Foundational Principles
     Team Model
     Process Model
PMBOK Guide 
     Knowledge Areas 
     Process Groups 
     PMBOK Guide for Software Development
NASA Practices 
     NASA System Engineering Practices 
     NASA Software Management Process Requirements 
     NASA Software Development Practices
     PRINCE2 Process Model 
          Starting a Project 
          Initiating a Project 
          Directing a Project 
          Controlling a Stage 
          Managing Product Delivery
          Managing Stage Boundaries
          Closing a Project 
     PRINCE2 Components 
          Business Case 
          Change Control
Capability Maturity Model Integration
Questions and Topics for Discussion

Open Source Tools for Managing Projects
Project Information Flow
Basic Infrastructure
Basic + Infrastructure
Collaborative Document Writing
Management Infrastructure


View More



Adolfo Villafiorita PhD, is a senior researcher at Fondazione Bruno Kessler where he leads the ICT4G unit, whose mission is the use of ICT to foster social and economic development. With long experience in the area of formal verification, he has led various technology transfer and development projects in the national and international context. He is a contract professor at the University of Trento, where he teaches software project management.