rubot

thoughts from a software engineer


Review - The Phoenix Project

September 10, 2017

bookdevopsdevelopmentagile

Technology book layed out around a person sitting on the floor with a laptop

'The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win' is a book about common situations you face working on software projects. The book teaches concepts and ideas through story form, it is very similar to books like the 'One minute manager' and 'The richest man in Babylon'. I've read both these books and enjoyed how the simple truths and ideas are very cleverly conveyed through the story.

The book starts with a story of a fictitious company that is a market leader in their field, however in the last couple of years their competitors have been over taking them. The company has a new software project that will help them regain their pole position, but due to development issues they have been unable to deliver the product. In the book, we follow the acting CIO and problems he faces taking up this new role.

The first part of the book discusses issues

  • Lack of communication between development, infrastructure and testing
  • Poor estimates for work
  • Poor software processes
  • No change request process or change authorisation process
  • No priority for tasks and a lack of a complete task list
  • Work politics - issues with Senior management and other teams
  • The latest technology won't fix process issues
  • Caught in the cycle of delivering features without considering risks
  • All tasks cannot have the highest priority
  • Problem with always being in firefighting mode
  • Different types of work i.e. Business projects, Internal projects, Change request and unplanned
  • Unplanned work is the most destructive type of work, often considered anti-work

Second half of the book discusses concepts and ideas

  • You can't sort the strategic until you sort the tactical
  • Having transparency is good but allowing generals access to every private can have a detrimental effect on the war effort.
  • Having a proper and planned change request process is very important
  • Implementing work tracking is important
  • Finding your bottlenecks will help you have a steady flow of work and also planning work order and priority
  • Outsource work but not responsibility
  • IT is a core of the business not a cost centre
  • Technical debt that is not paid down, compounds interest in the long run in the form on unplanned work
  • Reduced deployment times helps increase the number of deployments
  • Removing human interventions during deployment ensure that we can consistency reproduce deployments

The book concludes with the team implementing

  • Planned and approved change request process
  • Implementation of Agile and Kanban
  • Increased communication and transparency between teams
  • Removal of knowledge bottlenecks through knowledge based systems
  • Automated deployments
  • Move to cloud based systems