Engineering Manager: Processes, Tools & Tipps

Paul Hackenberger
Axel Springer Tech
Published in
10 min readJun 24, 2024

Organizing working and enjoyable processes as an engineering manager for a cross-functional native app team is an adventure of its own. Here’s a deep dive into the tools and practices we use to streamline our native app development process and ensure everyone’s on the same page.

Idea and Motivation

Having worked with teams ranging from 15 to 30 members, we’ve evolved our processes to foster seamless collaboration and expertise across different domains. This article aims to share the tools and strategies we employ to maintain an efficient workflow and how they can be beneficial for other team leads, engineering managers and others.

Team Setup

Android, iOS and Backend specialities

In our cross-functional team setup, we aim to create a versatile and dynamic workforce by encouraging each member to become a specialized type of full-stack developer. This unique approach combines expertise in both backend and either iOS or Android development. By doing so, we ensure that every developer not only masters server-side technologies, such as Kotlin and Spring Boot, but also becomes proficient in one of the major native mobile platforms. This dual-specialization strategy enhances our team’s flexibility and capability, allowing us to tackle a wide range of technical challenges and deliver seamless, integrated solutions across both mobile and backend domains. Through continuous learning and collaborative efforts, we strive to build a cohesive team where knowledge is shared and every member can contribute effectively to the complete product lifecycle.

Test Automation

Test Pyramid

Automation is a cornerstone of our team’s ability to move quickly and efficiently. By assigning developers the responsibility for unit and integration tests, we ensure that each piece of code is rigorously validated from the ground up. Concurrently, our QA team focuses on automating more complex scenarios through UI tests, extending all the way to automated purchase testing. This comprehensive automation framework enables us to maintain high standards of quality while significantly reducing the need for extensive manual testing. Consequently, we are consistently confident in the integrity of our releases, allowing us to deploy new versions of our app rapidly and reliably. This approach not only accelerates our development cycles but also frees up our team to focus on innovation and feature development, knowing that our automation safety net is robust and effective.

Jira Boards

Kanban Board

We follow the agile Manifesto, and started with the Scrum method, but soon we figured, that we require a different more flexible setup for our experienced team and special context, so we switched to a less strict and more agile Kanban-adopted process.

Our Jira Kanban board is the central hub. This board isn’t just a visual representation of tasks but a tool that brings our entire team together, showcasing the overall progress of our project.

All tickets are visible to everyone on one board, granting a quick overview over the overall progress. Additionally quick filters allow team members to focus on tickets that match their expertise, without losing the global overview.

Shared Kanban Board Jira

Planning Board

The planning board categorizes tickets into ‘new’ and ‘open’. New tickets need to be understood and refined in the backlog refinement, while open tickets are ready for development.
Mainly the BLRF is the stage for the feature lead to discuss the planned technical tickets, but it’s not limited to them; each team member may bring tickets to the Backlog Refinement (BLRF) to be discussed, either technical, design or other aspects of the app.

Epic Board

Epic Board Jira

This Jira board outlines the major topics and features that are planned and those we’re currently working on, ensuring alignment with our long-term goals. New epics are first domain-wise specified by the product owner and then detailed by a rotating feature lead.

Rotating Technical Epic Lead Duty

In our team, rotating the technical epic/feature lead responsibility plays a pivotal role in fostering both the spread of knowledge and individual growth. When a team member takes on the role of feature lead for an epic, they start by gathering specifications from the product owner. They then dive into the technical details, ensuring they fully understand the requirements. This process involves extensive communication with internal team members and external teams to clarify interfaces and dependencies.
By rotating this responsibility, we ensure that every team member gains a holistic view of the project, deepening their technical expertise and improving their communication and leadership skills. This practice not only democratizes knowledge across the team but also encourages personal development, as each member learns to navigate complex project landscapes and make informed decisions that benefit the entire team.

Team Calendar & Events

Four weeks Team Calendar

Weekly

Our first weekly first meeting, serves as a crucial touchpoint for our team’s progress and cohesion. These half-hour sessions, held every Monday, go beyond the typical daily stand-up format by allowing for a more in-depth discussion about our work. Team members share updates on what they accomplished last week, outline their plans for the coming days, and identify any obstacles they might be facing. However, what truly sets our weeklies apart is the intentional inclusion of social time. We kick off each meeting by chatting about our weekends, new personal milestones, or fun topics like upcoming hackathon ideas. This casual conversation helps build camaraderie, making our team stronger and more connected. By fostering a friendly and open atmosphere, our weeklies not only keep us aligned on our professional goals but also nurture a supportive and enjoyable work environment.

Daily

Our daily stand-ups are brief, focused meetings held every morning from Tuesday to Friday, designed to keep everyone aligned and on track. Lasting just 15 minutes, these sessions allow each team member to quickly share what they worked on the previous day, their plan for the day, and any obstacles they might be facing. This concise format ensures that everyone stays informed about the team’s progress and can swiftly address any issues, allowing us to dive back into our work with clarity and purpose. By maintaining this regular, focused communication, we enhance our productivity and ensure smooth collaboration across the team.

Backlog Refinement

Backlog refinement sessions are an integral part of our development process, held twice a week to ensure our work is always well-organized and prioritized. During these optional but highly productive meetings, feature leads primarily present new and existing tickets, but we also review contributions from tech, design, and product domains. This collaborative effort involves discussing technical details, validating the feasibility of proposed solutions, and ensuring everyone understands the scope and objectives of upcoming work. Additionally, we address any out-of-default flow tickets that require immediate attention, ensuring no critical issues are overlooked. By continually refining our backlog, we maintain a clear and actionable roadmap, allowing the team to focus on high-priority tasks and avoid potential bottlenecks. This ongoing process not only improves the quality and clarity of our work but also keeps us agile, enabling quick adaptations to changing project needs and priorities.

Weekly Newsletters

Every Friday, our engineering manager curates a weekly newsletter that serves as both an informative and motivational update for the team. The newsletter kicks off with an international music recommendation, adding a fun and diverse element to our communication. It then covers hot topics of the week, provides updates on upcoming epics, and includes inspiring articles from various sources, like books, newsletter, feeds or blogs.
This thoughtfully crafted newsletter keeps everyone informed about the latest developments, maintains alignment on project goals, and fosters a sense of community and engagement within the team.

Our WELT News App Team Playlist

Release Cycle

Our release cycle operates on a monthly basis, offering flexibility to ensure that features are deployed timely and efficiently. Unlike rigid schedules bound to specific app feature versions, our approach allows us to adapt and move release dates as needed to align with development progress and business priorities. This flexibility ensures that we can deliver new functionalities and improvements to our users without unnecessary delays, while maintaining the high quality and stability of our app. By decoupling our release schedule from strict version timelines, we remain agile and responsive to both development and market demands.

Retrospectives

Our retrospectives, held monthly, are self-organized sessions where we reflect on our processes and outcomes to identify areas for improvement. Using tools like the Wheel of Names, we rotate moderation duties to ensure everyone has a chance to lead the discussion.
Of course we fix the agreements and actions, and (mostly) solve the issues planned before the next retro.

Hackathons

AI Hackathun

Quarterly hackathons complement these retrospectives by fostering innovation and creativity. Before the first day of the hackathon, we organize ideas, form teams, and ensure all necessary tools and access rights are prepared. This proactive approach allows us to maximize our time and focus on innovation and development during the event.
During hackathons, team members are required to either present an idea or join a team, ensuring active participation and collaboration. These events not only boost team morale but also drive continuous improvement and fresh perspectives in our development efforts.

Team Events

Team Event: Kayaking in Spreewald

We strategically schedule our team events right after our monthly retrospectives to maximize participation and foster camaraderie. By coupling these events, we ensure that everyone is already gathered, making it convenient to transition from reflective discussions to social activities. This approach allows us to strengthen team bonds, celebrate our achievements, and relax together, reinforcing a positive and collaborative team culture. Whether it’s a casual chat, a team-building exercise, or just some downtime together, these post-retro events are crucial for maintaining a supportive and engaged team environment.

Feedback, Training and Development

One-on-Ones

Our one-on-ones have evolved over time to better suit our team’s needs. Initially, we conducted these meetings weekly for 15 minutes, but we discovered that a bi-weekly schedule with 30-minute sessions was more effective. New team members, however, still start with weekly one-on-ones until they are settled in. The primary goal of these meetings is to provide mutual feedback, align team requirements with personal goals, and define special missions outside of daily tasks. We also focus on setting targets for personal development. To keep track of our discussions, challenges, and decisions, we use a planner board with columns:

  • Plan
  • In Progress
  • Done/Achievement

This structured approach ensures that our one-on-ones are productive and contribute to both individual growth and team success.

Conferences, company-provided and individual Trainings

Our team places a high value on continuous learning and professional development, supported through conferences and company-provided training. Each team member is encouraged to attend 1–2 conferences per year, funded by the company, to stay updated with industry trends and innovations. We maintain a curated list of recommended conferences to help team members choose the most beneficial events. Additionally, we leverage the Axel Springer training catalogue, which offers a wide range of soft skill and technical training programs. For more personalized development, we provide individual training opportunities tailored to each member’s unique needs and career goals. This comprehensive approach ensures that our team remains skilled, motivated, and ready to tackle new challenges.

Development Dialogue

Our development dialogues, held 1–2 times per year upon a team member’s request, are structured meetings focused on personal and professional growth. Preparation is key, with team members required to bring input to the meeting. During these sessions, we review the chronology of the past year, discussing achievements and areas for personal improvement. We align individual targets with team requirements and set new goals for the upcoming period. Additionally, we select relevant conferences and trainings, leveraging opportunities for on-the-job training and job rotation within Axel Springer. This comprehensive approach ensures that team members receive targeted support and development opportunities, fostering a culture of continuous improvement and career advancement.

You can read more details about our development dialogue in the following article.

Budget Planning

Our budget planning is meticulously managed using an custom Excel-based system that ensures fairness and transparency.
This comprehensive spreadsheet tracks all developer salary data, including hiring dates, years with the company, roles, expertise, salaries, and the dates of their last raises. As an engineering manager, this allows me to maintain a fair salary balance across the team, depending on specific role and expertise.
Additionally, we monitor individual learning budget spendings, providing visibility into current expenditures and helping plan future training opportunities, which can be postponed to the next year if necessary.
The budget also covers monthly team expenditures, including costs for team events and special equipment per team member.
Finally, we keep a detailed record of services and tools expenses, providing a year-by-year overview that aids in overall budget planning, resource allocation, and identifying potential savings. This structured approach ensures that we effectively manage our financial resources to support both team development and operational needs.

Conclusion and Reflection

In managing a cross-functional native app development team, our tools and processes have proven essential in fostering collaboration, ensuring efficiency, and driving continuous improvement. From the detailed structure of our Jira boards and the flexibility of our release cycles to the enriching experiences of our hackathons and one-on-ones, every element is designed to support both individual growth and team success. Our commitment to automation and regular refinement sessions keeps our workflow smooth and reliable, while our focus on personal development through conferences, training, and development dialogues ensures that our team members are always evolving. As we continue to refine these practices, we remain dedicated to maintaining a balanced, motivated, and skilled team capable of delivering high-quality, innovative solutions. Reflecting on our journey, it’s clear that a supportive and structured environment is key to navigating the complexities of modern app development.

--

--