Rebuilding the Enterprise - Software, Hardware and Peopleware Migrations for the Systems Architect

3/28/2014

3/28/2014 Posted by William Berry , , No comments
Last night's #ArchitectureMadeEasy tweet included a wonderful little video from the This Old House series.
In this medium length clip, we learned how to add a small deck off of our mud room or kitchen, that includes a few stairs down to grade.  This clip is the perfect analogy for cutting a new feature into an existing piece of software.

Our work begins by laying out and assembling the rough framework to support our feature.  We identify the key components, prepare the rough outline, test the interconnects and assemble.  With our feature rough framed, we turn our attention to preparing the house, or in this case the base software package for the new feature.  Thoroughly, inspect the contact surface for rot/technical debt.  We want to make sure that the interface to our new feature is clean and free of potential defect.  Using the interface, couple your new feature's base framework to the existing software and fasten securely.  With the framework in place we can begin to fill in the remainder of the project.

If your new feature acts as stairs or a transition to another system or feature, turn your focus to that interface and begin to work the connections back toward your new framework; think of this as your newel posts and stringers from the ground back to your deck's framework.  Using the same interface preparation methodologies noted before, make any adaptions necessary to ensure a defect free coupling.

Cut out each sub-module and test it throughly before fitting it to the base feature framework.  You will likely find some small adjustments to make as you perform the final fitting.

Remember that architecture is more than just applying patterns, it's developing a process, one that works for you and the team as a whole.

I hope you enjoyed last night's tweet.  Follow the #ArchitectureMadeEasy hashtag on Twitter and this blog for the followup commentary.

0 comments:

Post a Comment