«    »

Growth through Operating Under Constraints

The other day I was composing a tweet and it struck me that the difficulties I faced in crafting my message to fit within 140 characters without using abbreviations was a good exercise for making me a better writer. After further reflection I generalized this specific case to a broader principle about personal development: performing an activity under uncomfortably tight constraints stimulates growth.

The constraints need to push us out of our comfort zone. We need to bump up against the constraints, repeatedly, in order to generate those learning opportunities. The constraints cannot be so harsh, however, that they prevent us from finding solutions that fit within them.

The nature of the constraint dictates the area in which the growth will occur. Twitter's constraint encourages conciseness and the ability to focus on the core message. Writing assessments in classes tend to set the opposite constraint of a minimum number of pages of content in order to encourage deeper exploration of a topic and more hours of practice in writing.

Thinking about this principle in the context of software development made me realize that the many different types of software are often differentiated by the major constraints they face:

Type of Software Major Constraints
Mobile apps Minimize power usage, which implies minimizing CPU and memory usage.
Real-time systems Fast response time - no lags.
Large public websites Scalability to handle extremely high volumes of traffic
Mission critical enterprise systems Reliability and availability

Constraints can also be applied to processes or methodologies to provide learning opportunities. I have heard more than one ScrumMaster say they prefer one week iterations for teams new to scrum as a way of learning how to decompose functionality into the smallest possible increments. The concept of stretch goals is similar: set targets beyond the current capabilities of the team in order to push team members out of their comfort zone and seek innovative ways to meet those targets.

How can you use constraints to improve and grow? I encourage you to reflect on this and leave a comment sharing your thoughts.

If you find this article helpful, please make a donation.

«    »