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(R), and PMBOK(R) * 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 www.spmbook.com 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.
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.
Introduction What is a Project Projects and Operational Work Programs, Subprojects, and Portfolios Programs Subprojects 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 References 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 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 Roster Deciding the Work Building a WBS WBS Decomposition Styles WBS Dictionary WBS Construction Methodologies Estimating 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 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 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 Plan Questions 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 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 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 Activities An Example Questions and Topics for Discussion References Managing Software Development Projects Project Life Cycles From Traditional to Agile The Waterfall The V-Model The Rational Unified Process The Spiral Prototyping/Evolutionary Cleanroom Software Engineering Agile Methodologies Extreme Programming Dynamic System Development Method Scrum Kanban 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 References Development and Management Standards Microsoft Solutions Framework Foundational Principles Team Model Process Model Disciplines PMBOK Guide Knowledge Areas Process Groups Processes PMBOK Guide for Software Development NASA 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 Projects Project Information Flow Basic Infrastructure Basic + Infrastructure Collaborative Document Writing Management Infrastructure References Index
Number Of Pages:
- ID: 9781466559530
- Saver Delivery: Yes
- 1st Class Delivery: Yes
- Courier Delivery: Yes
- Store Delivery: Yes
Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly
© Copyright 2013 - 2016 WHSmith and its suppliers.
WHSmith High Street Limited Greenbridge Road, Swindon, Wiltshire, United Kingdom, SN3 3LD, VAT GB238 5548 36