In our last installment of this series, we discussed the need to fully understand Agile before implementing it. This includes knowing not just its foundational values and principles, variants, and challenges, but also this next point:
2. Know when Agile works and doesn’t work
Agile is a brilliant methodology, but it does not work for all cases. It is ideal for most cases of software innovation where the problem that must be solved is complex, solutions are initially unknown, requirements are likely to change, and there is a feasible means of constantly communicating and collaborating with end users. Ideally the work can be done incrementally and still deliver value, late changes are manageable, and interim mistakes provide valuable learning rather than cause catastrophic damage.
Agile requires training, behavioral change, and more often than not, new information technologies. Organizations looking to implement Agile methodologies must be open to these requirements, and ensure that they are well prepared for them. For remote teams, that means constantly communicating with onsite managers who will oversee training, practices, and the team’s overall response to Agile.
3. Aspire for ideal role characteristics
Every Agile methodology has its own unique set of roles, such as Scrum Master and product owner. These titles and roles may change from one team to another, but there are a number of universal role characteristics that all Agile teams should have:
- T-shaped – It is ideal for Agile team members to have a wide breadth of basic knowledge in their field, but also a deep knowledge, experience and/or ability in one or more specific fields.
- Cross-functional – Cross-functional Agile team members possess skills outside of their traditional field that can be useful in certain project situations.
- Adaptable – With their diverse skill set, Agile team members are able to adapt to changing environments and requirements, and still deliver consistent output.
- Curious – Agile team members will constantly seek ways to improve and challenge the status quo, asking the right questions when necessary.
- Proactive – Agile team members do not wait to be told what to do, but will fill in and do what is necessary when they see a need.
- Team-oriented – Everyone prioritizes the team’s success and harmony over their personal glory.
- Committed to excellence – Despite a faster pace and changing requirements, Agile teams continue to deliver quality, and strive to do their best work every time.
When you hire a developer for your remote team, check for these characteristics to ensure a smoother transition to Agile. If you already have an existing team, it may pay off to have them trained to develop these characteristics.
4. Develop and nurture eagerness
One of Agile’s foundational principles starts with “Build projects around motivated individuals.” Not everyone will be fully accepting, let alone motivated to a shift towards Agile, but it is important that everyone is onboard. If not, you could risk falling into the trap of “fake Agile”, where the external controls that make traditional practices work are removed, but none of the team-centered disciplines that make Agile work are instilled. This causes poor results, which then get blamed on Agile.
One of the most effective ways of getting your entire team onboard with Agile is to start small. Start with training those who are most familiar with the principles, and let their example and experience spread to other teams. Introduce the Agile methodology in terms and ways your organization can understand. This was the approach that managers at John Deere, a farm equipment company, took on. They started applying Agile principles with one IT group, and gradually other software development units within the company followed suit. They started publishing articles about Agile principles and practices, which were emailed to interested employees and posted within their social networking site. This company-wide interest and knowledge-base on Agile was built up until almost every area of John Deere had started using Agile.
This can work for your remote team as well, however it will take much coordination and patience. Speak early and often to your team about moving to Agile, and address any concerns they may have early on. Make sure to communicate with onsite managers about the steps you need to take, keeping tabs on how well the team is adjusting, and providing what the team needs to make a seamless shift to Agile.
Check back for the last installment of this series, where we discuss several other key aspects for successfully adopting the Agile methodology, especially with a remote team.