David West has been a software professional for forty years, most recently as a consultant/coach in Agile, Design, and Enterprise-IT Integration. He is the author of Object Thinking (Microsoft Press Professional) and has been a speaker at numerous conferences including SPLASH (new OOPSLA), Onward!, Agile, and various PLoPs. He has graduate degrees in Computer Science, Cultural Anthropology, and Cognitive Science along with an undergraduate education in Asian Philosophy.
He believes in people, not technology or methodology. He has a wealth of experience in achieving systemic change and IT-Enterprise integration while significantly, reducing IT costs.
We asked David some questions about his workshop. A key focus of the workshop will be about breaking down the silos that exist between IT and business.
Why is it important to break down silos that often exist between IT and business?
There are two important reasons. The first arises from the four agile values (originally XP values) – two of which, Communication and Feedback – mandate the free flow of information “in real time.” By real time, I mean the time frame in which the work is being done. There is nothing more frustrating than having to wait for a question and answer to go through channels, when a direct communication could resolve the issue and allow you to proceed with your work. If you look at all the agile practices, most of them are intended to enhance communications among the Whole Team.
The second reason is not as easy to see. We have known since the 1960s of the problem of “necessary interpretation.” An example: The business person articulates some needs and expectations – requirements – to the systems analyst. This is done using some kind of ‘formal’ model. The model cannot contain all of the understanding of the business person, tacit knowledge is omitted, for example. The system analyst must interpret the model, using her own mental language and translate the requirements into specifications, again omitting much of what she knows from her formal model. The programmer must, yet again interpret the specifications and translate into their mental language (which is a function of the particular programming language used) and write their code. This chain of interpretation and translation consistently generates software that bears only a partial resemblance to what was expected. The more links in the chain – the more silos you pass through – the greater the divergence.
In your experience, what makes it really hard to break down these silos?
Business, and to an even greater degree Software Engineering, are grounded in a philosophy of “scientific management.” This is a cultural phenomenon which means we are not even aware, usually, of why we do things the way we do. Scientific management principles focus on formality, constraint, and control. In communications this takes the form of establishing formal communication channels, defined formats for communication (formal models like UML), and limits on how many people any individual should manage and therefore communicate with. Add a strict hierarchy, and you get lots of silos. This is justified with arguments like, “you cannot have everyone talk to the CEO, she would not have the time to read and respond.” This entire culture of scientific management extends beyond the IT shop and the business and makes it extremely hard to change – even with awareness.
What will be the key take away for the workshop attendees?
Participants will leave with a simple and extremely powerful model of the enterprise; useful for integrating IT efforts with business objectives, mapping agile practices to the satisfaction of business needs – all while providing a foundation for leveraging IT to support an agile and innovative organization.