Tales from a Trading Desk

Noise from an Investment Bank

October 2005 - Posts

Porting legacy C++ code Java - Answer

Damian's comments were spot on - although he did have an advantage :).  Essentially you have no choice but to build functional tests against the original app to prove that the new Java code produces identical results.  I also implied in the original posting that not all the code was being ported - the accumulation and session management code wraps the calculation code which will remain in C++.  The functional tests have already proved there worth by identifying an issue with data marshalling in Java, that didn't exist in the legacy application.

TDD is a must when developing the new code for obvious reasons.

eTrading Software

eTrading Software looks to be a new consultancy that has moved into the same space as finetix - project based trading system development.  Its going to be interesting to see how well eTrading Software does in London (UK) compared to finetix, since today they are about the same size.

Porting legacy C++ code Java

The problem:

  • C++ Corba legacy codebase (5+ years old, 1 million lines)
  • No unit tests
  • Little test data
  • Limited knowledge transfer from the original development team.
  • A flake environment to run the application in.

The requirement:

  • Port the C++ result accumulation and session management code to Java
Do you:
  • Write C+ unit tests to understand the current system, then write Java equivalent code using TDD
  • Write Java tests using TDD based on your understanding of the C++ code
  • Hope you understand the C++ code, and JFDI in Java
  • Give up and go home
  • Get the original development team to do the work
Agile, no its JFDI

A colleague has invented JFDI a new process/framework (call it what you will).  I think he should patent the idea, start marketing the concept, and start selling training courses to the investment banks.  Good luck to him, I think he onto a winner of an idea.  I'd add the following to the JFDI manifesto:

  • Kind of working software with absolute no documentation.
  • Guaranteed bugs
  • Customer Collaboration only when its career and bonus enhancing.
  • Responding to change only when absolutely necessary, and only when directed by 3 levels of management (command and control)
  • Guaranteed delivery of the software on the date required.
Posted: Oct 26 2005, 09:05 AM by mdavey | with 6 comment(s)
Filed under:
Sun's grid: lights on, no customers

No surprises here.  From a commercial software perspective, DataSynapse and Platform seem to be doing well in the investment banking arena. Question for Microsoft; Will your up-and-coming Compute Cluster solution do any better than Sun's attempt?

Anyone used Paremus's Infiniflow grid product?

Posted: Oct 26 2005, 08:33 AM by mdavey | with 4 comment(s)
Filed under:
Finetix and Ken Schwaber host Breakfast Scrum Seminar, Nov 30 NYC

Extract from an internal email:

"We are holding a Breakfast Seminar on Nov 30, together with Ken Schwaber. This 2-hour session will be for clients and prospects to learn about agile development, what it is, how we do it, and some project-specific presentations. We will be asking all of our current clients to attend, so if you know of anyone who you know would like to attend, please let me know"

Posted: Oct 21 2005, 11:14 PM by mdavey | with no comments
Filed under:
ScrumMaster course - Day 2

Today the main points I came away with were:

  • Fixed Price Fixed Contract Scrum is possible - Ken has a slide on this, with possible contract clauses.
  • When replying to an Request For Proposal (RFP) consider prioritizing the functionality documented by the client, and creating an initial product backlog.  This backlog should form part of the proposal for the client.
  • Investment banks (large organizations) are often so set in their ways of managing project, that the Scrum framework will probably only be used within projects from the bottom up - i.e. teams will start to use Scrum without management realising.
  • In an ideal world the Project Management Office (PMO) and the Vendor Management Office (VMO) of investment banks should probably all go on a ScrumMaster course to understand the benefits of iterative development, 30 days delivery, 30 days risk.
  • The course at Beaumont House was attended by a number financial companies: Citigroup, JP Morgan, Abbey and Nationwide.
  • Ken's Microsoft TV Scrum story about how the various Scrum projects integration from the viewpoint of hardware and software (complexity) was interesting. 
  • The continuation of the FIFA exercise today again highlighted the need to tell the client to truth - often going against the grain of almost every company I know.

The Scrum methodology can be found here.

Posted: Oct 21 2005, 09:46 PM by mdavey | with no comments
Filed under:
ScrumMaster course - Day 1

Today was the first day of the ScrumMaster course taught by Ken Schwaber.  For anyone looking to get into Scrum, I recommend this course.  Classic comments from Ken on the first day were:

  • Since CMM went commercial, it  "a pile of crap" "hell in a handbag"
  • "Workers rule" - a radical thought for most companies
  • Inspect and adapt (retrospective)
  • Focus on what can be done, not "yes, but"
  • Keep technical jargon out of the sales pitch
  • The Fat Burger story was a classic
  • Don't take on somebody else's risk !
  • Competitive advantage is telling the client the truth. Change the way you do business, the customers will follow
  • Possible tag line for a financial consulting company "30 Days Delivery" or "30 Days Risk"

Dan's on the course as well this week.


Posted: Oct 20 2005, 09:00 PM by mdavey | with 2 comment(s)
Filed under:
AEMI - Java or .NET?
I see Amex plan to implement a new hybrid trading structure using its in-development Auction and Electronic Market Integration Platform - AEMI.  Anyone know what AEMI is implemented in?  Is it an in-house development or did they outsource?
Another Week, Another Bank buy Grid Software

It appears BNP has purchased Platform Computing Symphony product to take advantage of spare compute capacity from 2000 desktop PCs within in the equity and derivatives division.  Given that I'm currently working for an investment bank on a grid project, it's always interesting to read what other banks are doing.  I'd be curious to know why BNP choose Platform over DataSynapse when BNP has already rolled out DataSynapse GridServer in its London derivatives area.  Given that DataSynapse has similar spare compute functionality to Platform, I wonder why BNP opted for a second grid product when they could have just used DataSynapse?

Update: Deutsche Bank also uses DataSynapse in the Global Equity Derivatives area for exotic risk calculations.  I believe they have around 1000 engines in there grid.  Other companies using DataSynapse have considered coupling it with Tangosol Coherence to avoid database bottlenecks - maybe DataSynapse should partner with a caching company to solidify there product.

Posted: Oct 17 2005, 11:29 PM by mdavey | with no comments
Filed under:
More Posts Next page »