Serving the Quantitative Finance Community

 
User avatar
twofish
Posts: 0
Joined: February 18th, 2005, 6:51 pm

Best of Breed methodology

March 12th, 2006, 9:42 pm

QuoteOriginally posted by: hazeriderWhile I am aware I have a very strong tendency to reinvent the wheel, I find it hard to believe that there are so many projects that require such huge headcounts. It seems to me that a team of say 3 good programmers can produce much better code much faster than a team of 20 mediocre ones. The trouble is that there is huge amount of code that doesn't require brilliance. A lot of coding involves "put this button next to that text field, opps, not there I meant to the left, on second thought I changed my mind, we probably don't need that button after all." Also, most of the work in software development involves less coding and more debugging maintainence.QuoteOne very experienced developer on my team likes to bring up the example of Unix (or maybe it was something else, but definitely something that is in world-wide use) that was written by 3 people in a very short amount of time.No one is using the first version of UNIX today. The Linux kernel probably has several hundreds of developers working on it, and that's only one small part of a linux distribution.QuoteIt seems to me that these inflated development teams are the result of bureaucracy more than anything else, i.e. securing headcount which is a proxy for budget which is a proxy for bonus pool. Throw in all the regulations demanded by the SEC, and you have hundreds of programmers and managers where under 50 would probably have been sufficient.Doubtful. Managers today get more points for laying off programmers than for keeping them around.
 
User avatar
twofish
Posts: 0
Joined: February 18th, 2005, 6:51 pm

Best of Breed methodology

March 12th, 2006, 9:48 pm

The other thing is that headcount goes up greatly as reliability requirements increase.
 
User avatar
hazerider
Posts: 0
Joined: July 24th, 2003, 3:45 pm

Best of Breed methodology

March 13th, 2006, 5:37 pm

QuoteOriginally posted by: DCFCIt's known that programming ability is exponential, so f(3) can be > f(20)But not always.I think the time savings are exponential. Managing a team of 20 programmers takes a lot of time. The programmers themselves have to spend time keeping the manager up to date. And then they need to correct their manager's misconceptions. When you have fewer, but more productive programmers, you also save all the "management expense". Right now, at work, I need to come up with a plan for what I have to do to complete a certain project. This involves stepping through the code of a similar project, and try to guess which pieces I will have to implement, how long it will take, and what possible obstacles could be. Whereas I normally would just start coding and implement the pieces as the come up.QuoteOne very experienced developer on my team likes to bring up the example of Unix (or maybe it was something else, but definitely something that is in world-wide use) that was written by 3 people in a very short amount of time. Yes, but it didn't do anything. I used early Unixes. Amongstg the things they did not do at allNo networkikng, graphics or email. First gen Unixes had no file locking, they referred to it as "neither necessary or sufficient", no threading, no "full screen" editors. I'm not sure I can adequtely express how fiddly this was, except by saying that "grep" is named after the things you used to have to type. (Hint: no cursors)You can develop useful systems with 3 people, but only because they make heavy use of pre-canned libraries etc. But that only works when the libs do what you want, once you have write your own, body count soars.Also the "3 programmer myth" only works at all when they have the right skills. You may be a good programmer, but do you know XLLs, and threads, and XML, and SQL and FIX ...You get the drift. Take the "simple" task of sucking some data out of Bloomberg, constructing a yield curve, persisting it into a database, and presenting the results in an Excel graph that updates as points change. How many people have all those ? Can you afford them ? Well, a project I am working on at home (because work isn't exactly challenging) has to do with equity options. I wrote an app that downloads option chains from a website every 20 minutes, parses the HTML using regular expressions, and loads these into a SQL Server database (which also handles the job scheduling). I am also writing some analytics because I want to back test some trading strategies. I have a front end that allows you to visualize the data (found a very nice component for it, ZedGraph, highly recommend it). I plan to write an add-in for Excel to expose those analytics. This is all done in C#. All in all, I'd say I spent 3 weeks of coding time on it, since I didn't know regex, was not too familiar with the DB interfacing, and setting up the SQL Server itself. I did leverage a lot of code I had written previously in C++, and of course all the built in libraries of C# 2005.The point I am trying to make is, I am sure I am not the only one who can do this. There have to be good programmers out there, better than what I encountered at work (both colleagues and candidates). When you have three competent people, you can divide up the responsibilities, and everything goes even faster.Quote Throw in all the regulations demanded by the SEC, and you have hundreds of programmers and managers where under 50 would probably have been sufficient.You need to think harder about the complexity and diversity of modern s/w projects.I admit, I've never been involved in large scale projects from inception. But it still seems to me you should minimize the number of programmers for a given salary budget.
 
User avatar
Cuchulainn
Posts: 22933
Joined: July 16th, 2004, 7:38 am

Best of Breed methodology

March 14th, 2006, 7:53 pm

QuoteDrumbeat of SEISEI-CMM, 6sigma, and similar with their religion of phase containment also favor waterfall methods. I think most ppl on this forum understand that phase containment can be defined many ways, but SEI makes a horizontal division between requirements, design, etc. easier to understand and formalize than more creative process definitions. Yes?? no??A few years ago Unified Modeling Langauge (UML) and Rational Unified Process (RUP) were 'hot'. What's happened?
 
User avatar
nocturne2
Posts: 0
Joined: January 11th, 2006, 5:45 pm

Best of Breed methodology

March 14th, 2006, 11:16 pm

I use UML only if the right tool is available. For Java, it's Borland Together, which is based on Eclipse. A bit slow, but otherwise fabulous. For C++, it's harder. The Rose tools are too cumbersome. VS 2005 originally planned to have UML (class designer) for C++, but dropped the feature. Class designer is available for C#, however.
 
User avatar
LTrain
Posts: 0
Joined: June 23rd, 2004, 6:42 pm

Best of Breed methodology

March 15th, 2006, 6:31 pm

Cuchulainn wrote: >>A few years ago Unified Modeling Langauge (UML) and Rational Unified Process (RUP) were 'hot'. What's happened They went the same way as Case tools IMO: promised the world but delivered New Jersey.
 
User avatar
Cuchulainn
Posts: 22933
Joined: July 16th, 2004, 7:38 am

Best of Breed methodology

March 15th, 2006, 7:55 pm

QuoteOriginally posted by: LTrainCuchulainn wrote: >>A few years ago Unified Modeling Langauge (UML) and Rational Unified Process (RUP) were 'hot'. What's happened They went the same way as Case tools IMO: promised the world but delivered New Jersey. The Case tools sort of died out (again). Wonder why? What did they not catch on?The real CAD packages (AuotCAD, Medusa) are a great success. Quotebut delivered New JerseyWhat is this? interested in what new j means here.
Last edited by Cuchulainn on March 14th, 2006, 11:00 pm, edited 1 time in total.
 
User avatar
LTrain
Posts: 0
Joined: June 23rd, 2004, 6:42 pm

Best of Breed methodology

March 16th, 2006, 1:23 am

Cuchulainn wrote:>> What is this? interested in what new j means here. Just a bad joke. All I meant to say is that Case tools failed to live up to the hype. I think the same is (has) happened to UML.
 
User avatar
Cuchulainn
Posts: 22933
Joined: July 16th, 2004, 7:38 am

Best of Breed methodology

March 20th, 2006, 8:52 am

QuoteAll I meant to say is that Case tools failed to live up to the hype. I think the same is (has) happened to UML.Unfortunately, some IT people have now reverted to communicating via text files instead of Design Blueprint. From one extreme to the other.
Last edited by Cuchulainn on March 19th, 2006, 11:00 pm, edited 1 time in total.