Systems Thinking on Software Development
As discussed in class, systems thinking is a problem-solving method that incorporates a combination of tools and techniques to find the best solution to complex issues while avoiding unintended consequences. It is based on the principle of viewing the entire system environment around the issue as well as the cause/effect relationships instead of only looking at the single process that is central to the issue.
Software applications are often thought of as flawless or unbreakable because they are code based and tested, leaving no room for human error. Even programs built by highly skilled programmers contain malfunctions and risk, like any other complex system. Systems thinking is important in software development because to minimize risk in today’s society, with the increased focus on cyber security, we need more than routine user testing; we need to see the whole picture to mitigate unforeseen risks. Now that most platforms are interconnected and information is shared between many different applications, formats, and systems, a view of these connections and their relationships is increasingly important.
- Do you think systems thinking is a necessary method to utilize when moving forward with software development?
- Does the increase in connectivity and shared data call for an increase in systems thinking?
Brown, Gregory. “The Critical Role of Systems Thinking in Software Development.” O’Reilly Media. Oreilly.com, 01 Sept. 2016. Web. 29 Jan. 2017. <https://www.oreilly.com/ideas/the-critical-role-of-systems-thinking-in-software-development>.