Application Maturity Mental Model
TL;DR - Applications are like people*, and go through maturity phases (gestation, newborn, weaning, school, adulthood, maturity, retirement). We should encourage a strong "family" structure around our applications.
While it does "take a village", typically, a strong family structure has been shown as the best indicator of maturity in people.
An architect I worked with once talked about how applications are like people. They go through phases of life and maturity, from conception to heartbeat, to a screaming & messy entry into the world. Then on to feeding, walking & weaning, potty training, going off to school, adolescence, moving out of the home, college, 1st job, etc.
This metaphor is very powerful, and with that architect's license, would like to extend it further into how we support our applications.
If we set some smilies in this model, it will be helpful.
Stages
| Anthropomorphic Equivalent | Application Equivalent | Notes |
|---|---|---|
| The nursery | Sandbox & Development Environment | This is the early come life - this is where feedings, diaper changes, first steps and such are done. |
| Early Schooling | Test Environment | The this is like walking for the first time or going to school for the first time. |
| High School/prep school | Staging Environment | This is where we are really tested, bullied, etc. |
| College | Performance Environment | Advanced testing happens here, preparing subject for great success throughout life. Usually expensive |
| Trade school/internship | Beta | This is where real hands-on training and learning happens. Usually, everyone is quite patient with issues here |
| Adulthood/employment | Production | This is where the application begins to be a productive member of society |
Actors
| Anthropomorphic Equivalent | Application Equivalent | Notes |
|---|---|---|
| Parents | Developers, Architects | Those who create the vision and design for the application, and nurture it in very early life |
| Coaches/Teachers | Testers | Those who help put the application through its first challenges |
| Professors | Load testers/Chaos Testers | |
| Trainer/Colleague | SRE/App Ops | Those who help train the application in production |
| Siblings | Suite of applications working together | Understanding your relationship with your siblings is really important! |
Events
| Anthropomorphic Equivalent | Application Equivalent | Notes |
|---|---|---|
| Marriage/Joining a Team | Integration with another component. dependencies of applications on each other, integrating with a suite of applications. | |
| Adoption | Being acquired | |
| Parent/Teacher conferences | Developer Checking in with Productions Team to see how application is going | |
| Coming home for the weekend to do laundry | Applications need some extra help to get moving. This is like when an application sends an alert that isn't immediately actionable |
Other interesting thoughts in this thought model:
| Anthropomorphic Equivalent | Application Equivalent | Notes |
|---|---|---|
| Deadbeat parents | Developers who "throw things over the wall" do not encourage healthy & mature children or working applications. | |
| Boomerang children/failure to launch | Applications which never really make it to maturity, or always need to be taken care of by developers | |
| Orphans | Applications whose developers have left the company | |
| Foster parents | Developers that pick up the maturation of an application to adulthood | |
| Allergies | Characteristics of an application that only a parent would know that could be incredibly harmful to it. | |
| College Application/Employment Job Application/HR Personnel file | Evidence of Releasability | |
| FBI Background Check | FedRamp or other Compliance Certification | |
| Juvenile delinquency | Bugs found in pre-production | |
| Arrests/Jail time | Applications not performing well in production | |
| Fresher/Intern | Application just into production, needs lots of training by a mentor & advice from developers | |
| Grades in school/Trade certifications/Annual reviews at work | Service Level Indicators |
*Exceptions
As of right now - applications don't have self-actualization needs. Yet. However, the rest of the model still works.
Notes/Links/References

Comments
Post a Comment