Advertisement

Parallel Agile – faster delivery, fewer defects, lower cost

  • Doug Rosenberg
  • Barry Boehm
  • Matt Stephens
  • Charles Suscheck
  • Shobha Rani Dhalipathi
  • Bo Wang
Book

Table of contents

  1. Front Matter
    Pages i-xix
  2. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 1-14
  3. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 15-26
  4. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 27-51
  5. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 53-80
  6. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 81-106
  7. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 107-130
  8. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 131-152
  9. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 153-168
  10. Doug Rosenberg, Barry Boehm, Matt Stephens, Charles Suscheck, Shobha Rani Dhalipathi, Bo Wang
    Pages 169-184
  11. Back Matter
    Pages 185-221

About this book

Introduction

From the beginning of software time, people have wondered why it isn’t possible to accelerate software projects by simply adding staff. This is sometimes known as the “nine women can’t make a baby in one month” problem. The most famous treatise declaring this to be impossible is Fred Brooks’ 1975 book The Mythical Man-Month, in which he declares that “adding more programmers to a late software project makes it later,” and indeed this has proven largely true over the decades.

Aided by a domain-driven code generator that quickly creates database and API code, Parallel Agile (PA) achieves significant schedule compression using parallelism: as many developers as necessary can independently and concurrently develop the scenarios from initial prototype through production code. Projects can scale by elastic staffing, rather than by stretching schedules for larger development efforts. Schedule compression with a large team of developers working in parallel is analogous to hardware acceleration of compute problems using parallel CPUs.

PA has some similarities with and differences from other Agile approaches. Like most Agile methods, PA "gets to code early" and uses feedback from executable software to drive requirements and design. PA uses technical prototyping as a risk-mitigation strategy, to help sanity-check requirements for feasibility, and to evaluate different technical architectures and technologies.

Unlike many Agile methods, PA does not support "design by refactoring," and it doesn't drive designs from unit tests. Instead, PA uses a minimalist UML-based design approach (Agile/ICONIX) that starts out with a domain model to facilitate communication across the development team, and partitions the system along use case boundaries, which enables parallel development. Parallel Agile is fully compatible with the Incremental Commitment Spiral Model (ICSM), which involves concurrent effort of a systems engineering team, a development team, and a test team working alongside the developers. 

The authors have been researching and refining the PA process for several years on multiple test projects that have involved over 200 developers. The book’s example project details the design of one of these test projects, a crowdsourced traffic safety system.

Keywords

Agile software development Model-driven development Use Cases Spiral Model Model-View-Controller (MVC) Parallel Computing Code Generation Microservice Architecture NoSQL database REST API

Authors and affiliations

  • Doug Rosenberg
    • 1
  • Barry Boehm
    • 2
  • Matt Stephens
    • 3
  • Charles Suscheck
    • 4
  • Shobha Rani Dhalipathi
    • 5
  • Bo Wang
    • 6
  1. 1.Parallel Agile, Inc.Santa MonicaUSA
  2. 2.Center for Systems and Software Engineering (CSSE)University of Southern CaliforniaSanta MonicaUSA
  3. 3.SoftwareReality.comLondonUK
  4. 4.Juniper Hill AssociatesLiberty TownshipUSA
  5. 5.University of Southern CaliforniaFremontUSA
  6. 6.University of Southern CaliforniaAlhambraUSA

Bibliographic information

  • DOI https://doi.org/10.1007/978-3-030-30701-1
  • Copyright Information Springer Nature Switzerland AG 2020
  • Publisher Name Springer, Cham
  • eBook Packages Computer Science
  • Print ISBN 978-3-030-30700-4
  • Online ISBN 978-3-030-30701-1
  • Buy this book on publisher's site