Design

9/5/2005 6:46:09 PM

Design

Traditional shops will have programmers or architects produce a detailed thorough design of the software, before it is even developed. For a shop with several developers, this makes sense, because the cost of any design errors grows rapidly with time, especially when multiple developers are involved and code needs to be integrated. Design documents also serve a second purpose as a communication tool for the rest of the team.

XP shops will eschew up-front design for a more iterative form of development. To compensate for lack of design, developers practice test-first development in which units tests are constructed before any actual development has started. Communication of design is achieved through other mechanisms such as pair programming, frequent small releases and integration, and regular dialogue with the customer.

While I use unit tests for development, I don’t usually construct unit tests before development. I do some upfront design, but I don’t go into heavy detail. For me developing a large application on my own, I try to avoid any unnecessary work. I obtain licenses to commercial libraries and graphics, utilize the most productive tools and languages, and reuse code extensively.

One significant practice of mine is to develop first in XML. The XML file, which specifies how my application should function, is later transformed to C# via code generation or processed at runtime as data by the application. Effectively, I am using XML, in some ways, for design. This approach reduces my testing costs and allows my to make major changes to implementation quickly.

Comments

 

Navigation

Categories

About

My name is Wesner Moise. I am a software entrepreneur developing revolutionary AI desktop applications. I worked as a software engineer in Microsoft Excel group for six years during the 1990s. I worked on PivotTables and wrote the most lines of code in Excel 97-- about 10 times the median developer. I have a Harvard BA in applied math/computer science and a UCLA MBA in technology entrepreneurship. I am a member of the Triple Nine Society, a 99.9 percentile high-IQ society.

Social Media