'AGILE' - it's a pretty emotive term... 

The little bit of research conducted for this article has revealed that agile is, amongst other things, subjective, objective, fallible, open to interpretation, inconsistent, adaptable, fluid, respected etc. Sounds a tad negative at first glance...   

So... I asked my network to tell me what they considered the top '5 key elements of a successful agile delivery team'. It is a pretty vague question and intentionally so and before I go on to discuss what I found out, I just wanted to address some of the initial points that were raised.

Why are you writing this article?

Referring back to my initial statement, agile is a pretty emotive term and as a tech recruiter, I often see different variations of how agile is being interpreted within different organisations and teams. I often ask clients/candidates: 'what does agile mean to you?'... or rather 'how does your team implement agile?'. Sure... having a scrum team who participate in daily stand ups, fortnightly sprints, planning/retros, one that practices test driven development are common agile practices but I wanted to scratch beneath the surface a little and find out what my network valued most.  

The question was intended to be subjective, despite an abundance of literature, at times, objectifying what agile means. It's a question that I hoped would get people to think about the environments they personally felt successful in and simply try to find some common themes (or dare I say 'consensus').  

** All your contributions have been fantastic - so thank you!! **

Why did you pick 5 key elements?

If I'm being completely honest my agency Burns Sheehan have 5 traits/qualities that we feel honour our values (Honesty, Excellence, Personality, Drive & Humility) and I used this as a starting point. There was no magic formula. I thought that 5 seemed like a number that'll get people to think about their answers without feeling too limited or stretched.  

Have you read the agile manifesto?

I have read it along with other material and many of the answers provided were, naturally, some derivative of the manifesto. The manifesto was written by a handful of industry experts; people who have been celebrated for their contributions to software and technology. I wanted to ask my network, these are people I've spoken with, met, had a coffee (or wine) with, represented to my clients - so people I personally respect and trust. I figured my network would be a great source of information and naturally these are the very individuals living and breathing the environment I'm trying to get an understanding of. 


1. Communication

"Most important is communication, or rather how you communicate. This applies to between team members and with different functions within the team. Everyone knows communication is important, but how and why things are communicated are never paid enough attention to. Management speak is full of feedback, but rarely about feed forward - ie every team member having a voice that tells the management what they really think." 
-Java Developer 

"Communication  - so important it has to be said twice!!! it goes both ways too... Scrum masters & Product owners should let their team know what is going on in other aspects of the business so that the devs have an idea of the the bigger picture (but without applying undue pressure on them)" 
-PHP Developer 

"A successful team is opening, willing, and eager to talk. Both about technical solutions, but also about goals." 
-Java Technical Lead 

"Communication is vital since requirements are thrown back and forth within an agile team. So it's important that individuals involved in regards to an issue, need to clearly clarify what the issue is exactly, what they expect the outcome to be and how they expect it to behave. This could even be a separate chapter as communication is the key to success in an agile team." 
-Junior Developer 

"Communication - doing the daily stand-up doesn't solve completely the problem if the team has no will to communicate to each other, or the communication is difficult due distance/time zones." 
-Web Developer

2. Trust 

"Trust - feeds in from communication, but if someone is competent, but not trusted by the fellow team members, especially the product owners or more senior members of the team, then this will rear its head in many subtle ways that hold back the team." 
-Java Developer 

"Trust: if team mates don't trust each other's support and critiques, it is difficult to be a real team." 
-Java Developer 

"Trust - having one part of a small team falter reduces the entire team's effectiveness, and confidence, and that will eat away at the team. The team needs to be able to still deliver if left alone to their own devices, and if they can not trust one another to keep the cogs turning that will never work" 
-.NET Developer 

 3. Collaboration

"Delivery team collaborative skills should win over their brain power - Egos need to be left at the door and teams of just the smartest people in the world do not always make the best team. Success in organisations can only be achieved if people can work together towards the same goal." 
-PHP Developer 

"Collaboration and cooperation with all the stakeholders within the project - This aspect is closely related to the communication skill however, as I mentioned, the communication chapter is one that could take days in discussions. Anyway, collaboration and cooperation is to do with stakeholders on the customer side will work on site with the project managers on the development side of things. This is vital as customers get to see first hand whether the behaviour of their requirements is exactly what they expected. If not, as a developer, this would be important as I would know right away exactly what the customer actually requires." 
-Junior Developer 

"All stakeholders; devs, BAs, UX, designers, testers, ops etc all collaborate on stories. Work isn’t just handed over from part of the team to the next. The project, issues and stories are owned and worked on jointly. It’s the team that solves problems not individuals." 
-Technical Architect 

4. Short Iterations & Fast Feedback

"Short, fast releases - this is really the centre of any agile project, but without the ability to deliver in smaller increments the team can never be agile" 
-.NET Developer 

"Iteration - learning from your mistakes, so that the same issues dont keep on coming up again and again in subsequent sprints"
-PHP Developer 

"Make sure the team has the same understanding of what “agile” means and does not mean. It’s more than going through the motions of standups, retros, planning etc. It has to be part of the DNA of the team. The key is that the team iterates quickly and releases frequently. Work progresses from conception to release in small increments frequently. Each story covers the minimum effort to achieve a high quality solution. Good feedback; within the team, what's good / bad (in retros), and feedback from the business and customers in planning and in reviewing the fruits of the labour." 
-Technical Architect 

5. A Self-Organising Team

"Self-Organising team is the topmost I would say because its the team that delivers the result." 
-Java Developer 

"Self-organising Team. This is one of the "mottos" of Agile, but that is true. The team has to be able to organise themselves. Calling meetings between them, or with other stakeholders. Saying what they think (obviously with respect), but free to share any concern, impediment, blockers, etc. They do not need to rely on a Scrum Master for those things; indeed, the more involved the team is, the better for the entire delivery as the SM will have time for other things." 
-Java Technical Lead 

"A self organising team, where each agent is capable of determining their next task from their environment" 
-Senior Java/Scala Developer 

agileOther points raised 

  • Adaptability
  • Shared goal/direction/vision 
  • Passion/respect/motivation/attitude/drive/humility 
  • Business 'buy in' into Agile
  • Skilled developers/team
  • Team structure/the role of the scrum master & product owner
  • One methodology or framework and the right tools (Jira, Git, Bamboo, Jenkins)
  • Time effective standups/retrospectives
  • Realistic deadlines/time management
  • Visibility of customers
  • The Definition of Done - a true understanding
  • Automation/TDD
  • Co-location
  • Minimal UX/prototyping

Agile makes me think of religion - let me explain! There is somewhat an 'ideal' of what Agile should look like... call it Textbook Agile or an Agile Bible but in reality teams and individuals implement things in their own ways. You guys think that Communication, Trust, Collaboration, Short Iterations and Self-Organisation were the top 5 key elements for a successful agile delivery team and for the most part I think these are important qualities in any team.  

Being in recruitment and having the benefit of having somewhat of a helicopter view of the industry, I always ask why some companies are more successful than others. Why are some businesses absolutely smashing it, whilst others somewhat happily plod along without really taking off? Why are skilled developers drawn to some businesses and not others? It must boil down to the people you hire and how you deliver in my very (very) humble opinion.

  • The people you hire: are passionate, bought into the product/goal/vision, highly skilled, adaptable, collaborative, trustworthy, respectful, self-organising  
  • How you deliver: with fast iterations/feedback, a fail fast/learn fast mentality, with full visibility of customers, with a set methodology and team structure, with a strong scrum master and/or product owner who keep the team on track, with business buy-in into Agile itself 

Almost every business out there is dependent on tech these days so this was really quite an interesting topic for me to explore. I also have my wild ideas of businesses I'd like to start up one day so this was as much research for me as it was an article for you.  

To conclude - I think every point that was raised was more than valid and a truly agile team needs to incorporate many if not all of the above. I'd definitely agree with the top 5; teams create thriving businesses not individuals and I think the top 5 really encapsulate what is important to make any team successful.  

Thanks again to everyone who contributed and thanks for reading :-) 

Written by Yvonne Achan-Oryema. View the original post here.

You Might Also Like:

2015 Developer Survey: A Summary and Analysis 

The Future of Branding is in UX Design

The Death and Re-Birth of Apps

As always, we're committed to helping you find your next job. Tweet any questions relating to your job search to @BurnsSheehan and check out our blog for career advice and the latest tech industry insights.