A software bug is an error in a computer system that causes it to behave in unwanted ways. Most bugs arise from mistakes in the program source code or in its design or specification. The term bug has been around for a long time.
“It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise — this thing gives out and [it is] then that “Bugs” — as such little faults and difficulties are called — show themselves and months of intense watching, study and labour are requisite before commercial success or failure is certainly reached.” – Thomas Edison, 1878
The most well-known use of the term is often attributed to Grace Hopper, a pioneer in early electromechanical computing devices. The story was that the operators were investigating found a moth trapped in a relay, and they taped the moth to the logbook.
Modern applications consist of a large number of interacting parts including the operating system, the application code, and possibly several libraries of code. Issues in the code can originate from any of these areas.
“I’m not saying we purposely introduced bugs or anything, but this is kind of a natural result of any complexities of software… that you can’t fully test it.” – Will Wright (Video Games Developer)
The Triple Constraint
The Triple Constraints dictates that you can only have 2 of the three from Fast, Good and Cheap. Here Fast refers to the time required to deliver the product, Good is the quality of the final product, and Cheap refers to the total cost of designing and building the product. This triangle reflects the fact that the three properties of a project are interrelated, and it is not possible to optimise all three – one will always suffer.
So what does this really mean?
If you’re non-technical by background and need to deliver a product for your company, then take the time to learn the software testing process as its going to be the defining task for you. Understanding how to test your software and create the right feedback to the development team is critical to getting your software to a release.
If you’re part technical or have done this before then you know what’s coming. There is a temptation to think that the testing process will be quicker because of previous experience. That’s not really true – it will be less stressful but will take the same amount of time. Try and avoid “coaching” the development team, it’s really frustrating from the coders point of view, they just need the best information you can give them.
If you’re an ex-coder or still currently coding, then you are the best and worst that the development team can hope for. You’re in the perfect position to understand the situation the development team are in and their worst nightmare if you’re intent on telling them how to write every line of code. You need to be clear about what you want and then take a step back and let the development team work.
Koios works with a number of different clients from various backgrounds and levels of experience. We’re always available to talk to anyone who has questions or concerns around their proposed software development project and how the project lifecycle can be managed to help them reduce and contain bugs in the software product.
Share this post
Apps Are Moving Into A Serverless World – By Ross Cooney
Wednesday 9 November 2016
Even with the rise of cloud computing, the IT world still seems to revolve around servers.
Approaching QA from an IT Support Background – By Paul Heckles
Friday 9 September 2016
Testing is an important part of any product development cycle and this is more the case for software.
Continuous Integration by Graham Newton
Wednesday 7 September 2016
Have you ever found yourself in a situation where you have promised to deliver a project by a certain date, only for it to be broken?
The Gartner Hype Curve 2016 by Dave Sharp
Tuesday 23 August 2016
The latest iteration of the Gartner Hype Curve has been released for 2016.
Brexit and Data Protection – What Happens Now? by Dave Sharp
Tuesday 16 August 2016
The unexpected decision for the UK to Brexit the EU recently will require all businesses to adjust their approach to Data Protection.
7 Measures for Business Cyber Resilience by Dave Sharp
Monday 1 August 2016
There are ever increasing threats to business in cyberspace. DDOS, Ransomware and Phishing to name but a few.
Software Engineering Apprenticeships
Tuesday 19 July 2016
Koios Technology recently saw its latest two apprentices pass their Level 3 Software Apprenticeships.
Software Development Deadly Sins by Dave Sharp
Tuesday 21 June 2016
There are several common syndromes that trouble software development teams and their clients.