jump to navigation

Still running October 28, 2005

Posted by newyorkscot in Client Engagement Mgt.
add a comment

Client: Let's build a credit risk calculation engine for regulatory capital reporting purposes. We know this will take a lot of analysis and design, together with 12 months of development. We have preselected Hibernate as the technology of choice to help us with access to the Oracle DB. We know that we will have to crunch over 2 million transactions a day on a batch basis where we will need to load reference data and calculate credit exposures for every transaction. Remember also that we have just completed an optimized batch calculation architecture before starting this project that can do over 2million transactions in less than an hour.Finetix: What will you do in terms of :

1) Leveraging existing architecture

  • a) Definitely Use It
  • b) Do some analysis and figure out the efficiencies of re-use and gaps
  • c) No. New project. Let's build new infrastructure from scratch.

2) Ensuring that your system performs appropriately ?

  • a) Let's collectively review the architecture for performance purposes, once we have designed it (and maybe even build a prototype?)
  • b) Let someone else figure out we have not designed this properly for performance at some point during the development process, and then ignore them.
  • c) Decide to wait until we have finished coding and get to SIT/UAT to performance test whatever we have at that point.

Client Answer: ? 1(c) and 2(b) and (c).Client Results: a 68 (!) hour process to crunch 600k transactions, compared to doing over 2million in 1 hour. The cause ? The use of cursors that go row by row through the data in Java and query the database for each one. Chances of quick fix - none.

Nice work, guys.

Reliability And Innovation October 12, 2005

Posted by newyorkscot in Agile, Marketing.
add a comment

Jim Highsmith makes some interesting statements and recommendations in his book - this is a must-read as it also has many real-life anecdotes and other industry/acedemic references. The top-line summary is that any company in the marketplace has demands to continually innovate while facing pressures to reduce costs, and to deliver in a reliable manner. Agile Project Management (APM) provides the framework to do so.He discusses the difference between repeatability and reliability of execution of projects - he argues that the former is for production processes and the latter is for exploration processes (where requirements are uncertain). This means that rather than focusing on time, scope, budget of projects we should focus on time, vision, schedule. The difference here is that the project delivers / implements a valuable product (implemented vision) of what the customer actually wanted within the time & budget constraints, rather than a completely pre-specificed result.

Another interesting observation is the manner in which companies innovate products do not follow linear development paths, and have a high degree and frequency of market feedback (which in our case might actually mean our specific client who is paying for a the project!). Interaction with the end-user is key and too many people substituue interaction for documentation ("throw it over the wall at the development team" syndrome). [Separately, for those interested in technology & innovation, check out "The Innovator's Dilemma" by Clayton M. Christensen]There are many very interesting concepts in this book (particularly: Complexity and how working at "the edge of chaos" generates the most innovation; complex adaptive systems theory reshaping scientific and management thinking; adaptive versus compliance management approaches, amongst others). All said and done, his framework for APM does resemble a lot of what we have done for our clients and implement in our project teams (ie deliver customer value, iterative/feature-based delivery, technical excellence, pragmatic (simplistic?) approach. Jim provides the framework and concepts to provide more insight and control over how these are implemented and managed. Get this book, it is a worthy read for all those interested in not just APM, but in general control, systems, and organizational theories, etc