Skip to main content

Sound bites from 'The Phoenix Project' novel


The Phoenix Project is such a riveting story. Being a software developer, it resonated so well with me. Even if you are not a software developer, there is something to be learned from this book. This book shows how important it is to be honest, have integrity, faith, encourage risks and continuously improve in small but meaningful steps. The principles learned from this book can be applied to any industry, process, organization and even relationships. 



I have a few quotes when I was done reading the book.


Automation creed
    If it can be done once, it can be automated for future occurrences. 

    If it needs to be done more than once, it must be automated.

    People before process. 

    Feeling of being in control is an illusion. Let go of that feeling and breathe because you can still succeed when you succeed as a team.



    Four types of work
    1. Business projects
    • Business initiatives
    • Typically tracked by the project management office

    1. Internal IT Projects
    • Infrastructure and IT operations projects
    • Projects required to support the business projects
    • Internally generated improvement projects

    1. Changes
    • Generated by business projects and internal IT projects.
    • Track both business and IT project changes in the same ticketing system

    1. Unplanned work and recovery work
    • Operational incidents
    • Caused by business projects, internal IT projects and changes
    • Always at the expense of other planned work commitments
    • Track them and automate to prevent them

    Wait time formula
    wait time = (% busy) / (% idle)

    The three ways explained
    1. First way
    • Work flows from left to right from development to IT operations to market
    • Maximize flow
      • Small batch sizes of work
      • Small intervals of work
      • Never pass defects to downstream work centers
      • Continually optimize for global goals of the business organization
    • Necessary practices
      • Continuous build, integration and deployment
      • Create environments on demand using the same process to create all environments
      • Limit work in process (WIP)
      • Build systems and organizations that are safe to change by keeping both agile and nimble

    1. Second way
    • Constant flow of feedback from right to left at all stages of the value stream
    • Prevent problems from happening again. By doing this we create  quality at source.
    • Create and embed knowledge where needed
    • Necessary practices
      • Stop the production pipeline when builds and tests fail in the deployment pipeline.
      • Continually elevate the ‘improvement of daily work’ over 'daily work’.
      • Create fast automated test suites to ensure code is always in a deployable state.
      • Create shared goals and shared pain between development and IT organizations.
      • Monitoring to ensure code and environments are operating as designed and customer goals are being met.
    1. Third way
    • Culture that encourages continual experimentation
    • Encourage taking risks 
    • Share an understanding that repetition and practice is the key factor for perfection.
    • Necessary practices
      • Creating a culture of innovation, risk taking and high trust.
      • Allocating at least 20% of dev and IT on non-functional requirements
      • Continual reinforcement that improvements are encouraged and celebrated.

    Identify and focus on
    1. Constraints
    2. Materials
    3. Resources

    Popular posts from this blog

    Create #VirtualPrivateCloud, NAT Instance and NAT Gateways on @AWSCloud

    Create a Virtual Private Cloud, NAT instance and the new NAT Gatweay ... and making it all work. This is a YouTube playlist of three videos.

    Cheat sheet to create a #VPC and Subnets on @AWSCloud

    One of the critical things to remember for working with a AWS VPC is creating and using it. I had hard time remembering how to do it, so, I wrote down a cheat sheet for myself.  If anyone wants to follow along, just navigate to the VPC page on the AWS Console and start with 'Create VPC' button. Please note that this may cost some dollars if you are not on the free tier. If you are on the free tier and make mistakes, it may cost some dollars. In the steps below, we will be creating the following on a new VPC: An internet gateway One public subnet with routes for accessibility from the internet One private subnet without any routes One EC2 web server with Apache installed in it and serving a sample html page - using the public subnet. One EC2 server with the private subnet and security group that allows access to resources running on the public subnet only.  Create VPC Name tag: myVPC CIDR Block: 10.0.0.0/16 Tenancy: default (Must have default. Otherwise, it

    SQL Server tables with JSON

    We can indeed store json data as-is into a traditional Microsoft SQL Server database. The document hosted on Microsoft's site left a lot of questions and unknowns that I had to explore and experiment to figure out the right recipe for creating a table to store json, inserting the data as json and querying for the values of individual keys within the json. Here you go:  --Create a table with an identity column and a nvarchat(max) column to store the individual json documents create table dbo.logs (     _id bigint primary key identity,     json_log nvarchar(max) ); --Add a constraint to the json_log column of the table to ensure that the table accepts only json as value to store ALTER TABLE dbo.logs ADD CONSTRAINT [json_log record should be formatted as JSON] CHECK (ISJSON(json_log)=1); --Insert json into the table insert into dbo.logs values ('{"key": "value"}'); insert into dbo.logs values ('{"key": "value1"}'); --Query for al