BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Agile Development & Remote Teams - Six Powerful Productivity Hacks You Should Know

Agile Development & Remote Teams - Six Powerful Productivity Hacks You Should Know

Leia em Português

Key Takeaways

  • Rather than ‘just’ automating the development process, remote teams should focus on automation that actually makes sense. Forgo unnecessary Agile tools and processes, and focus on a few but most effective ones. We don’t need to have Slack, Asana, Spark, Skype all at once.
  • Keep the Agile process simple. You need not get obsessed with the process; our main goal should be on getting the actual work done.
  • Agile is all about quick execution and quick releases. There is no scope of perfection. What you do daily defines what you will deliver.
  • The sprints should be short and realistic. Rome wasn’t built in a day. Break down your project roadmap in months, weeks and days and then, execute.
  • Execute, but measure what you execute. Then you’ll know where you need to work the most and which plan went perfectly.

Meeting with software developers on a regular basis was one of my key focus areas a few years back. However, within a few meetings I realized that long meetings aren’t in their wheelhouse. It just took them out of their coding frame of mind. But I also knew that my in-house technical team, these developers, and I had to remain synced: that was the glue for a successful progress. Soon I learn about Agile-style of meetings and we started conducting virtual meetings in a Google Hangout to cover highpoints, breakup workloads and maintain better accountability.

With organizations around the globe trying to go lean, there is a definite rise in distributed and agile work environments today. Agile development and remote engineering teams – two different lean approaches – complement each other in today’s times, and with good reason: pairing them together to tackle software projects allows companies to engage people around the globe in order to build chunks of code in a streamlined manner.

What does it lead to you may ask? It does lead to:

  • Faster production cycles
  • Concurrent coding
  • Ability to continuously deploy with fewer roadblocks
  • Fewer chances of burnout

Agile environment is backed by the idea to make clustered or in-house teams more productive. AGILE CULTURE RUNS ON THE PRINCIPLE OF TEAM COLLABORATION, CONTINUOUS LEARNING & PLANNING, AND SEAMLESS INTERACTION. As businesses go global, expand to different geographies, teams become more scattered with talent from less competitive markets working on projects around the clock. Effective collaboration between remote teams using Agile, as one of the new-age development models, has proven to be very effective. However, Agile development and remote teams sometimes have friction and fall into different sorts of challenges such as:

  • Building rapport with team members
  • Coordinating across time zones
  • Scheduling meetings when both teams are online together only for a short duration
  • Collaboration among different development cultures

To ease this conflicting situation, organizations require a hybrid Agile development approach specifically targeted towards streamlining and powering up remote software development. An approach that, rather than fuelling another set of conflicts, helps remote teams sort out their priorities and be more productive.

Make it work: Top 6 productivity hacks for distributed agile teams

1. Automation that makes sense.

Continuous review of process is a key to achieving productivity at the workplace. Make sure you review your processes on a case by case basis and aim for a solution to make the process as effective and streamlined as possible. Invest in one umbrella application that eliminates the need to use different applications for different processes, so as to ensure faster and more effective ways of carrying out tasks by ensuring there is no duplication of processes.

Creating a culture with continuous integration is especially valuable on projects with extended timelines or when managing remote teams.

Automation saves the day in a number of ways: it fast tracks the whole delivery and reporting process, gifts the ones participating with a sense of responsibility, and it’s 100% achievable, all thanks to the latest tech advancements. For instance, Jira is the tracker of choice for teams planning and building great products. Many teams choose Jira to capture and organize issues, assign work, and follow team activities. It gets the job done, no matter where the teams are based.

USER STORY: Let’s take a look at how the German automobile giant Audi uses Jira in it’s day to day business.

Audi employs thousands of engineers, designers, software developers, and QA teams across the world. But while Audi’s offices span the globe, its main research and development (R&D) centers are both based in Germany, employing over 6000 employees. They started using Jira for issue tracking & Confluence for knowledge management in 2007, and today, they are used to support all teams and their projects – regardless of which department. At the road testing facility, testers log car software bugs into Jira during test drives. Off the track, teams use Confluence to store documentation, department protocols, meeting notes, and policies, helping the company stay efficient and transparent.

Tool Tip:

2. Simplicity in the Agile process - Spend time on actual work

The mantra to success is simple, really – talk less, do more. A lot of Agile teams get obsessed with the development model itself. Agile model is there to increase productivity and if we are not agile enough to use Agile to the team’s advantage, then Agile is a failure.

For remote teams, for instance, distance can become a reason to stay the course and avoid evolving the solution when challenges or barriers arise. This can be counter-productive for the whole team. Setting a schedule, weekly or daily will help keep your team accountable for the work they have been assigned. Ensure that team members are as much a part of the decision making as they are for the implementation of that decision.

Make sure you organize meetings at a time that is conducive to corresponding time zones and optimize duration by monitoring employee engagement throughout. You could also consider rotating meeting times so teams in a particular time zone don’t always have to bear the burden of adjusting to other times zones. Keep track of how these meetings affect productivity and reduce or increase frequency accordingly. Once the project comes to an end, make sure the end result is shared across teams, and each team’s involvement is highlighted.

USER STORY: Amazon has always been a trendsetter when it comes to adopting new business practises, and its widespread adoption of Scrum is one move that is worthy of mention. It works so well for the company as it promotes decentralised decision-making discretion that is designed to let teams create, deliver, and operate high-quality software in a streamlined and red-tape-free way. Scrum implementation happened from the ground-level up at Amazon allowed their teams to respond to demand and remove impediments as they’re discovered.

3. The power of daily - build a ritual that becomes a habit.

Agile, by nature, allows for project details and activities to be developed for short-term plans as prototypes are released and assessed, but longer term activities are more general.

Agile is all about quick execution and quick releases. There is no scope of perfection. And this is rightly so. Therefore, what you do daily defines what you will deliver.  Accomplishing daily targets or mini-deliverables is a huge motivational boost for the team, and creates a perception of reaching closer to the ultimate goal.

Tool Tip:

- Basecamp 3: Basecamp has been our to-go client communication tool since forever. The new version is a bit more than just message posting channel - Basecamp 3 helps our team easily automate day-to-day tasks with its to-dos feature.

4. It’s all about the sprints.

While having a schedule is good, don’t let meetings eat into the team’s work time.

Short and sweet is the name of the game, so keeping sprints short will lead to better productivity and allow the team to be able to do quick releases. After all, it’s not just about releases and productivity but also about the mindset of the team that makes them actually Agile by never stagnating. Planning is more realistic because of shorter sprints because then it is based on current stats.

Tool Tip:

Tools such as Jira when integrated with Slack allow you to integrate notification of important events in Jira to be automatically pushed into Slack channels. This allows the team members to be updated in real time about sprint progress without having to wait around for responses and stall progress.

5. Build a solid project roadmap that connects.

Rome wasn’t built in a day – it took time, effort and a lot of brainstorming! Similarly, you need to get a project roadmap in place because this is the plan of action that will communicate to your agile team – no matter where they are based – how a product or solution will evolve over time.

Distributed teams mean different timeframes, which makes planning a challenge as you can’t have the same level of detail as you would with a team that’s right next to you. An approach such as the rolling wave planning may work better in such cases, wherein you plan things that are near in time to you in detail and things that are distant in time at a higher level. Shared between multiple agile teams, such a plan will provide crucial context for the team's everyday work, and be responsive to shifts in the competitive landscape. All you need to do is to break it down into months, weeks and days. The days should define the daily deliverables because what you deliver each day matters a lot for the ultimate objective.

USER STORY: An agile work ecosystem promotes a distributed team culture as is demonstrated by few of the biggies in the industry today. Take Microsoft for instance, that has successfully been using the agile model even at Enterprise scale.

When it started though, it had its share of bottlenecks that actually adversely impacted quality and progress. However, they addressed their issues using third-party frameworks for applying agile to enterprise project such as SAFe. They started with planning and architecture, moving on to building a feature, and then finally fighting the code. Telemetry was used to keep track of system workings, and automate testing. With agile software development, Microsoftmanaged to shorten its release cycles from months to weeks and respond more quickly to customer requirements.

6. Measure. Change. Release.

Don’t just deploy, measure. More often than not, things that we least expect happens. And when that happens, you need to change strategies, gears and what not. Being agile means that you should be able to do that whenever required. That is what brings about a change.
Build next roadmap based on data and measured metrics.

For agile and lean processes, the basic metrics are lead time, cycle time, team velocity, and open/close rates. These metrics aid planning and help make informed decisions about process improvement. Whenever any of these metrics are not in the range you expected or are trending in alarming directions, do not assume a cause. Involve your team, get it out in the open, and take a joint decision on addressing the issue.

Conclusion

The concept of agile teams is slowly expanding towards enterprise agility. Agile is a great source for software development, because of its focus on self-managing teams, autonomy, and visibility into a prioritized backlog. The process of scaling Agile seems simple: if it works in one department, you just apply it to all your existing teams and departments in order to build an Agile company ecosystem. It’s important to remember that the world is a small place even for distributed teams — made smaller thanks to a host of available communication platforms such as Slack, Jira or Skype. Encouraging the same close communication expectations is the key to upholding Agile process on distributed teams.

About the Author

Tanya Kumari works as an Agile Expert for Classic Informatics, an application development agency. She is an avid reader, music lover and a technology enthusiast who likes to be up to date with all the latest advancements happening in the techno world. When she is not working on her latest article on agile team dynamics, you can find her by the coffee machine, briefing co-workers on the perks of living a healthy lifestyle and how to achieve it.

Rate this Article

Adoption
Style

BT