I find myself asking this more as I finish up teaching a training series on software deployment and repackaging. I found that the questions on the last day lead me to lean towards defining it as a discipline or almost, dare I say, and art form.
While there are definite reasons and decisions that are made to identify how you automate a software installation, the final act of automating is really up to the “artist”. Some may find it better to analyze and recreate, while others may capture everything which is like throwing mud at a wall to see what sticks.
Some re-engineer software installations like they are ornate sculptures or grand buildings, needing to endure time itself. Then again, some just throw something together, like a preschool finger painting, and hope that it doesn’t break anything. And software suites for repackaging don’t help. They try to give you all the answers through pretty wizards and an overflow of tools, even before you even know there were questions. (Not helpful, BTW)
When I entered the last day of the class today, I was feeling proud, knowing that I provided many days of technical knowledge that should have raised everyone’s skill level to the point of installing anything and understanding what changes were being made and why. What I totally missed, in all that pride, was the real WHY. Why repackage? Why this method over that one? Why a transform over a script? Who is really right in the end if it all installs correctly and will be updated in a year or so anyway? And who really runs patches anyway (outside of MS products)? Almost any system I’ve implemented, ends up with removing the old and installing a new version as the upgrade path.
I guess part of it was that I assumed that these answers and questions were obvious. I mean, why take a class on repackaging unless you understand some basics about why to automate. I found myself wishing that I had spent more time actually teaching them why I made decisions for using one automation method over another based on what I was trying to accomplish and what technology was being used initially.
I was able to create a decision tree for them that would aid in defining some of the decisions, but in the end the choice was really up to the artist and how much time and pride he had time for or wanted to invest in the automation.