June 25, 2008, 3:10 PM — Most conventional approaches to IT development assume that youâ€™re building entirely new systems. But such â€œGreenfieldâ€ development is a rarity. Nearly every project exists in the context of existing, complex system landscapes â€”Brownfieldsâ€”that often are poorly documented and poorly understood. This authors of this book take this reality into account and offer a new, fully optimized approach to â€œBrownfieldâ€ development. In the chapter excerpted here, they examine the necessary technical context, requirements, and characteristics of the Elephant Eater, a machine specially designed to help you devour those complex, elephantine, expensive projects that all too often seem to fail.
Chapter 6: Abstraction Works Only in a Perfect World
"There is no abstract art. You must always start with something. Afterward you can remove all traces of reality."
In the first part of the book, we saw how IT systems have grown increasingly larger and more complex over time. This growing complexity is challenging the capability of businesses to innovate as more of the IT budget is channeled into regulatory compliance, replatforming, and maintenance of the status quo. As this book has shown, changing these systems is not primarily a technical difficulty, but one of coordinating and disambiguating human communication. In overcoming such difficulties, we have introduced the concept of an Elephant Eater and the Brownfield development approach.
This second part of the book explains the technical and practical aspects of Brownfield for someone who might want to implement such an approach. This chapter examines the necessary technical context, requirements, and characteristics of the Elephant Eater. The chapter then goes on to analyze existing IT elephant-eating approaches and highlights the problems these approaches present with their extensive use of decomposition and abstraction.
Considerations for an Elephant Eater
The following sections outline considerations for the Elephant Eater. The problems with large scale developments are many, and the first half of the book illustrated some of the problems that such developments pose. The high failure rate for such projects is the reason why the creation of an Elephant Eater was necessary. Like any problem, the starting point for a solution is the understanding of the requirements, so if an Elephant Eater is going to be created, it needs to cater to the considerations in this section.
Lack of Transparency
On very large-scale developments, the problem being solved usually is unclear. At a high level, the design and development task might seem to be understoodâ€”for example, "build a family home," "design a hospital," or "implement a customer relationship management system." However, such terms are insufficient to describe what is actually required.
For any complex problem, some degree of analysis and investigation is essential to properly frame the detailed requirements of the solution and understand its context. In conventional building architectures, the site survey is a fundamental part of the requirements-gathering process.