JPMorgan
Situation
The group built software for the internal Equity Derivatives customers, groups of traders and their eternal clients. The applications were web based utilising a Java/J2EE platform.
Problems
Code quality was low, many releases contained bugs that would cause releases to be pulled just before implementation or immediately after when problems were discovered by clients.
Solution
Concentrating on the principle of Customer Value, we changed the requirements gathering to be just-in-time so new features and bug fixes were worked on in two-week slots. Future features were ignored and code was written only to implement the task at hand. A test harness was implemented such that code was written test-first. No test, no code. A standard format for code was agreed and an automated way of applying it made it easy to use for developers.
Results
The formatting standard and test first practice increased the quality of code. Far fewer bugs were made into the system. The two-week iterations meant that smaller changes were released but more frequently, this increased flow of features to clients. Coding features just-in-time and ignoring work far into the future meant that the system was much simpler and coupled with reworking code mercilessly this meant that it stayed simple, thus drastically reducing the cost of each change. Bottom line – releases went out more frequently so clients saw value earlier and the incidence of pulled releases went to almost zero in 7 weeks.
