Cargando…

Manage it! : your guide to modern, pragmatic project management /

Provides advice for managing a software design project, covering such topics as planning and using life cycles, scheduling, creating a project team, managing meetings, integrating testing, and completing a project.

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Rothman, Johanna
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Raleigh, N.C. : Pragmatic Bookshelf, ©2007.
Colección:Pragmatic programmers.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • 1 Starting a Project 1
  • 1.1 Define Projects and Project Managers 1
  • 1.2 Manage Your Drivers, Constraints, and Floats 3
  • 1.3 Discuss Your Project Constraints with Your Client or Sponsor 6
  • 1.4 Decide on a Driver for Your Project 7
  • 1.5 Manage Sponsors Who Want to Overconstrain Your Project 9
  • 1.6 Write a Project Charter to Share These Decisions 11
  • 1.7 Know What Quality Means for Your Project 14
  • 2 Planning the Project 17
  • 2.1 Start the Wheels Turning 17
  • 2.2 Plan Just Enough to Start 18
  • 2.3 Develop a Project Plan Template 19
  • 2.4 Define Release Criteria 26
  • 2.5 Use Release Criteria 31
  • 3 Using Life Cycles to Design Your Project 35
  • 3.1 Understanding Project Life Cycles 35
  • 3.2 Overview of Life Cycles 36
  • 3.3 Seeing Feedback in the Project 40
  • 3.4 Larger Projects Might Have Multiple Combinations of Life Cycles 41
  • 3.5 Managing Architectural Risk 45
  • 3.6 Paddling Your Way Out of a Waterfall 47
  • 3.7 My Favorite Life Cycles 48
  • 4 Scheduling the Project 49
  • 4.1 Pragmatic Approaches to Project Scheduling 49
  • 4.2 Select from These Scheduling Techniques 51
  • 4.3 Start Scheduling with a Low-Tech Tool 54
  • 5 Estimating the Work 63
  • 5.1 Pragmatic Approaches to Project Estimation 63
  • 5.2 Milestones Define Your Project's Chunks 76
  • 5.3 How Little Can You Do? 78
  • 5.4 Estimating with Multitasking 78
  • 5.5 Scheduling People to Multitask by Design 79
  • 5.6 Using Rolling-Wave Scheduling 80
  • 5.7 Deciding on an Iteration Duration 81
  • 5.8 Estimating Using Inch-Pebbles Wherever Possible 83
  • 6 Recognizing and Avoiding Schedule Games 87
  • 6.1 Bring Me a Rock 87
  • 6.2 Hope Is Our Most Important Strategy 90
  • 6.3 Queen of Denial 92
  • 6.4 Sweep Under the Rug 95
  • 6.5 Happy Date 97
  • 6.6 Pants on Fire 99
  • 6.7 Split Focus 101
  • 6.8 Schedule Equals Commitment 103
  • 6.9 We'll Know Where We Are When We Get There 105
  • 6.10 The Schedule Tool Is Always Right 107
  • 6.11 We Gotta Have It; We're Toast Without It 110
  • 6.12 We Can't Say No 112
  • 6.13 Schedule Chicken 114
  • 6.14 90% Done 115
  • 6.15 We'll Go Faster Now 117
  • 6.16 Schedule Trance 119
  • 7 Creating a Great Project Team 121
  • 7.1 Recruit the People You Need 121
  • 7.2 Help the Team Jell 123
  • 7.3 Make Your Organization Work for You 126
  • 7.4 Know How Large a Team You Need 129
  • 7.5 Know When to Add More People 131
  • 7.6 Become a Great Project Manager 131
  • 7.7 Know When It's Time to Leave 134
  • 8 Steering the Project 143
  • 8.1 Steer the Project with Rhythm 143
  • 8.2 Conduct Interim Retrospectives 144
  • 8.3 Rank the Requirements 145
  • 8.4 Timebox Requirements Work 148
  • 8.5 Timebox Iterations to Four or Fewer Weeks 151
  • 8.6 Use Rolling-Wave Planning and Scheduling 152
  • 8.7 Create a Cross-Functional Project Team 155
  • 8.8 Select a Life Cycle Based on Your Project's Risks 156
  • 8.9 Keep Reasonable Work Hours 157
  • 8.10 Use Inch-Pebbles 158
  • 8.11 Manage Interruptions 159
  • 8.12 Manage Defects Starting at the Beginning of the Project 161
  • 9 Maintaining Project Rhythm 167
  • 9.1 Adopt or Adapt Continuous Integration for Your Project 167
  • 9.2 Create Automated Smoke Tests for the Build 169
  • 9.3 Implement by Feature, Not by Architecture 170
  • 9.4 Get Multiple Sets of Eyes on Work Products 175
  • 9.5 Plan to Refactor 176
  • 9.6 Utilize Use Cases, User Stories, Personas, and Scenarios to Define Requirements 178
  • 9.7 Separate GUI Design from Requirements 179
  • 9.8 Use Low-Fidelity Prototyping as Long as Possible 180
  • 10 Managing Meetings 183
  • 10.1 Cancel These Meetings 183
  • 10.2 Conduct These Types of Meetings 186
  • 10.3 Project Kickoff Meetings 187
  • 10.4 Release Planning Meetings 187
  • 10.5 Status Meetings 188
  • 10.6 Reporting Status to Management 193
  • 10.7 Project Team Meetings 194
  • 10.8 Iteration Review Meetings 195
  • 10.9 Troubleshooting Meetings 195
  • 10.10 Manage Conference Calls with Remote Teams 197
  • 11 Creating and Using a Project Dashboard 201
  • 11.1 Measurements Can Be Dangerous 201
  • 11.2 Measure Progress Toward Project Completion 204
  • 11.3 Develop a Project Dashboard for Sponsors 227
  • 11.4 Use a Project Weather Report 230
  • 12 Managing Multisite Projects 235
  • 12.1 What Does a Question Cost You? 236
  • 12.2 Identify Your Project's Cultural Differences 237
  • 12.3 Build Trust Among the Teams 238
  • 12.4 Use Complementary Practices on a Team-by-Team Basis 241
  • 12.5 Look for Potential Multisite Project and Multicultural Problems 249
  • 12.6 Avoid These Mistakes When Outsourcing 251
  • 13 Integrating Testing into the Project 255
  • 13.1 Start People with a Mind-Set Toward Reducing Technical Debt 255
  • 13.2 Reduce Risks with Small Tests 256
  • 13.3 TDD Is the Easiest Way to Integrate Testing into Your Project 257
  • 13.4 Use a Wide Variety of Testing Techniques 260
  • 13.5 Define Every Team Member's Testing Role 263
  • 13.6 What's the Right Developer-to-Tester Ratio? 267
  • 13.7 Make the Testing Concurrent with Development 273
  • 13.8 Define a Test Strategy for Your Project 273
  • 13.9 System Test Strategy Template 274
  • 13.10 There's a Difference Between QA and Test 276
  • 14 Managing Programs 279
  • 14.1 When Your Project Is a Program 279
  • 14.2 Organizing Multiple Related Projects into One Release 280
  • 14.3 Organizing Multiple Related Projects Over Time 282
  • 14.4 Managing Project Managers 285
  • 14.5 Creating a Program Dashboard 287
  • 15 Completing a Project 289
  • 15.1 Managing Requests for Early Release 289
  • 15.2 Managing Beta Releases 290
  • 15.3 When You Know You Can't Meet the Release Date 291
  • 15.4 Shepherding the Project to Completion 299
  • 15.5 Canceling a Project 303
  • 16 Managing the Project Portfolio 307
  • 16.1 Build the Portfolio of All Projects 307
  • 16.2 Evaluate the Projects 309
  • 16.3 Decide Which Projects to Fund Now 310
  • 16.4 Rank-Order the Portfolio 310
  • 16.5 Start Projects Faster 311
  • 16.6 Manage the Demand for New Features with a Product Backlog 313
  • 16.7 Troubleshoot Portfolio Management 315
  • A More Detailed Information About Life Cycles 323
  • A.1 Serial Life Cycle: Waterfall or Phase-Gate 323
  • A.2 Iterative Life Cycle: Spiral, Evolutionary Prototyping, Unified Process 327
  • A.3 Incremental Life Cycle: Staged Delivery, Design to Schedule 330
  • A.4 Agile Life Cycles 331.