Monday, March 18, 2013

How Many Eyes Does a Box Jellyfish Have?

More eyes means faster debugging and more efficient use of resources. Take the theoretical development plans of company A and company B for example. Company A hires a handful of highly-trained and experienced software testers to gut out bugs and find solutions in the commercial software being constructed. These experts spend months pounding through source code hunting for bugs. Eventually, the software is deemed satisfactory for release. This plan is fine but has significant drawbacks. Once the software is released, it will  be stretched and strained by thousands of users and more bugs will inevitably arise. The experts then have to find and fix the bugs. This process is slow and requires paying the experts a lot of money. Now lets consider Company B's development plan. Company B plans to release beta versions of its software and allow users, along with experts of their own, to help co-develop the software. With a thousand more sets of eyes, bugs are found and dealt with quickly. This plan is faster and more efficient.

2 comments:

  1. But to allow users to debug the users would need access to the source code. There is no reliable way to ensure trade secrets and the core algorithms that make the software valuable. Company B would be out of a business. I agree Company B's style is better but how can you ensure earning money this way?

    ReplyDelete
  2. I love the concept of Open-Source software, but unfortunately it doesn't work in every case. For example, imagine if Google were to allow anyone to edit the code used in their page-ranking algorithm. Hypotetically then, anyone could go in and edit it to make their website show up first. Open-source is great, but sometimes secrets have to be kept as well.

    ReplyDelete