My name is Artem, and I am an engineering manager and software engineer. I have experience in managing engineering teams at large organizations such as Amazon and PayPal as well as high-growth successful startups such as Honey.
In this article, I would like to highlight some common themes when it comes to ensuring productivity, work-life balance, and personal growth of the team members. I’ll also share some tips on how to achieve all this.
Managing an Agile engineering team within a large organization can be challenging, but, with the right strategies and mechanisms in place, it can lead to improved collaboration, better productivity, and increased customer satisfaction.
If I were to highlight one keyword from this article it would be mechanism. A mechanism is a specific process that has a regular cadence and clearly defined goals. For example, the daily standup is a mechanism aimed at discussing daily updates and roadblocks for every team member and the team as a whole. Always focus on well-defined mechanisms as opposed to ambiguous practices.
Here are some tips for the successful management of an Agile team within an engineering organization, as described in the terminology of the mechanism:
- Define clear goals and priorities. The agile methodology encourages flexibility, but this does not mean that goals and priorities should be unclear. Establish clear objectives for the team and make sure everyone understands what is expected of them. This will help keep everyone focused and on track. For example, it is important to set up clear goals and expectations for the team members and encourage doing a quick demo to showcase your deliverables to the stakeholders.
- Encourage cross-functional collaboration. Agile teams typically include multiple departments working together, such as developers, designers, and product managers. Stimulate these team members to collaborate, communicate and share ideas to improve teamwork and overall results. For instance, it is very helpful to have constant check-ins with the designers to ensure that your deliverables match the proposed UI/UX.
- Foster a culture of continuous improvement. Agile teams should continuously seek ways to improve their processes and workflows. Encourage your team to experiment, fail fast, and learn quickly. Regular retrospectives and feedback sessions will also help identify areas for improvement. The retrospectives, where you discuss things you can do to help your team succeed, are very helpful techniques.
- Manage communication effectively. Good communication is critical for Agile teams. Have regular check-ins, and face-to-face interactions and provide team members with the tools they need to communicate effectively. I like to combine the online-first approach with periodic in-person check-ins in the office. Try creating specific mechanisms to ensure good communication. For example, cross-team standups, engineering demos, pull requests, or document reviews.
To summarize, mechanisms, which imply regularity and strictly defined goals, are central to managing an engineering team successfully. By establishing and following such mechanisms organizations ensure adherence to the Agile methodology by focusing on such aspects of this approach as clear goals and priorities, cross-functional collaboration, continuous improvement, consistent methodologies, effective communication, and a culture of trust and respect.
By: Artem Stafeev
Originally published at Hackernoon