20 Learnings From Delivering Cross-Functional Machine Learning Projects | by Aliaksei Mikhailiuk | Aug, 2023

How to navigate complex cross-functional cross-team projects to drive timely solutions and not ruin the relationships

Image generated by the Author with SDXL 1.0.

Whether you are leading or helping out in cross-team projects, it can be daunting. And while the stress of driving deadlines and managing, at times, complex situations can always have a spin of “what doesn’t kill you makes you stronger,” it can be avoided, and the learning can happen in a fun environment of delivering something big together.

Cross-team engineering projects are challenging, and machine learning projects add yet another layer of complexity, where the collaborators often need help understanding the technology behind, implications and risks of using machine learning in production.

Working for American and Asian corporations and startups with very different work ethics, standards and expectations, I was lucky to lead and participate in multiple large-scale cross-team projects, delivering customer-facing machine learning solutions.

Here, I summarise the learnings on planning, development process, managing documentation and communication and the rules I have distilled for myself from the cross-team collaborations.

  • When bringing teams together to work on a feature, prepare a one-pager summarising the feature, solid reasons for why it is needed, and justifications of the priority level backing it up by the data from A/B tests/usage analysis or come as a request from the above.
  • When approaching teams, bear in mind that every team has its stack of features to be implemented; they would need to re-prioritize the tasks if they commit to work on the task.
  • Always contact the managers first when planning for a new feature and scoping the work. They would know the state of the resources and point to the right person. Always include managers in the planning and communications; they might know about the similarity with other projects.
  • Reducing costs and improving monetization are two topics for which the teams will always be willing to find resources and time. If you can frame your asks in that format, agreeing will be easier.
  • Different cultures and countries have very different notions of how power should be distributed across the group members. While guidance only, Hofstede’s power index has helped with a much quicker and smoother priority alignment on several occasions.
  • Drive dates — have clear and justified deadlines. Ask the team to scope the work and come up with a date. Deadlines don’t help, but they help — they are a mental anchor for the team members in planning the work, making it more focused.
  • Make sure you are following the development patterns and standards that are appropriate for the moment. Features might come at the cost of short-term thinking when pushing for a hard deadline. Make sure to document places where the corners were cut and allocate the time after the deadline to polish the project.
  • When a big deadline is approach the team will become more steerable, and people are usually willing to go the extra mile; don’t always expect that in lower-paced periods.
  • When planning time off, plan handover and have clear milestones while you are away. Split responsibilities and point out your scope for when you come back
  • Set a clear benchmark and report the results against the benchmark — this way, it is easier for the team to see the progress and communicate feedback.
  • When preparing docs for external parties, make sure to have a team-level review and then ask a trusted member of a different team to read through the doc to make sure it is clear to an outside person before sharing it with other external members and higher management.
  • Document the meetings, send follow-up emails, summaries and list responsible parties, make sure everyone is aligned.
  • Always ask before sharing the doc with co-authors, especially when it is unfinished.
  • Whether it is an external or internal document, all documents must have the POC, date of creation and the last significant change.
  • Use shared documents for discussions and alignment. A verbal agreement is often misinterpreted and forgotten. Having a written text to align on provides a starting point and an anchor for constructive conversations. If you are the document owner, allow the third parties to leave comments.
  • Ensure to provide regular reports — these will not only help flag problems early but also keep you accountable. If a problem is flagged early enough, management would have time to provide resources to aid the delivery. Visibility and transparency in decision-making also make it easier to criticize you, helping shape a better solution.
  • Higher management doesn’t have time to dive deep; however, they will have a better view of the current direction and priorities. When providing information or potential development options to higher management, don’t dive into too many details. Keeping reports concise and to the point, lots of visuals, high-level overview and real-world analogies, flagging problems early are the ingredients for satisfied management.
  • When communicating different options to the higher management, do not describe several options and ask to pick one. Almost have a pre-decision, e.g. we want to go with X because it is AB and C; however, Y has DEF, but in the long term, this would not matter. Are you happy with us to proceed with A?
  • When communicating, it is better to cc an odd person than not to cc the important one. Ask yourself: “Who would get pissed off if I don’t contact them?” — projects can derail because someone is pissed off.
  • Having good relationships with the team members and across teams is essential. The best way to keep them this way is to stay tuned and be open to feedback. Proactively ask for feedback, especially negative — drop a message and say you are open to communication — build trust. Subconsciously, people would pick things up and let you know before they might blow up.

Clients and higher management do not need problems. They need solutions. That’s typically a difference between staff and business owners — staff is very good at pointing at problems, and business owners drive solutions.

Having the owner mindset helps bring the people together and build a more encouraging environment. After all, it’s much easier to work when there is a clear path forward, and the job of the lead is to define this path.

However, when arguments arise, when unsure about the right decision, ask yourself, “What is best for the team and the project?” — this always helps to take the right turn.

Great books to build project management skills are:

If you liked this article share it with a friend! To read more on machine learning and image processing topics press subscribe!

Have I missed anything? Do not hesitate to leave a note, comment or message me directly on LinkedIn or Twitter!

Source link

Leave a Comment