Hitting particularly close to home, the Learn How You Fail pattern seeks to instill in inexperienced developers the notion that failure is inevitable and manageable. As written in the Context of the pattern, “Someone who has never failed at anything has either avoided pushing the boundaries of their own abilities or has learned to overlook their own mistakes.” This is a problem that I think must certainly persist in all fields – not just for Computer Scientists. The presence of failure indicates to us that in some way, a person was lacking. That can be a dreadful thing to have to confront, depending on the nature of the failure and the attitude of the person who has failed. Even during the course of this very semester, I and my teammates have experienced numerous failed endeavors that required analysis and discussion to either repair or mitigate.
The suggested method for responding to failure is to actively seek to understand in oneself the patterns, conditions, habits and behaviors that lead to that failure. As that self-awareness is cultivated, it becomes much easier to operate in a way that consciously and productively considers relevant boundaries and limitations. It allows for the choice between either fixing the identified issues or cutting one’s losses; moreover, it vastly improves one’s ability to set realistic limitations on goals.
I think that in this project for Ampath in particular, my group has already been encountering this pattern and applying it in some capacity without realizing it. Each week at our retrospective, we have discussions that touch upon what could have been done better by each person, and we make/uphold plans to address those areas accordingly. This has resulted in each of us finding roles within the group that maximize on our usefulness – we are each focusing on the areas most attuned to our strengths, while minimizing the amount of weakness in those areas. Of course, by virtue of the unfamiliarity with Angular that persists throughout the group, we all have several areas that need refining. However, over time, we have identified which weaknesses are being addressed by which people, and assign ourselves work in accordance with those findings. Indeed, this seems to be a model that will be extremely effective beyond this project.