• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

Part V: Process Improvements > Re: Architecture

Chapter 32. Re: Architecture

What ever happened to software architecture? Looking at a typical sample of in-house enterprise applications and commercial off-the-shelf software packages, it's often hard to find much evidence of underlying organization. Architecture, whether in the organization of the internal functionality or in the structure of the user interface, is often among the first victims felled by today's time-boxed software projects, short release cycles, and rapid application development. There seems to be no time to think through the consequences of architectural decisions. Often there is barely time to think. Full stop. Systems are thrown together as fast as features can be thought up, with little attention to overall organization. Developers find themselves looking ahead only as far as the next line of code or the next feature.

New technology has not been of much help. Visual development tools (see Chapter 23) open up new routes to the rapid evolution of sophisticated systems, but the pace of visual development and the ease with which working applications can be constructed can also contribute to a paucity of planning. The tools may even encourage a style of development where small pieces of code that mix business logic with bits of interface programming and underlying functionality get hung onto the back of visual components, the whole interconnected by a spider web of message passing and event threads that nobody understands completely. The result is today's version of the classic “spaghetti code,” in which everything is connected to everything else. When every change propagates unpredictably through the web of interconnected code, the potential for continuous software evolution shrivels.


PREVIEW

                                                                          

Not a subscriber?

Start A Free Trial


  
  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint