268 Are the Androids Dreaming Yet? aS ft Avy r Av a : a a _—— How the customer explained it How the Project Leader How the Analyst designed it understood it i ) : 1 : , = How the project was What operations installed How the customer was billed documented Specification Cartoon the engineers or vice versa, and so groups have to interact. The main problem with vertically divided software is each group tends to reinvent the wheel, so you end up with multiple similar implementations of the same thing. All said, the architectural job in software is a dynamic one. You can split up software into separate elements but you must take into account the leakage between them. When you detect a leak you must bring people together to collaboratively solve the problem, rather than insisting on the original partitioning. While doing all this you must keep track of the overall aim and all the irritating small details contained in the many HOUSE_OVERSIGHT_015958