Answer: From my understanding, Systems thinking involves taking the most pragmatic approach towards solving problems that arise in everyday life weighing the problem’s relevance with all the components that get affected with the problem. I would like take the example where I experienced systems thinking in my work experience.
Resolving a production defect: During my stint with Infosys, I worked on many Life Insurance development projects across all life stages of software development which often involved tight deadlines right from the stage of requirement analysis, preparation of high level design specifications, detailed level technical specifications, coding, testing and production deployment. Many projects also had production warranty support where the production defects have to be serviced without charging any service fee to the clients.
In resolving any production defect, before jumping into the problem and debugging the underlying code, I always found it useful to first understand the scenario in which the end user was facing the problem. I used to double check the system’s functionality based on the requirement specifications and also confirm with the business analyst to determine if the scenario which resulted in defect was a valid scenario or not! This approach saved me a lot of time and effort as I could filter many invalid scenarios where the end-user was not following the proper approach while submitting the transactions.
However, many a time, succumbing to the high pressure environments involving adherence to the deadlines, it did happen that many enhancement projects would always result in few escaped bugs, not caught by...