Skip to main content

Software Development terms applied to Home Construction

Let's Invert the typically wrong headed view of Software Development project management as a construction project.  We can map it the other way just to see if it works... to have some fun, to explore the meaning of phrases we toss around quite frequently.

Site Landing Page

Normally Project Management terms come from a construction domain.  We are going to apply the lexicon of modern software to the construction of a home.  We will follow the construction project and meet some of the people doing the work.

This is a very small (8 homes from $600,000 skyward) program in my 30-40 year old neighborhood.

About 6 months ago I saw the programs landing page go up.  It gives casual observers and some of the stakeholders a general idea of the intent of the program.  And most importantly who to contact for additional information if you happen to be interested in their products.

The Refuge program has 8 product projects and has them running independently.  Yet much of their DevOps infrastructure has already been created, connected into the internet grid and stubbed out on-site.

They have spent around a year getting this very basic architectural infrastructure stack created and connected.  It is some of the most expensive work; with lots of planning and sign-off, all unseen to the interested stakeholder.

a Walking Skeleton
So today at the end of August, 2017, the program has 3 projects underway and starting to add value.  The walking skeleton of the 908 Vintner project is looking great.  Let's examine a few of the product's features and the engineers creating them.  Looking closely at the temporary construction and test framework on the right of the skeleton we see two engineers placing shaved pixels precisely onto the 2nd floor dormer feature's facade.  Pixel placement and facade construction is a tedious process in this project.  But the external facade is in the 80% complete phase.
Joey, a facade speciallist

Here is Joey, one of the specialist
(and generalist - very T-shaped engineer) is doing very precise pixel placement for the back-porch feature.

Interface for Fireplace Feature
We also see some of the interfaces have been hung for the sub-feature referred to generally as the back-porch fireplace.  If you zoom in and examine some of the facade's pixels you might find that their CSS techniques are very old school.  This group of engineers are actually utilizing one very high powered pixel-slicers, to make the component edges look very mitered and give that classic red brick look and feel.
a pixel slicing machine






 project infrastructure
Now let's inspect the status of one of the other projects not so far along.  Here we see a plumbing ditch that the DevOps people have requested be installed before the foundation is even laid.  This is site work, and if it is not within spec then major replanning or rework will be required in the project.

We also see on the just barely started project a set of stubbed out services in place on site.  These stubs are functional and highly regulated stubs that are used to boot-strap the projects builds.
Services Stubbed out.








 Next time we will take a look at some of the more functional interior features of the projects.

The Next Project

ground work
As the 2nd project on the program get's underway we see lots of the ground work needing to be done.  It require moving lots of dirt.  Now I question if a home foundation can be laid upon 3 feet of fill dirt.  but I see that the slab is going to have lots of steal and stressing compression cables.

After many of the project's services are located they are stubbed out.  Left here for some future engineer to connect to a functional appliance.  In this industry there is a lot of phased development with interfaces stubbed out.

port holes in firewall
Here's a look at the ground work with a firewall barrier in place.  Looks like they are taking extra precautions at the holes in the firewall.

firewall inspection
Malibu my golden retrieve, is inspecting the firewall, and steal reinforcement for the foundation.  [do we have a term in software for rebar or prestressed concrete components?]








Garbage Collection
But here's a situation I know we could help them... Garbage Collection.  OMG they don't play the game of cleaning up after yourself.  They create lots of trash piles and just expect someone else to come along and pick it up.  They do not recycle their bytes.  The system cost of this portions of the project would be a Lean Waste bonanza.








Initial Data Load

Data Normalized

I've been waiting for this day - the initial data dump.  Here we see a crew (some generalist and a few specialist) working together to insure the initial data in the Foundation is spread out evenly across the various hard drives of the RAID system and doesn't interfere with the stubbed out interface already located.

And just a day later all the data process scripts have normalized the initial data load.

Next someone laid out the plan onto the physical data layer in chalk.  Then I saw a designer of truss systems taking physical measurements (not using the plan).

Wood data dump
Blue firewall/adaptor
A few days later (I think it may take days for the foundation's data to harden) there's a new crew out doing another data dump (but a new type of raw data - this data type is handled very differently than the previous data).  The very next day engineers are hard at work crafting frameworks for features common to all homes.  They build these frameworks from raw data of a base object Wood.  There will be lots of wood put into this project, and that wood base object will have many customizations, extensions, and specializations applied.  The wood and concrete interface will also be treated with a special interface firewall adaptor.  I'm not sure if this is a water firewall or an insect firewall - it may be a new air firewall component.

Wood Frameworks


See Also:

Strategic and Tactical IT Assets by Dave Nicolette

Post a Comment

Most Popular on Agile Complexification Inverter

Exercise:: Definition of Ready & Done

Assuming you are on a Scrum/Agile software development team, then one of the first 'working agreements' you have created with your team is a 'Definition of Done' - right?



Oh - you don't have a definition of what aspects a user story that is done will exhibit. Well then, you need to create a list of attributes of a done story. One way to do this would be to Google 'definition of done' ... here let me do that for you: http://tinyurl.com/3br9o6n. Then you could just use someone else's definition - there DONE!

But that would be cheating -- right? It is not the artifact - the list of done criteria, that is important for your team - it is the act of doing it for themselves, it is that shared understanding of having a debate over some of the gray areas that create a true working agreement. If some of the team believes that a story being done means that there can be no bugs found in the code - but some believe that there can be some minor issues - well, …

Elements of an Effective Scrum Task Board

What are the individual elements that make a Scrum task board effective for the team and the leadership of the team?  There are a few basic elements that are quite obvious when you have seen a few good Scrum boards... but there are some other elements that appear to elude even the most servant of leaders of Scrum teams.









In general I'm referring to a physical Scrum board.  Although software applications will replicated may of the elements of a good Scrum board there will be affordances that are not easily replicated.  And software applications offer features not easily implemented in the physical domain also.





Scrum Info Radiator Checklist (PDF) Basic Elements
Board Framework - columns and rows laid out in bold colors (blue tape works well)
Attributes:  space for the total number of stickies that will need to belong in each cell of the matrix;  lines that are not easy eroded, but are also easy to replace;  see Orientation.

Columns (or Rows) - labeled
    Stories
    To Do
    Work In P…

Webinar: Collaboration at Scale: Defining Done, Ready, and NO.

I was invited to participate in a Scrum Alliance Webinar.  Maybe you would like to listen to us in a discussion of techniques to collaborate at scale (remotely and with many people).  The topic is one that I've got some experience in discussions - yet I never seem to get to done...
Collaboration at Scale: Defining Done and Ready and NO for Distributed Teams
With Joel Bancroft-Connors, Agile Organizational Coach; David A. Koontz, Agile Transition Guide; and Luke Hohmann, CEO and Founder of Conteneo, Inc.


14 February 2018 11 a.m. ET (USA).




The Scrum Guide is pretty clear on the criticality of the definition of Done: "When a Product Backlog item or an Increment is described as "Done," everyone must understand what "Done" means. However, the Scrum Guide ALSO says that the definition of Done can "vary significantly per Scrum Team." This leads us to examine when and how the definition of Done should vary, how distributed teams should cr…

A T-Shaped 21st Century Knowledge Worker

Knowledge workers in the 21st Century must have many areas of deep knowledge, while also be capable of collaboration across multiple other domains with dissimilar T-shaped individuals.  This description of a person is a metaphor.  Compare it to the shape of the "I" in the classic saying there is no "I" in Team.


I first read about Scott Ambler's term "Generalizing Specialist" - but it's so hard to remember the proper order of the words... get it backwards and it has an inverted meaning... T-Shaped is easier to remember. 
A generalizing specialist is someone who:
Has one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...). Has at least a general knowledge of software development. Has at least a general knowledge of the business domain in which they work. Actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.  General…

A FAILURE to Communicate

I was working with a failing team some time ago.  I use "failing" to describe the outcome of the team - not the people on the team.  Are you OK with that description?



An issue arrose in the stand up - a team member that was to verify the quality of a procedure did so and reported that there were a few records that didn't match expectation in the data set.  Upon inquire the number of records not matching was over 2000.  Most people acknowledged immediately the exaggeration - I could tell by the laughter.  After about 10 minutes of discussing the details of the problem - it appeared the team had a handle on the specific situation.

I stopped the discussion and inquired if they could name the impediment.  One team member did a great job of describing the impediment as a _communication gap_.  Wonderful - I could work with that - the problem had a name and it didn't include anyones Proper Name.

"If the problem has a first name; we are going to have a problem."

I&#…