Tuesday, October 6, 2015

Seeking Self-Actualization in Software Development

Posted by Aaron Price

In the world of Scrum, you sometimes hear about teams being "self-actualized." This term is thrown around by thought leaders and practitioners, but what does it mean? "Self-actualization" refers to teams firing on all cylinders and being a "well-oiled machine"—or in plainer terms, achieving their full potential. The more important question, however, is how do we help teams achieve this elusive, optimal state?

I first heard the term self-actualization when studying psychology in college. There, I learned about the concept of Maslow's Hierarchy of Needs. In short, it is represented by a pyramid, with a person’s most basic needs at the bottom and most complex and abstract needs at the top.

Maslow’s Hierarchy of Needs ap-blog-hon1-10-2015

From bottom to top, Maslow identified human needs as:

  • Physiological: Food, water, and sleep
  • Safety: Health, shelter, and resources
  • Social: Family, love, and companionship
  • Esteem: Achievement, respect by others, and respect for others
  • Self-actualization: To "become everything that one is capable of becoming," according to Abraham Maslow.

These needs apply just as much to professional work as it does to personal life. If we also accept that teams are simply groups of people, then it’s fair to say that the Hierarchy of Needs can be applied to teams in a professional environment.

Let's look at how the needs at each level of Maslow's hierarchy can be fulfilled in a team-driven workplace using Kepware as an example.

  • Physiological: Free beverages and company lunches
  • Safety: Salary, work-life balance, health benefits, gym, safe work environment, and 401k program
  • Social: Open floor plan, company parties, and other social activities
  • Esteem: Regular feedback from supervisors and peers and product release celebrations
  • Self-actualization: ...this one is hard!

Yes, self-actualization is by far the hardest need for a company to fulfill for a team because management cannot tell a team how to self-actualize. It is the work of the teamand only the teamto find their ideal form.

Scrum emphasizes that teams should be self-organizing. According to The Scrum Guide (the definitive set of Scrum rules), "Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team." This is based on the theory that "the people who do the work are the highest authorities on how best to do it."

Does this mean that management is powerless to help their teams self-actualize? No.

A principle of the Hierarchy of Needs is that one cannot fulfill the needs higher on the pyramid until the levels below it are addressed. So what management can do is ensure that all of a team’s needs below self-actualization are met, and then provide the autonomy needed for the team to engage on the journey to self-actualization. Ironically, giving teams such freedom can be harder than imposing a rigid process upon themespecially for organizations that are used to tightly managing teams. However, Kepware excels at providing exactly this freedom, not only allowing teams to use the Scrum framework to find their ideal state, but actively encouraging it.

The Hierarchy of Needs as Applied to Kepware

The most crucial tool that Scrum provides to help teams self-actualize is a recurring meeting called the “retrospective.” During retrospectives, a team openly and honestly assesses their collective strengths, weaknesses, and ways to improve. Out of retrospectives come “experiments.” In the context of Scrum, an experiment is a change to a team’s process that is committed within a set time-box and then evaluated. If an experiment is a success, the team may permanently adopt it. If an experiment doesn’t achieve the desired results, it is discarded and another experiment is run. This structure flows from one of the twelve Agile Principles that states “at regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” Using this trial-and-error approach, the team evolves much like an organism perfecting itself through iteration over time.

Scrum applies iteration toward team self-actualization in much the same way that it applies it to product development. By doing this, both the team and the product undergo regular inspections, on which improvements or course corrections are made. This continuous improvement is at the heart of Scrum; it is also a core value at Kepware that gives us the best possible shot at having healthy, self-actualized teams.

What Do You Think?

Does your company follow the Agile development philosophy? Use the comment field below to share your experiences and ask me any questions you have about our implementation. I hope to connect with you soon. In the meantime, please stay tuned for my next post, where I’ll dig deeper into how sprint retrospectives are conducted and how they can be leveraged to maximize teams’ productivity and happiness. Thanks for reading!