Spring Cleaning as an Engineering Manager
When I was a kid, spring in our apartment meant deep cleaning. I can still remember the smell of our home getting cleaned from top to bottom. We would open all the windows to let in fresh air and get rid of the old, musty winter air. We cleaned every inch and spot and got rid of stuff we didn’t need. It was all about starting fresh.
Now, as an Engineering Manager, I bring that same idea of starting fresh into my work every spring. It reminds me to look over how my team does things and find ways to do them better.
It’s the perfect time to throw out old ways that aren’t working and make our work more straightforward and focused. Let me share how I take that feeling of spring cleaning from my childhood and use it to improve our team’s work and processes, making everything more clear and efficient.
Streamline Processes
Initiating spring cleaning with streamlining your processes can lead to significant improvements in efficiency and productivity. Here’s how you can approach this:
Evaluate Current Workflows
Begin by mapping out existing workflows for different processes such as project management, bug tracking, backlog management, release management and incident response. Identify each step and its purpose.
This clear map helps you see where there are unnecessary repetitions, delays, or confusing parts. Identify any steps that are no longer necessary or that duplicate other efforts. Discuss with your team why these steps were initially included and whether they currently add value.
If your team uses Agile methods but finds that standups are too frequent and lack a clear purpose, think about cutting down the number of stand-up meetings from every day to three times a week. In these meetings, concentrate solely on major issues and top priorities.
If you find that your team’s response to incidents is slow or disorganized due to unclear roles or steps, you can improve this by establishing a clear incident management protocol.
One part of that protocol is a clear communication channel dedicated to incident management, like a specific Slack channel or Microsoft Teams group, where all incident-related communication takes place. This ensures that all information is centralized and accessible, reducing confusion and overlap in responses.
Additionally, implement a standard incident post mortem to be completed after every incident, ensuring that each response is documented and lessons learned are captured for continuous improvement.
Implement Automation
Survey your team’s daily routines to identify tasks that are repetitive and take up a lot of time but are essential, such as running tests, entering data, or creating reports. Explore which tools and software can automate these processes to save time and reduce the likelihood of mistakes.
For teams that need to generate regular reports, automate the process using business intelligence tools like Tableau, Google Looker or comparable tools. By setting up dashboards or scheduled reports, you can reduce the need for manual compilation and allow team members to access updated data in real-time as well as saving your team time creating manual reports.
Analyze your current Continuous Integration Pipelines for inefficiencies or bottlenecks that could be streamlined. For instance, you might find that your build times are longer than necessary due to outdated dependencies or unnecessary build steps. Optimizing these can significantly reduce wait times and improve productivity.
Simplify Communication Channels
Excessive meetings and emails can drain time and energy. Streamline communication by setting clear guidelines for when to use emails, instant messaging, documents and meetings.
For example, use instant messaging for questions, documents for detailed discussions that need documentation, emails for updates for broader groups and meetings for collaborative decision-making.
Here are two ways you can improve meetings:
- Define Meeting Objectives: Ensure that every meeting has a clear agenda and objectives outlined in the invite. If there’s no clear purpose, consider whether the meeting is necessary.
- Action Item Follow-ups: Conclude meetings with clear action items and owners, summarizing them in a follow-up message or email.
Encourage the use of concise, clear language and establish protocols for different types of communication. Implement regular check-ins to gather feedback on communication practices and identify areas for improvement.
By systematically addressing each of these areas you can significantly improve team efficiency and productivity. Remember, the goal is not to overhaul everything overnight but to make thoughtful, incremental changes that streamline processes and remove unnecessary burdens from the team.
Reassess Priorities
The arrival of spring is an ideal time for you to take a step back and reassess the priorities of your team. Get a fresh perspective that can be leveraged to realign and reevaluate the tasks and projects on your team’s plate. Here are practical examples of how you can prioritize tasks effectively:
Align Tasks with Organizational Goals
Spring is a great time to ensure that your team’s tasks are aligned with the overarching goals of the organization. Conduct a review of current projects and tasks and evaluate how they contribute to the organization’s objectives.
For instance, if your organization aims to enhance customer satisfaction, prioritize tasks related to improving the user experience or reducing bugs and errors in your products. Always keep an close eye on the metrics your organization focuses on and the metrics your team’s projects are improving.
Work together with your product manager to make sure your team and the organization are moving into the same direction.
Implement the Eisenhower Box
The Eisenhower Box, also known as the Urgent-Important Matrix, is a powerful tool for prioritizing tasks.
It helps distinguish between what needs immediate attention (urgent) and what contributes to long-term goals (important). Here’s how you can apply it:
- Urgent and Important (Do first): These are tasks that need immediate attention and also contribute to long-term objectives. For example, addressing critical bugs in a software release or responding to customer issues that impact many users. Prioritize these tasks to be done as soon as possible.
- Important, but Not Urgent (Schedule): These tasks are important for long-term success but do not need immediate action. This can include refactoring code for better maintainability, documenting processes, or planning future projects. Schedule these tasks after the urgent ones but ensure they are completed to avoid future crises.
- Urgent, but Not Important (Delegate): These are tasks that require immediate attention but do not necessarily contribute significantly to long-term goals. An example could be addressing non-urgent bug reports that don’t affect the current sprint’s goals or handling minor code refactoring that isn’t critical to project completion. These tasks should be delegated to appropriate team members who have the capacity, or consider automating routine checks and updates.
- Neither Urgent Nor Important (Eliminate): These tasks do not contribute to your goals and do not need immediate attention. Identify activities like unnecessary meetings, redundant reporting, or excessive email checking, and eliminate them from your schedule.
By reassessing your priorities you can ensure that your team is not just busy, but productive, focusing on tasks that truly advance the team’s and organization’s objectives. Prioritizing tasks and projects effectively leads to better resource allocation, clearer focus and ultimately more successful outcomes.
Declutter Digital Workspaces
Digital workspaces, much like physical ones, can become cluttered with unused files, outdated information, and old projects. Leading to decreased productivity and increased frustration. Here’s how you can lead the charge in decluttering digital workspaces:
Review and Organize Files
Start by reviewing the files and documents stored on shared drives and repositories. Archive old projects, delete redundant files, and organize active documents into clearly labeled folders. Encourage team members to clean their personal digital workspaces as well.
For shared design assets and product specifications, work with product managers and designers to categorize and store them in accessible, clearly labeled folders. Use a system that makes sense to all parties involved, such as organizing by project name, date, or version number. This not only aids in finding documents quicker but also in maintaining consistency across different versions and iterations of a project.
Develop and agree on a set of naming conventions for files and folders that everyone, including product managers and designers, adheres to. This could involve including the project name, date, version number, and type of content (e.g., mockup, specification, user research, technical specifications) in the file name. A clear and consistent naming convention reduces confusion and saves time when searching for specific documents.
Clean Up Communication Channels
Take the time to go through your team’s communication channels, including email, Slack, Microsoft Teams, or any other platforms used. Start by archiving old channels that are no longer active or relevant. Encourage your team to leave channels and groups that they’re no longer using or that are no longer relevant to their current work. This can drastically cut down on unnecessary information and help everyone find important messages and files more easily.
When organizing your communication channels, make sure each channel has a clear description that outlines its purpose. This helps team members understand where to go for specific types of discussions and information. Additionally, pin important resources to the top of each channel, such as links to relevant wiki pages, key documents, or project briefs. This ensures that essential information is easily accessible and not buried under newer messages.
As part of your project management process, make it a standard practice to archive project-specific channels once the project is completed. This not only helps in decluttering the digital workspace but also marks a clear end to the project, allowing team members to shift their focus to new tasks without the old ones hanging around in their digital space. Future communication regarding the feature that a finished project added should happen in the team channel as part of the on-point process.
Revitalize Your Team’s Issue Tracking Systems
Start by identifying issues that lack sufficient descriptions or have only brief summaries. These tickets can create confusion and slow down workflow, as team members spend extra time seeking clarification.
The issue’s creator needs to update it with clear, concise, and informative descriptions to ensure everyone understands the tasks at hand without needing to ask for additional details.
Next, address very old issues still lingering in the system. Let the creator of an issue determine whether these are still relevant; if they are, reassess their priority and update their status and details as necessary. For those that are no longer applicable, close them out to clear the clutter. This helps keep the team focused on current and pressing tasks, rather than being bogged down by outdated ones.
This process can easily be delegated to someone in your team and doesn’t need to be done by yourself.
By decluttering digital workspaces, you help create a more organized, efficient, and less stressful environment for your team.
A clean digital space can lead to improved focus, faster information retrieval, and ultimately, a more productive and happy team. Use the spring season as a catalyst to promote good digital hygiene practices within your engineering team.
Embrace Continuous Improvement and Routine Maintenance
Remember that spring cleaning isn’t just a one-time event; it’s about setting the foundation for ongoing improvements. Encourage your team to make decluttering, prioritizing, and organizing part of their daily habits. This regular upkeep helps avoid clutter and keeps everything running smoothly.
Institutionalize the best practices you’ve developed, from meeting guidelines to incident response protocols. This helps standardize processes and eases the integration of new team members.
Regularly review and tweak these practices to address new challenges and avoid slipping back into old habits. Celebrate successes and maintain an open environment for feedback and innovation to keep everyone invested in improving workflows.
Also, try to make maintenance tasks enjoyable and rewarding, enhancing team morale and motivation. By embedding these habits into your everyday routines, your team will continue to operate efficiently, not just after a spring clean but all year round.
Did you like this article? Want to become a better Engineering Manager? Get more Engineering Management articles sent straight to your inbox, subscribe here.