How Kenya can become Africa’s software development powerhouse
Sean Moroney, Chairman of AITEC Africa, interviews Roland Omoresemi, CEO of Tezza Solutions in the USA, a leading software innovator who later this month is bringing a team of trainers to Nairobi to provide a world-class training course on software quality assurance.
Q: What are the key steps that Kenyan software developers need to take in order to become competitive internationally?
To be competitive globally, software developers in Kenya must adopt and adhere to a software development methodology that advocate quality, thoroughness, predictablity, reliability and consistency. There has to be the desire to develop solutions that meet and exceed customers’ requirements, built within cost, predictable, reliable and delivered on time
Q: Can you identify niche areas in software development that Kenya could develop?
I’m a big advocate of Software Quality Assurance and Software Testing. Software Testing is an integral piece of the Software development process that has been fully branded into a “Service” by countries like India. My area of interest is in how Kenya as a country can leverage on the abundance of human resources and necessary infrastructure, so it can become a software testing power-house in Africa and the world at large.
Q: What are the key lessons you will be providing Kenya’s software developers in the course you are running in Nairobi this month?
The Software Quality Assurance & Software Testing Boot Camp is the perfect course for anyone who is interested in learning about software testing. We will explore all areas of software testing, including some hands-on exercises such as how to create Test Plans, Test Cases, how to Triage Defects, Defect Management and Work Estimation with Resource Allocation. We will look closely at Software Testing Techniques such as Equivalence Partitioning, Boundary Value Analysis. We will also look very closely at Automation Tools and how they can used to drive down software development cost and improve overall quality.
Q: Tell us about some of the international software disasters that have resulted from poor software quality assurance.
There is an old motto that ‘Failing to plan is planning to fail’ and this is true in everyday tasks as well as in complex IT projects where poor software testing (or the lack of it), has resulted in the loss of lives and or financial disasters: For example, the launch of Heathrow’s Terminal 5 was meant to be a proud day for British Airways but instead turned into an absolute PR disaster as the failure of the baggage handling systems disrupted travel plans of thousands of holiday travellers. On the opening day, it quickly became apparent that the new terminal was not operating smoothly, and British Airways cancelled 34 flights and was later forced to suspend baggage check-in. Over the next 10 days some 28,000 bags failed to travel with their owners, and over 500 flights were cancelled. The difficulties were later blamed on a number of problems with the terminal's IT systems, coupled with insufficient testing and staff training and cost BA a considerable amount through a subsequent advertising campaign to assure the public that things.
Another example: Millions of bank accounts were impacted by errors due to installation of inadequately tested software code in the transaction processing system of a major North American bank, according to mid-2004 news reports. Articles about the incident stated that it took two weeks to fix all the resulting errors, that additional problems resulted when the incident drew a large number of e-mail phishing attacks against the bank's customers, and that the total cost of the incident could exceed $100 million.
• How do we forget the summer of 1999 in Britain when the insufficient testing of the Siemens Passport System resulted hundreds of people missing their holiday travel plans and the Home Office had to pay millions in compensation and staff overtime?
• In the U.S. a large health insurance company was reportedly banned by regulators from selling certain types of insurance policies in January of 2009 due to ongoing computer system problems that resulted in denial of coverage for needed medications and mistaken overcharging or cancelation of benefits. The regulatory agency was quoted as stating that the problems were posing "a serious threat to the health and safety" of beneficiaries.
• News reports in December of 2007 indicated that significant software problems were continuing to occur in a new ERP payroll system for a large urban school system. It was believed that more than one third of employees had received incorrect paychecks at various times since the new system went live the preceding January, resulting in overpayments of $53 million, as well as underpayments. An employees' union brought a lawsuit against the school system, the cost of the ERP system was expected to rise by 40%, and the non-payroll part of the ERP system was delayed. Inadequate testing reportedly contributed to the problems.
• Media reports in January of 2005 detailed severe problems with a $170 million high-profile U.S. government IT systems project. Software testing was one of the five major problem areas according to a report of the commission reviewing the project. In March of 2005 it was decided to scrap the entire project.
• In October of 1999 the $125 million NASA Mars Climate Orbiter spacecraft was believed to be lost in space due to a simple data conversion error. It was determined that spacecraft software used certain data in English units that should have been in metric units. Among other tasks, the orbiter was to serve as a communications relay for the Mars Polar Lander mission, which failed for unknown reasons in December 1999. Several investigating panels were convened to determine the process failures that allowed the error to go undetected.
Q: How can Kenya’s emerging software industry develop a culture of excellence, learning from other markets?
There has to be the desire to “perfect” the software development process by pushing “excellence” and “quality” in every aspect of the software development process. From the conception of an idea to its implementation, there needs to be a complete devotion to thoroughness and not a ‘rush’ to market mentality. Requirements must be fully understood, clarified when necessary and static forms of testing must implemented even at the onset, to ensure that defects are caught even within Business Requirements Documents prior to actual coding. We must know what our customers want before we embark on building anything.
Building a culture of excellence should also begin with each company. Unlike in some African countries where the Government is expected to police the standards used in their Software applications, software development companies in Kenya must pursue these virtues on their own. Quality and efficient products will sell any day and customers will abound in millions. Take a look at “Apple” for example. Apple is a company that exudes excellence all around and customers are willing to pay a premium for quality!