The Agile Planning Horizon in Professional Software Development

The Agile Planning Horizon in Professional Software Development

$40 The Agile Planning Horizon in Professional Software Development Managing at the dynamic boundary where business necessities meet software development realities. David A. Penny, Ph.D. 15 September, 2012 (12th edition) Exclusive use of this document for csc444h at the University of Toronto, winter term 2015, has been granted by the author. Copyright © 2012 by David A. Penny © 2012 by Dr. David A. Penny, Toronto, Ontario, Canada All rights reserved. No part of this book may be reproduced, in any form or by any means, without permission in writing from the author. Exclusive use of this document for csc444h at the University of Toronto, winter term 2015, has been granted by the author. ii Copyright © 2012 by David A. Penny ABOUT THE AUTHOR Dr. Penny has had a mixed industrial and academic career spanning over 25 years involvement in software development. As a Ph.D. student at the University of Toronto specializing in languages, operating systems, and software engineering, Dr. Penny was involved in software production initiatives including chemical-physics simulation software, robotic control software, variable-precision numeric libraries, language run-time environments, the Object-Oriented Turing IDE, the Mini Tunis teaching operating system, the Software Landscape, a program verification system, and the Polyx multi- processor operating system. Following graduation, Dr. Penny took a position at IBM working on an integrated development environment for C++ on the AIX platform. Dr. Penny then joined Algorithmics Incorporated becoming its CTO and VP Software Development. He led the development of RiskWatch™, the industry's leading middle-office financial risk management software for global banks, and related products. After Algorithmics, Dr. Penny brought his ideas to a larger population as a software development management consultant and as an Associate Professor of Computer Science at the University of Toronto. Dr. Penny then joined Electronics Workbench, a provider of packaged Windows-based software to electronics professionals and educators, as Vice President of R&D. He is currently CIO at Ceryx Inc., an applications service provider where he is adapting his ideas to fit delivery of Software-as-a-Service. Exclusive use of this document for csc444h at the University of Toronto, winter term 2015, has been granted by the author. Copyright © 2012 by David A. Penny iii ACKNOWLEDGEMENTS I would like to express my thanks to the professional software development colleagues I have encountered during my career and who have informed and inspired so much of this book. Special thanks to Arthur Tateishi, a long-standing colleague and friend with whom, over the course of numerous professional software development engagements, we have developed many of the ideas forming the basis of this book. My thanks to Professor Richard C. Holt for mentoring and assisting me in the early days of my career, and providing leeway to allow me to try out my ideas and try my hand at running software projects. Thanks to Steve Rosenberg for many discussions on software development management, and for recommending me for my first executive management role. Thanks also to Ron Dembo, Bill Dinardo, Bill Wignall, and Gus Harsfai, for believing in these ideas and allowing me free reign to implement them, and to Jonathan Rose for hiring me to teach a software engineering course to his 4th year students which inspired the creation of this book. To Matt Medland, Braulio Lam, Derek Mock, Tom Berenstein, Erich Klein and my numerous students for taking these ideas and putting them into practice so wonderfully within their software development organizations. And finally, a big thanks to Matt Medland for his detailed comments on the book. Any remaining errors are entirely my own. Exclusive use of this document for csc444h at the University of Toronto, winter term 2015, has been granted by the author. iv Copyright © 2012 by David A. Penny Contents Preface .......................................................................................... 1 1. Introduction ............................................................................. 3 1.1. Agile Development ...................................................................... 4 1.2. Continuous Release Methods ....................................................... 7 1.3. The Agile Planning Horizon......................................................... 9 1.4. Dynamic Estimation Equilibrium ............................................... 12 1.5. Essential Practices ...................................................................... 13 1.5.1. Source Code Control...................................................................... 13 1.5.2. Defect / Feature Tracking .............................................................. 14 1.5.3. Reproducible Builds and Deployment ............................................ 14 1.5.4. Automated Regression Testing ....................................................... 15 1.5.5. Agile Horizon Planning ................................................................. 15 1.5.6. Feature Specifications ................................................................... 16 1.5.7. Architectural Control ..................................................................... 16 1.5.8. Effort Tracking ............................................................................... 17 1.5.9. Process Control ............................................................................. 17 1.5.10. Software Development Business Planning ................................... 18 1.6. Effective and Defective Organizations ....................................... 18 1.6.1. Infrastructure ................................................................................. 18 1.6.2. Control ........................................................................................... 22 1.6.3. Refinement ..................................................................................... 25 1.6.4. Relationships .................................................................................. 27 1.7. Intended Audience & Scope ....................................................... 29 1.8. Professional Experience ............................................................. 31 Exclusive use of this document for csc444h at the University of Toronto, winter term 2015, has been granted by the author. Copyright © 2012 by David A. Penny v 2. Planning .................................................................................. 33 2.1. Planning Overview ................................................................... 34 2.2. Why Plan?.................................................................................. 35 2.3. Gantt Charts Considered Harmful ............................................. 37 2.4. Of Mice and Men ....................................................................... 39 2.5. The Difficult Question ............................................................... 42 2.6. A Software Vendor Fable .......................................................... 44 3. Agile Horizon Planning Overview ....................................... 47 3.1. Software Vendors ...................................................................... 48 3.2. The Traditional Software Product Lifecycle ............................. 50 3.3. SaaS Lifecycle ........................................................................... 53 3.4. The Agile Horizon Plan ............................................................. 54 3.5. Implementation Planning ........................................................... 58 3.6. Eliciting Potential Requirements ............................................... 60 3.7. Sizing Potential Requirements ................................................... 61 3.8. Sizing the Available Resources ................................................. 63 3.9. The Capacity Constraint ............................................................ 65 3.10. Ratios ....................................................................................... 67 3.11. Shipping the Release ............................................................... 71 3.12. Summary .................................................................................. 73 4. The Capacity Constraint ....................................................... 75 4.1. A Geometric Analogy ................................................................ 75 4.2. Organizational Issues ................................................................. 80 4.3. Setting Expectations .................................................................. 82 4.4. A Web of Commitments ............................................................ 83 4.5. Managing the Plan ..................................................................... 84 5. The Quantitative Capacity Constraint ................................ 87 5.1. Basic Definitions ....................................................................... 88 Exclusive use of this document for csc444h at the University of Toronto, winter term 2015, has been granted by the author. vi Copyright © 2012 by David A. Penny 5.2. Post-Facto Considerations ......................................................... 89 5.3. Number of Workdays, T ............................................................. 90 5.4. Developer Power, N ................................................................... 91 5.5. Attributing N .............................................................................. 93

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    388 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us