After waiting for long 14 months, we got our home, newly built in a nice neighborhood. My daughter and I had been visiting home everyday ever since we signed the agreement with builder. In the beginning it was only a plot and a dream of a home. A vision of a cozy, comfortable home for my family for years to come. Designed to suit our needs and lifestyle, probably built to more than we need, each room with its purpose as requirement. Foundation to roof supporting the vision. The softwares are not that different, no wonder in early 1960s someone coined the phrase “Software Architecture” but resonated with people in 1990s. Some of the key similarities when I look back, there are so many scholars have compared home analogy to software building1.
We decided to build a new home was our vision. Living in a home, changing perspective to life, living through and enjoying every bit and piece of the brick and mortar was our Value Stream. The construction architect had several conversations with us and documented our value realization though his own “Common Requirements Vision” documentation techniques. He clearly identified the stakeholders as our family.
Taking our daughter through the value stream in every stage (Value Stream Stage) of her growing life was our strategy. Growing a daughter and joy on her face when she saw her new bedroom constructed was the Value we drew first, and there will more moments of those coming ahead. Like any good software architect, our construction architect had blueprints ready before beginning to construct. He had different blueprints for each party involved, like us (stakeholders), foundation workers, roofers, framers, HVAC contractors, electricians and plumbers and so on. The blueprints for our home were designed with our usage patterns/lifestyle (Business Process) in mind. Every room (module) in room is designed to fulfill each process step (our lifestyle). These rooms are connected via doors and hallways just like software interfaces. Foundation is the framework or platform that supports each room above it. Roof, brick and stone veneer are made to protect the home just like the encrypted bits, secured interfaces. Locks and security system are Authentication and Authorization of the software. It uses utilities like water and electricity from City which works like accessing Operating System services via Virtual Machine or Container. Home was built with city, health codes, which are the Architecture Principles for our home. Although these construction codes don’t include Rationale and Implications, but these principles are based on years of experience of what can go wrong if not done correctly.
Lastly, my wife added more modern touches to home like selecting granite, carpet, paint. She worked with builder kept the home with latest trends in what home should have. Thanks to HGTV and internet we have latest door-in-door refrigerator, in-wall pest control system. Modern trends in construction were utilized. We need to keep upgrading to remove wear and tear, match the new styles. Eventually some rooms in home will be modernized as we deciding on changing our Goal Tree for the home, our Value Management Framework will decide the priorities and investment decisions over time in our home.
And finally, in my daughter’s mind Dad can fix anything, so if anything breaks in the Home, I have to fix it, I am the support team for the home.
The process of building a software and construction of home are not that different, both of them must be built with a vision, principles and its use in mind. The ones built without those in mind may not be able to serve its business user. Although Business Process is an anchor for building a software, the strategy and vision guide the changes in the business process.
- P. Naur and B. Randell, Eds.,, ed. (1969). “Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7–11 Oct. 1968.”