What parts of IT need to be architected?
I would say all of the above. But what do we mean by architect? The concept of architecture in IT follows that of civil engineering. It’s really quite simple, let’s refine our model on paper (metaphorically speaking) before we spend money on hardware.
If I had to highlight the biggest weakness I’ve encountered over the years, it was in process. Too many folks in IT cave to executive pressure to deliver fast. The problem with moving fast is that you don’t always have time to ask the necessary questions on requirements. And, I’ve found from experience that it takes 10 times longer to fix an issue than it would have taken to design for the requirement up front. The true goal of architecture isn’t to add red tape, it is to simplify delivery. By clarifying the goals up front, we can reduce the time and effort to deliver a functional design.
I intentionally put Data as #2 on the list as I have found that lack of understanding of the data model has been a common culprit in over-engineering the infrastructure. IT is generally the mechanism behind collecting, storing and delivering data at the most efficient means possible. A good data architect is vital to understanding the model, and from that being able to provide the best infrastructure to meet the business goals.
Next on the list is applications. This is often the black hole of IT as most applications have a difficult time providing a true architecture. So many times I’ve been given port requirements or TCP diagrams in response to requests for architecture. The reality is that the architectures need to define producers and consumers along with the methods in which data is communicated in order to produce a true picture of the work that needs to be supported.
The last 4 – storage, network, platforms and servers are the composite subgroup that make up IT infrastructure. In general, this is a collaboration of several teams typically directed by a CTO or an entrerprise architect. The goal of this group is to evaluate business forecasts to ensure that capacity and planning activities provide reasonable resources in advance of the business needs. If capacity is underforecast, then delays occur during projects as they become subject to availablity and supplier timelines. If overbuilt, then valuable budget dollars end up in a store room or sitting idle in the data center.
The overall purpose of incorporating architectural methodologies into your environment is to ensure that your organization can produced repeatable and efficient results in each project that comes. A critical output of architecture is asset harvesting. During the retrospective, the architect will look at any new processes, tools or artifacts were generated and add them to the library for future reference.