It is amazing what you can accomplish if you do not care who gets the credit.
— Harry S. Truman
Before we delve into the technical intricacies of project setup, I’d like to share some insights on steering a successful project with a team. No significant project is born in isolation; it is often the interplay of people that presents the real challenge, far surpassing the complexity of the technical aspects.
One of my most cherished hobbies involves gardening and growing plants, especially chili peppers 🌶️. I find this passion serves as an apt analogy for managing software projects. Just like plants, projects can be likened to intricate living entities that require optimal conditions to flourish.
Before we proceed, it’s crucial to acknowledge that there is no one-size-fits-all formula for success in human collaboration. Much like tending a garden, you can create favorable conditions, but there are variables beyond your control. Just as you can’t dictate when the sun will shine or the rain will fall, attempting to control every aspect of collaboration can lead to disappointment.
This is where a Stoic philosophy comes into play, emphasizing acceptance of the many external factors we cannot govern. Recognizing that certain elements lie beyond our control is vital for maintaining equanimity.
Now, without further delay, let’s explore a list of essential ingredients I’ve found indispensable for nurturing robust and thriving projects.
I firmly believe that ensuring each team member experiences psychological safety is paramount. Psychological safety means that team members can voice their opinions without fear of being ignored, judged, or disrespected. Without psychological safety, unresolved issues and conflicts can stagnate a project’s progress.
Creating and nurturing psychological safety within a team is an ongoing process that significantly depends on the quality of communication. The quality of communication determines the quality of relationships among team members. Here are my top five communication techniques that help cultivate psychological safety:
In addition to psychological safety, I firmly believe that work needs to have meaning. Work without purpose is merely a money-generating activity over time, lacking fulfillment in life.
To find meaning in our work, we must engage in activities that align with our core strengths and promote personal growth. There’s nothing quite like a team driven by intrinsic motivation, and the three essential ingredients that cultivate high intrinsic motivation are Autonomy, Relatedness, and Ownership.
Much like a plant thrives when it’s allowed to grow according to its natural rhythm, team members flourish when they possess a sense of autonomy in their work. Autonomy provides them the freedom to make decisions, chart their course, and take ownership of their tasks. In a project, this entails granting team members the flexibility to choose their approach to challenges and problem-solving.
Plants in a garden often rely on symbiotic relationships with other organisms for their growth. Similarly, team members thrive when they experience Relatedness—a connection with their colleagues and a sense of belonging within the team. Nurturing a culture of collaboration, where every voice is valued, fosters strong relationships and reinforces the sense of Relatedness.
Ownership serves as the fertilizer that nourishes a project’s growth. When individuals feel that they are not just contributors but stakeholders with a vested interest in the project’s outcome, their intrinsic motivation soars. Much like a gardener takes pride in nurturing their plants, team members feel a profound sense of ownership when they have a stake in the project’s success. Encouraging team members to take responsibility for their work, granting them ownership over specific tasks or areas, fosters a robust sense of commitment.
What good is all the potential of a team without focus? Growth requires direction, and I firmly believe that the best way to achieve this is through a mindset called outcome-based thinking. This strategic approach in project management and software development emphasizes measurable and clearly defined outcomes rather than mere activities and outputs.
This mindset underlies the creation of a well-structured vision statement, Objective and Key Results (OKRs), precise milestones, and user stories. Each of these elements describes a future result that, if thoughtfully crafted, aligns with the SMART criteria: specific, measurable, achievable, relevant, and time-bound.
Despite their differences in scope and granularity, these artifacts share a common trait: they concentrate on the “what” and “why” rather than the “how.”
Defining goals with an outcome-based mindset offers several advantages:
To cultivate a thriving project, it’s vital to strike a balance between Autonomy, Relatedness, and Ownership. Overcontrol stifles autonomy, excessive isolation hampers relatedness, and rigid structures erode ownership. Finding and maintaining this equilibrium is an ongoing process, akin to tending to the diverse needs of a garden.
Throughout my career, I’ve had the privilege of working with numerous teams, each with its unique needs. While I strongly advocate for agile methodologies like Scrum, I recognize that it’s not a one-size-fits-all solution. In the spirit of an agile mindset, here are my recommendations for establishing healthy team routines.
It’s essential to designate a dedicated role to ensure psychological safety. Typically, this role falls to your Scrum Master or a similar position. This individual should watch over the team, ensuring that everyone has a voice, mediating conflicts, and cultivating a discussion culture that avoids confrontational communication patterns. Additionally, establishing trusted feedback loops where team members feel free to express their thoughts, ideas, and concerns are crucial. These loops enable team members to provide feedback on processes, tools, and team dynamics. Consider implementing feedback loops such one-on-one discussions or anonymous loops such as the Employee Net Promoter Score (eNPS) to regularly gauge the team’s well-being.
Clear Acceptance Criteria: Ensure that the team has a clear and mutually agreed-upon set of “Acceptance Criteria” for each user story. In line with outcome-based thinking, this definition should outline the criteria that must be met for a story to be considered complete.
Accountability: Encourage team members to take ownership of their work. Each team member should feel a shared responsibility for the quality and timely delivery of user stories.
Regular Retrospectives: Conduct regular retrospective meetings where the team reflects on what went well and what could be improved. It’s essential that product owners/managers do not participate in this meeting to preserve the team’s sense of ownership.
Self-Organizing Teams: Empower the team to be self-organizing. Allow them to decide how best to accomplish their tasks and achieve sprint goals.
Sprint Planning: During sprint planning, grant the team the autonomy to select and commit to the work they believe they can complete in the upcoming sprint. Avoid dictating sprint scope.
Daily Standups: Leverage daily standup meetings to promote autonomy by allowing team members to update the team on their progress and any impediments they face.
Cross-Functional Collaboration: Foster cross-functional collaboration within the team. Encourage team members to interact with one another, sharing knowledge, solving problems, and ensuring that their work aligns with the overall sprint goal.
User Story Workshops: Involve team members in user story workshops or refinement sessions. This approach enables them to gain a shared understanding of the work to be done and strengthens relatedness.
Celebrate Successes: Celebrate team successes and milestones together. Recognize and acknowledge individual team members’ contributions to build a sense of relatedness and camaraderie.
By incorporating these principles into your team’s routines, you’ll be cultivating an environment conducive to productivity and collaboration.
In this first part, we’ve explored the critical factors for fostering healthy team dynamics and project growth. Drawing an analogy to gardening, we’ve recognized that projects, like plants, require the right conditions to thrive. We’ve discussed the importance of psychological safety, ownership, autonomy, and relatedness as key elements in cultivating high intrinsic team motivation. Additionally, we’ve emphasized the significance of outcome-based thinking in setting clear goals and focusing on results rather than activities. This strategic approach keeps teams aligned with their mission and encourages an environment of trust and autonomy.
As we conclude this part, we’ve laid the groundwork for understanding the human dynamics and culture essential for successful projects. In the next article, we will dive into the technical aspects of project setup. We’ll walk through the practical steps, including setting up version control with Git, defining coding styles and conventions, exploring merge strategies, and adopting semantic commit messages. Stay tuned for a hands-on guide to setting up your projects.
Rosenberg, M. B. (2015). Nonviolent Communication: A Language of Life. Puddledancer Press.
Csikszentmihalyi, M. (1991). Flow: The Psychology of Optimal Experience. Harper & Row.
Doerr, J. (2017). Measure What Matters: Online Tools for Understanding Customers, Social Media, Engagement, and Key Relationships. Wiley.
Bryar, C., & Carr, B. (2020). Working Backwards: Insights, Stories, and Secrets from Inside Amazon. St. Martin’s Press.
Pink, D. H. (2009). Drive: The Surprising Truth About What Motivates Us. Riverhead Books.
Seligman, M. E. P. (2004). Authentic Happiness: Using the New Positive Psychology to Realize Your Potential for Lasting Fulfillment. Atria Books.
Quick Links
Legal Stuff