Over a million developers have joined DZone.

Why Great Teams Build Great Products

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

The software development process can be a complicated tango of deadlines, constraints, and expectations. Knowing this, companies must have an increased focus on the makeup of their software development teams. Unlike a master chef who carefully selects ingredients for the perfect dish, most software development teams have less precise methods for inclusion. This in no way discredits the skills and talents of individual members, but team dynamics play an undervalued role in productivity and output. The production from team to team varies and is not simply a metric of (developers x hours) = output. Placing the five brightest or fastest developers on a team does not guarantee a "dream team" with unbounded productivity.

Building a productive team begins with understanding the talents and skills of each member. The goal is to have a well balanced team. This balance is achieved through diverse programming skills, varying personalities, and personal strengths. As with any professional sport, different positions are required to build a competitive team. Placing individuals with opposing strengths may seem counterintuitive but the results speak loud and clear. Over time these individuals gain invaluable experience and insight from one another. Placing individuals in the correct roles within a team helps lay the foundation for a successful team, but that still does not guarantee success.

Why is this? The answer does not directly correlate with coding, requirements, timelines, or any other project related subject. All effective software development teams have two things in common. They trust and hold each other accountable. Although this can be the basis for any team, software groups rely heavily on individual contributions. As the saying goes, "Rome wasn't built in day." It also wasn't built by one person. The ability to trust others in a business environment can be challenging, but it is vital. Trust drives team confidence. Team members expect each other to pull their own weight. The distinction between "their weight" and "equal weight" is important. People aren't mass produced each person comes with a unique set of talents and traits. When members display this reliability, a team's trust and comfort level improves.

Part of establishing trust in business includes holding one's self and team members accountable. This must be accomplished in a respectful and tasteful manner with proper tact. Accountability is not about finger pointing or taking the blame. It's about identifying a concern, having open dialog, and providing team support for any resulting decision/action. This checks and balances system cannot be optional for members. When a project or release fails, the team fails; not individuals. This recognition by the team is an important building block. Without trust, accountability, and proper team dynamics a project will struggle to succeed.

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.


Published at DZone with permission of Zac Gery, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}