Software Development Life Cycle (SDLC) Case Study – Result = $440M Loss

Share this:   

 

Software Development Life Cycle (SDLC)Importance

Solid Logic Technology’s foundershave experience across the financial industry and specifically in the development of quantative trading and investment systems. Many of the things we’ve learned along the way impact the way we develop software for clients across other industries. Most notably we’ve learned that software quality is extremely important and ‘software bugs’ cost lots of money. The study below shows how important in-depth software development, testing and launch management is for a company.

As early as August 1st, 2012 reports came out that Knight Capital Group,  a prominent electronic market-making firm specializing in NYSE equities, lost an estimated $440 million dollars due to a ‘software bug’. The news spread across financial news networks like Bloomberg, NY Times, CNBC and The Wall Street Journal.  Knight and other similar firms, trade US equities electronically using sophisticated computer algorithms with little to no human involvement in the process. While we will probably never hear the full story behind the ‘software bug’, it is suspected that a software coding error that was not quickly identified caused the loss. The loss is approximately 4 times their 2011 net income of $115m. It appears to have pretty much decimated the firm and at this point it looks like the firm will be bought or end up in bankruptcy.

While unfortunate, this example has some implications across any software project.

So what can we learn and take away from this incident?

  1. Software is not perfect, especially right after it is released
  2. A more comprehensive Software Development Life Cycle (SDLC) process and launch plan probably would have reduced the loss to a more reasonable amount.
  3. Always have a contingency plan for a new launch
  4. If new software is ‘acting funny’ then it probably has a problem and needs to be pulled from production and fixed
  5. When possible, conduct a series of small ‘pilots’ or ‘beta’ test along the way in a lower impact way
  6. If you cannot fully test the changes, then implement them slowly to minimize the potential errors in the beginning
  7. Have a ‘kill switch’ and know how to use it
  8. Have a formal SDLC process and follow it for all revisions
  9. Use source control for all software changes
  10. Have a defined launch process
  11. Have a way to quickly revert the changes implemented back to the previous version.

These are basic best practices that all software development firms should follow in order to consistently develop high quality software. Its unfortunate that there is a case study like this but these type of incidents are more common (but not to this scale) than most people imagine. I’m sure the group at Knight completed many of the above items, but something got away from them.

We put a huge amount of thought and effort into the process of software development and the consistent high level of quality that a solid process brings. We’re currently working on publishing a set of Software Development best practices – please contact us for a pre-release version.

More posts by Eric

Subscribe to the Solid Logic Blog

Share this:   

Who is Solid Logic Technology Inc. (SLTI)?

As you may have noticed, our website has been updated over the past few days.  We thought this would be a good time to answer some questions. This post should give you a good idea of who we are and where we are headed.

We’re a Birmingham, Michigan based mobile application development start-up founded by two entrepreneurs – Eric Detterman and Ron Redmer – that love technology and have spent their entire careers around it.  We have developed web software, mobile apps, trading systems (stock, commodities, and currencies), photography systems, call center software, technology for the defense industry and many other things.  We have personally been involved in pretty much everything related to the IT industry -  software development (coding in most major programming languages and even some obscure ones), software development management (in-house, outsourced, offshore, etc.), hardware virtualization, ‘cloud computing’, advanced technologies, etc. Click here to view our management team bios.

Solid Logic Technology Inc. uses software and technology as a means to an end – it allows us to accomplish some goal for ourselves or our clients.  We build software to do cool things with mobile phones, cloud-based web servers and other cutting edge technology.  We try to align ourselves with the leaders in the IT industry – Apple, Google, Amazon, Facebook, Twitter, etc. We focus on bringing thought leadership and value to each client project.  We have managed internal data centers before but don’t anymore – everything we do runs securely in the cloud so we don’t have to think about it very much. This frees us up to focus on creating software.

What is SLTI going to blog about?

We’re going to blog about quite a few different topics. We’re going to use the blog as a way to communicate things we’ve learned throughout our careers and some of the cool things we come across day to day.  We’re going to have some posts specific to the work we do and some complex software and technology items for the geeks and we’ll also have a lot of things for everyone else too.

Business and Non-Technical Ideas

    • ‘Lean’ start-up concepts (http://en.wikipedia.org/wiki/Lean_Startup)
    • Outsourcing and ‘Virtual Assistants’– Business, Personal, Lifestyle
    • How to improve the workplace with technology and process improvements
    • How to work the same amount of time and get more done
    • IT Industry trends, reviews and commentary
    • Smart-Phone and Mobile Tablet Industry trends, reviews and commentary
    • Common software development errors
    • What works and what doesn’t work in software development projects
    • How to explain highly technical items to people who don’t care about or don’t understand the technical aspects
    • How to eliminate information overload (i.e. 200+ emails daily!)
    • Software and business risk reduction
    • IT software & service provider selection process
    • Our community involvement

Technical Ideas

    • New Technology – programming languages, techniques, development environments, virtualization
    • Cloud computing
    • iOS, iPhone, iPad, Android and Blackberry app development concepts
    • Mobile app and web integration
    • Open Source and proprietary software analysis
    • Software and tool reviews

So far these are our ideas. If you have any other ideas or suggestions – feel free to drop it in a comment or contact us. Since we’re still making changes and improvements to the site, please subscribe to the blog so we can keep you up to date with our progress.