Like wise we solve software problems also. According to some studies the process of any research is actually derived from medical research. In the world of simplicity medical diagnosis uses different techniques & tools to understand the problem. Therefore taking this analogy into consideration there should be a concrete technique in software development to understand the problem correctly.
To the best of our knowledge these techniques & tools have not been described in any software engineering literature. Although there exists different methodologies (SCRUM. SAFE, Spotify etc) which focus on how to manage the different work units and may be add some reporting on top of it to track the performance.
We don't understand the software problem in terms of any thing, we just write specifications or user stories; but is there any formal practice in any methodology in vogue that could be used to diagnose the problem. After taking the user requirements it is divided into bunches of work where every body try to solve it without really understanding it. In other words we simply convert business logic or requirements into software code.
There is not really any tools where we can measure and identify the software problems and then provide some remedy. Let suppose a senior doctor asks a junior doctor about the reports of the patient, the junior doctor will perhaps tel about a severe temperature. But how does the senior doctor believe him, as he may do a mistake; well from the reports ( readings ). Here we simply focus on concrete measurements that could really define a problem. At one place the problem is defined by patient e.g he says severe headache or other pain but these are only symptoms which should be put in scientific tools to determine it correctly.
Let comes to the point of software development, the problem is usually defined by your client but defining & understanding it ( technically ) are different things. When we write use stories or requirements specifications, after that the real process of understanding and analyzing starts. Here we need those tools & techniques that are used in Doctors analogy.
In this article we will provide some concrete tools which copewith these problems in the software world.