Hello there! Long time, no article. I was caught up with a project deadline for some time and I pushed hard to accomplish it!
During this time, I wondered what helped us deliver with success such a complicated project: is it team work, is it good collaboration or is it something characteristic to each team member? I somehow realized that critical thinking was very important for the success of this project. So let’s find out more about critical thinking.
Critical thinking is the process of analyzing and evaluating the quality of ideas, theories and concepts in order to produce efficient results, deliver value and become a team player inside your organization. It involves reflecting on and interpreting data, drawing warranted conclusions and recognizing ill-defined assumptions. It’s what managers do when they think clearly and purposefully.
Uses of critical thinking
Critical does not mean disapproval or being negative. There are many positive uses of critical thinking, for instance testing a hypothesis, proving a proposition or evaluating a concept, theory or argument. Critical thinking can occur whenever people weigh up evidence and make a judgement, solve a problem or reach a decision. The aim is to come to well-reassured conclusions and solutions to test them against relevant criteria and standards.
Let’s say that you as experienced developer are required to make an audit for an app. The client wants a bigger functionality to be coded and you need to determine if it’s worth to refactor parts of the application to integrate it or not. How do you approach this? I always recommend to start with data gathering. It’ll allow you to better understand the requirements and setup the battle ground. Useful things to do (you are not limited to these only):
- Study the app source code
- Get more info about the new functionality (things like complexity, number of users, business logic etc.)
- What resources is the app currently consuming. Do you need more space, more CPU power or more scale?
After you gather all this data, you’ll need to prepare 2 (or more depending on your case) scenarios:
- Develop functionality without code refactoring
- Refactor the code and proceed with the functionality after
If you go for the first scenario, what problems you may have in the future? Will the app be stable? Will it sustain a bigger load?
If you go for scenario number 2, you need to estimate the work needed for refactoring, know how many people should be involved, the impact of refactoring and so on.
The next challenging part is to prepare all these findings in an audit report that is understandable and can be presented to the beneficiary. Prepare for any questions the might have. Ultimately, it’s up to them to decide which solution they pick. This will depend on many factors, such as budget, vision, business requirements or urgency.
There you go, I brought to your attention a few details about critical thinking. a process that is not always understood by people. Should you have any questions, please let me know.
Thanks for reading, I hope you found this article useful and interesting. If you have any suggestions don’t hesitate to contact me. I also invite you subscribe to my BuyMeACoffee page. Any support is greatly appreciated! Cheers 😉