Extreme Programming (Ch. 14)

advertisement
Extreme Programming
Extreme programming is a relatively new methodology for application development,
created to facilitate the fast, streamlined development of high-quality applications. Features of
extreme programming include:
 User “stories”, or needs that determine software features, are usually written on index
cards and are the basis of requirements for a project;
 Simple functionality tests are written by users before coding begins;
 Coding is broken down into very small segments of functionality that can be
completely coded in two or three days;
 Programmers work in pairs;
 Projects rotate frequently among teams, giving all programmers an understanding of
the entire project;
 Code is frequently refactored and revised to improve quality and performance.
Extreme Programming at DaimlerChrysler’s ITM Financial Organization
Given the economic climate and slowdown in the manufacturing industry during the last
quarter 2000 and continuing into 2001, the ability of manufacturers to respond quickly to market
changes is not only a competitive advantage but also a necessity for survival.
The ITM Financial Organization at DaimlerChrysler is building its own financial
applications in Java using extreme programming techniques to speed its development and
deployment cycle. Getting an application into the hands of employees and customers quickly and
efficiently through the use of a streamlined development and deployment tool aids an iterative
development approach in the department. Similar in concept to rapid application development,
extreme programming techniques require a streamlined approach to analysis and design that
allows companies to develop what they need when they need it, doing frequent builds and testing
often so there are no costly surprises at the end.
DaimlerChrysler also chose Java to simplify and speed development projects. By
standardizing on the Java 2 Enterprise Edition platform, the company has the architectural and
development capabilities it needs to plug in the applications and deploy them rapidly.
Why did DaimlerChrysler choose to develop its own applications in Java rather than buy
off-the-shelf products? The company has been using Java for several years to develop
applications. It has always looked first to see if it could find an off-the-shelf application that
would meet its requirements – for example, from SAP or PeopleSoft – but usually found that this
was not possible and that it had to develop in-house applications to obtain the features it needed.
The company has done it all with Java, going through to the back-end systems, interfacing at the
database level, and wrapping code on the mainframe.
When an application is being developed, it may be sent to ten internal users so they can
test and play with it, then give their feedback to the developers. An application in production
mode can be sent to as many as 1,000 users, some of whom may be planning to release it to their
clients.
The ITM Financial Organization did not take the easy way out. It would have been easier
for the group to use off-the-shelf packages. But the group’s choices are paying off in terms of its
ability to rapidly develop and automatically and concisely deploy customized financial
applications to a large number of users. Simply put, there are some applications that just cannot
be bought off-the-shelf.
Download