Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««123»»

Rogue Algorithms Expand / Collapse
Author
Message
Posted Thursday, September 6, 2012 9:22 AM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: Administrators
Last Login: Today @ 4:56 PM
Points: 31,168, Visits: 15,612
Scott D. Jacobson (9/6/2012)
John Hanrahan (9/6/2012)
Steve,

I'm surprised no one mentioned agile development practices. It seems like agile is another word for minimal testing. That's fine when the consequences of your code are small but maybe not so much when it's a stock trading program. Do you know if they used 'agile' development. In the Seattle area it is the buzzword.

John


I suggest you read up on agile programming. Unit testing and acceptance testing both play big roles in the process. Anyone who uses agile to mean "develop and deploy" with no testing whatsoever isn't doing agile. That's cowboy coding. See: http://en.wikipedia.org/wiki/Agile_software_development#Characteristics


I think that many people view Agile as a way to speed development and if that speed causes a lack of testing, that's OK.

I think it's managers that need to read up more on Agile, CI, and other practices.







Follow me on Twitter: @way0utwest

Forum Etiquette: How to post data/code on a forum to get the best help
Post #1355413
Posted Thursday, September 6, 2012 9:29 AM
SSC-Addicted

SSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-Addicted

Group: General Forum Members
Last Login: Monday, October 6, 2014 11:39 AM
Points: 408, Visits: 1,029
I laugh and laugh. Agile often means (to the managers in charge) get it done and skip whatever you think you can. That may not be the book definition but it's how many companies operate and I bet not a one calls what they do cowboy coding. I will say that the bigger the company I've worked with the better it gets (I worked as a consultant for almost 20 years) as in more testing etc.
Post #1355418
Posted Thursday, September 6, 2012 9:40 AM


SSC-Insane

SSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-Insane

Group: General Forum Members
Last Login: Today @ 6:26 PM
Points: 20,732, Visits: 32,496
John Hanrahan (9/6/2012)
I laugh and laugh. Agile often means (to the managers in charge) get it done and skip whatever you think you can. That may not be the book definition but it's how many companies operate and I bet not a one calls what they do cowboy coding. I will say that the bigger the company I've worked with the better it gets (I worked as a consultant for almost 20 years) as in more testing etc.


Then they aren't using Agile as it is supposed to be done. Testing is still an integral part of the development process.



Lynn Pettis

For better assistance in answering your questions, click here
For tips to get better help with Performance Problems, click here
For Running Totals and its variations, click here or when working with partitioned tables
For more about Tally Tables, click here
For more about Cross Tabs and Pivots, click here and here
Managing Transaction Logs

SQL Musings from the Desert Fountain Valley SQL (My Mirror Blog)
Post #1355428
Posted Thursday, September 6, 2012 9:49 AM
Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: Wednesday, October 15, 2014 5:41 PM
Points: 356, Visits: 918
So far we have "it's management's fault" and that's all? I agree that's probably more often the case than not but doesn't the person writing the code bear some responsibility for what they've created?
Post #1355439
Posted Thursday, September 6, 2012 10:02 AM


SSC-Insane

SSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-Insane

Group: General Forum Members
Last Login: Today @ 6:26 PM
Points: 20,732, Visits: 32,496
Not at all. The people writing the code are responsible for what they write, but they also have to answer to management. If management doesn't give them the time or resources, what are they supposed to do?



Lynn Pettis

For better assistance in answering your questions, click here
For tips to get better help with Performance Problems, click here
For Running Totals and its variations, click here or when working with partitioned tables
For more about Tally Tables, click here
For more about Cross Tabs and Pivots, click here and here
Managing Transaction Logs

SQL Musings from the Desert Fountain Valley SQL (My Mirror Blog)
Post #1355450
Posted Thursday, September 6, 2012 10:06 AM
SSC-Addicted

SSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-Addicted

Group: General Forum Members
Last Login: Monday, October 6, 2014 11:39 AM
Points: 408, Visits: 1,029
Scott I definitely agree that it's the coder's responsibility. I managed a group of 8-12 programmers for a few years and we used agile practices but we included robust testing, code reviews, etc. but ultimately the quality of the product was the lead programmer responsibility (and he/she was held accountable).
Post #1355452
Posted Thursday, September 6, 2012 10:12 AM


SSC-Insane

SSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-InsaneSSC-Insane

Group: General Forum Members
Last Login: Today @ 6:26 PM
Points: 20,732, Visits: 32,496
John Hanrahan (9/6/2012)
Scott I definitely agree that it's the coder's responsibility. I managed a group of 8-12 programmers for a few years and we used agile practices but we included robust testing, code reviews, etc. but ultimately the quality of the product was the lead programmer responsibility (and he/she was held accountable).


Looks like you gave them the resources and tools to do the job correctly. Unfortunately, there are probably just as many managers out there that don't.



Lynn Pettis

For better assistance in answering your questions, click here
For tips to get better help with Performance Problems, click here
For Running Totals and its variations, click here or when working with partitioned tables
For more about Tally Tables, click here
For more about Cross Tabs and Pivots, click here and here
Managing Transaction Logs

SQL Musings from the Desert Fountain Valley SQL (My Mirror Blog)
Post #1355458
Posted Thursday, September 6, 2012 10:21 AM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Today @ 9:07 PM
Points: 7,105, Visits: 15,433
Lynn Pettis (9/6/2012)
John Hanrahan (9/6/2012)
I laugh and laugh. Agile often means (to the managers in charge) get it done and skip whatever you think you can. That may not be the book definition but it's how many companies operate and I bet not a one calls what they do cowboy coding. I will say that the bigger the company I've worked with the better it gets (I worked as a consultant for almost 20 years) as in more testing etc.


Then they aren't using Agile as it is supposed to be done. Testing is still an integral part of the development process.


Who's to say it's either's fault. It could be any number of root causes:
- the checking algorithm (the one that validates that the sell price is higher that the price) doesn't get promoted at the same page as the "perform the trade" service because it's too slow (remember this checking has to happen in microseconds). So the thing you tested functionally in QA isn't what actually made it to prod.
- the ranges are data-driven (so the ranges to buy and sell are in a data structure). The ranges were completely sane at the time when it was promoted, but someone then adjusted the table AFTER the fact, but only updated the "buy" price, and not the "sell" price.
- a data caching issue.
- etc...

Without a root cause analysis, it's going to be difficult to assign blame to anyone. I do think you need to consider a LOT more controls when dealing with data not within your control, whether for attacks like injection, or for someone or something trying to "game" your system, or simply that there are lots of other players like you in the market which means things might change outside of your control.


----------------------------------------------------------------------------------
Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?
Post #1355464
Posted Thursday, September 6, 2012 11:16 AM
Right there with Babe

Right there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with Babe

Group: General Forum Members
Last Login: Today @ 11:42 AM
Points: 755, Visits: 1,927
... (remember this checking has to happen in microseconds). ...


Trading programs in the Asia Pacific rim have to be careful about leap seconds which are added to the year every so often as those markets are active when the correction is applied.


...

-- FORTRAN manual for Xerox Computers --
Post #1355504
Posted Thursday, September 6, 2012 12:54 PM


Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Sunday, August 3, 2014 3:41 PM
Points: 1,219, Visits: 1,430
Anyone from the UK remember BT Phone Day - back in the 1990s sometime, the UK phone company changed all number prefixes to add a 1 - so 071 became 0171 - and 021 became 0121 etc.,

Well I worked for this software company back then, whose clientelle were all insurance brokers - and pretty much survived on their phone lists. They would have a heck of a job changing all those numbers manually, there were a some exceptions, but few enough for some bright spark to have an idea well out of sync with his IQ.

As part of the monthly update - sent out to over 250 brokers - with the insurance rating prices, an extra script was run.

... can you see where this is going ... and yes it did happen.

All instances of '0' in all the phone number field were replaced by '01' - sometimes causing field overflow, and failure of the update - so the person applying the update would attempt to run the update again - which would overwrite the backup the original update had made.

I was a lowly support person at the time and still shudder at the fallout.

The company still exists, though the name has changed a few times.
Post #1355569
« Prev Topic | Next Topic »

Add to briefcase ««123»»

Permissions Expand / Collapse