Looking back at the experience with enterprise IT architecture, I come to realize that in this area, IT mastery is just a prerequisite for delivering projects successful in the long run.
This relates to the two interest groups shaping the IT landscape of large enterprises: implementors and visionaries. Implementors are responsible for the success of individual projects within budget, time and scope. Visionary architects see the interaction big picture of the solutions delivered, which calls for standardization and a degree of purism in order not to clutter and jam.
In order to also prosper and grow, IT solutions must reflect the “social” impacts as well: software is made by people and companies, each with their own goals and priorities. These people’s general attitude will decide about the long term success of a technical solution. Thus, architects and implementors must align their pursuits. Choose a technically correct, open and best practice approach, but if there are multiple comparable options (which there mostly are) give a serious consideration to the people who will live with the solution, maintain and develop it.
Examples can be found at all levels – application design, SW infrastructure, enterprise IT components:
- it is important to design a clean object hierarchy, if there’s someone to extend it later (remember the story of developer acceptance of EJB 1.x through to 3.x)
- an enterprise should introduce a centralized and secure user identity management infrastructure, but it must be attractive enough for the implementors and maintainers of business IT systems to get involved
- it has become a best practice to delegate customer interaction to an enterprise-wide CRM, just don’t forget to make this best practice obvious to the users who should fill the system with precious data
Reading IT classics (Brooks, Parnas, Coplien), one can see that the awareness of these human aspects in IT architecture has been around from the beginning. Still, in the stress of real-life projects it is easily forgotten. It is helpful then to reserve time in the assessment and planning period of projects to evaluate the “social” impacts of the projects reviewed and planned. This also naturally brings together the two interest groups.