preview

Critical Thinking Process Paper

Decent Essays
Open Document

Perhaps I am over-thinking and making this more difficult than is necessary, but since my job requires critical thinking on a daily basis this seems like a very contrived assignment.
Every software project requires precisely the critical thinking strategy steps described. Different projects within different companies may follow them more or less formally, but producing even the smallest program contains them all.
We must always start by defining the problem, commonly referred to as creating a concept framework, and then proceeding with requirements gathering. In this step I will commonly interview the various stakeholders to define a least common denominator subset of what everyone thinks should be included. Business constraints, customer needs …show more content…

It is not uncommon to define multiple possibilities for the system architecture and then use simulation to narrow the options. A common issue is that the true problem is poorly understood, and an actual solution may not have been identified. Research may be required to better define the options, including what prior art exists and what competitors are doing. It is critical to do due diligence as a poorly defined problem will not have a successful solution implementation, and a common management problem is not wanting to “waste time” planning when the developers should be busy writing code.
One possible outcome at this point is the realization that the problem doesn’t exist — there are already systems and processes in place to accomplish the goals. Another outcome may be the discovery of an off-the-shelf solution from a third-party supplier that provides a more cost-effective option. Or it may be discovered that, while the problem is both real and well understood, a workable solution is not well understood and therefore cannot be …show more content…

Business constraints may include limited personnel; missing skills; a critical release window; or specific cost or return on investment goals. Cheap-Fast-Good is a multi-variable optimization problem that is always challenging when you can’t simply say “pick two” and make it stick, and managing tradeoffs takes us out of the purely technical realm into the political “soft skills” that practitioners frequently lack and typically find distasteful.
There is seldom a consensus “best” approach or solution; the various limiting factors and variables must be balanced like a set of plates spinning on edge, and dynamically adjusted as the project unfolds. The actual solution implemented is frequently a case of “dissatisfy everyone equally” and use each released work product as a way to better understand how the company works and needs to change. A complete software project is itself a single iteration of the larger “company optimization project” that is ongoing throughout a company’s

Get Access