Generating alternative Solutions to Problems August 28, 2018
In the article about problem solving in software engineering, i highlighted the major problem solving steps as:- Define the problem Analyse the problem List/Identify  alternative solutions Select the best solution List instructions that lead to the solution using the selected solution Evaluate the solution In this post, i will focus on how to generate alternative solutions.The first solution you are arrive at may not be best of all possible options. It is important that we generate...
Read More
Inspiring quotes on computing April 1, 2018
“It is not only the violin that shapes the violinist, we are all shaped by the tools we train ourselves to use, and in this respect programming languages have a devious influence: they shape our thinking habits.” ― Edsger W. Dijkstra “Program testing can be used to show the presence of bugs, but never to show their absence!” ― Edsger W. Dijkstra
Read More
Streamlining Software Development Projects January 7, 2017
In most developing countries the software development discipline is emerging. Several private and government entities are in the process of automating different business activities. Just like the software discipline itself, the information technology professional are still gaining expertise in specification and verification of software solutions.Where the clients know what they want, they are not in position to explain it to the developers. And equally less experienced developers find it a challenge to understand the needs of...
Read More
Learning is hard but unlearning is harder July 1, 2016
During the week of  27 June - 29 June 2016 i attended the Summer School on Machine Learning and Data Science at the school at Makereree University dubbed “Data Science Africa 2016”. I happen to sit with a colleague who is an experienced and certified Java Programmer. As we paced through the examples on data cleaning using anaconda package, we relied both on new new knowledge and also tried to apply what we have learnt over...
Read More
Why Steal Software When There is Free Software? October 26, 2015
Recently, one of the leading commercial software companies in the world has hired one of the leading advocates in town to crackdown individuals and organisations that are using software which is not licensed. That is people engaged in theft of software products -- an act that is often called software piracy. In the past, there has been a feeling that most of the software companies are not local and therefore do not have local presence to...
Read More
What About Sub-standard Software Systems October 23, 2015
Like any incurable disease it (software) attracts more quarks, magicians and fortune tellers - -E.W. Dijkstra In the past five years, I have come to think that it is valuable for the general public to know the distinction between a good computer system and a bad one, especially that the consequences affect even the innocent. Perhaps you have been to the bank and a teller casually announces that you can not withdraw or deposit money because...
Read More
Turning ‘software’ into a ‘software service’ October 4, 2015
This article looks at how to turn an  existing software that is not service oriented into a service that can be used in a service oriented architecture. We need to know  exactly-  what  is a service?  We are assuming the resulting service will provide  identical functionality. So the  only difference between a software service and other software components is at the interfaces. The interfaces define how the service can be used individually or as part of...
Read More
Problem Solving – Analyse/Understand the Problem September 14, 2015
The goal of problem analysis is to gain better understanding of the problem being solved before development begins. It is import to know why the problem is occurring, when and how often. Try to understand the first cause of the problem. Root cause analysis is a systematic way of uncovering the root, or underlying first cause of an identified problem or a symptom to the problem. Tools such as fishbone diagram or pareto chart can help...
Read More
Problem solving -Define the problem September 12, 2015
“Until the problem is well defined and articulated it is impossible to arrive at a solution” The first step to solving any software engineering problem is to define the problem. Articulate the problem and eliminate all unnecessary terminologies and jargons. Start by reading the problem completely at least twice. Read and establish the context of each key word. If time allows, research about the problem. Ensure that there is agreement on the problem to be solved....
Read More
Software programming and problem solving September 12, 2015
Programming is the process of planning a sequence of steps called instructions for the computer to follow. The fact that you are reading this post you already know that computers lack common sense and cannot make any judgment. So the computer will do as instructed by the programmer through the computer program. Programming is more about problem solving than coding. A problem is the difference between things as perceived and things as desired. A solution will...
Read More