Tom E: Welcome to the Asos Tech podcast, where we're continuing to share what it's like to work inside a global online fashion company. You may have bought some clothes from us, but have you ever wondered what happens behind the screen?
Ash H: Perfect.
Tom E: Hello, and my name is Tom Evans, and my pronouns are he, him, and I'm a Data science Manager for Asos. I'm really excited about the guests that we have here on the podcast today to talk about cross functional working. Without further ado, if you could each tell me who you are, what's your role, and how it fits into the cross functional picture, and maybe we'll start with you, Dave.
Dave P: Hi, everyone. I'm Dave P. Him, and I'm a principal software engineer in the AI platform. I don't really sit in a specific cross functional team, but help with improving engineering standards and reducing toil across lots of different teams.
Tom E: Thank you, Dave.
Priscilla F: Hi, I'm Priscilla, and my pronouns are she her, and I am a senior machine learning product manager here at Asos. I work specifically with both the AI pricing and the AI forecasting team. As a product manager, I'm responsible for driving the development and implementation of machine learning based products to optimize automate and scale decision making processes, as well as improve customer experience. And to give you a little bit more an idea of what my role is about, it involves defining a product strategy, identifying and prioritizing opportunities for machine learning, gathering requirements from stakeholders, and working closely with the data science and engineering teams to develop and deploy these models. As a cross functional team member, I collaborate closely with the data scientists and the engineers, but I also am in continuous communication with different business teams to ensure that the products that we develop are aligned with company's strategic objectives, visions, and, of course, our customer needs.
Tom E: Wow, you do a lot. It sounds like you're the glue that holds it all together.
Priscilla F: I like to hear that.
Tom E: So Crit.
Sukrit B: Hi, everyone. I'm so crit pronounced EHM. A Senior Data Engineer in the AI platform, I work with the forecasting team. As Data Engineer, I'm responsible for designing, building, and maintaining the data infrastructure. My role involves working on everything from designing scalable data solutions and develop pipelines to ensuring the accuracy and quality of the data that is input to our machine learning models. As a cross functional team member, I work closely with the machine learning scientists, machine learning engineers, data engineers, product managers to understand the data needs of the platform and ensure that they are met.
Tom E: If we're looking for some data, we come knocking at your door.
Sukrit B: Yeah, I would be the right person.
Tom E: Next, if we move over to Ash.
Ash H: Hello, I'm Ash pronounced she her, and I'm a machine learning engineer on the pricing AI team. So, yeah, I work really closely on a team of other machine learning engineers as well as scientists, data engineers. We all have the aim to develop and implement really solid patterns for training, deploying, and serving our pricing models in production quickly and also safely. So my role entails leveraging ML Ups principles when building out infrastructure around each of those models that we can easily update and maintain. And I'm also responsible for maintaining a high standard of code, having strong test coverage, and being able to scale our systems easily as well.
Tom E: That sounds really important. Scale is very critical to a lot of what we do. Jacob, last but not least.
Jacob L: Hello, I'm Jacob Heehim. I'm a senior machine learning scientist in the Recommendations team, where we're responsible for personalizing and optimizing the selection of products that we show to our customers. As a machine learning scientist, I'm principally involved in selecting the machine learning algorithm we're going to be using and selecting the data we're going to use to train those algorithms, and also finding ways to evaluate those models effectively so that we know how they're going to perform when we deploy them. For me, cross functional working means getting involved in a lot of the engineering, so particularly around the ML Op side. So whether that's data processing or helping define training pipelines or getting involved in the monitoring of our live models, also finding opportunities to spread scientific knowledge around. So we run literature reading review groups where all of the team contribute, and also working with the product teams to help translate those business problems into machine learning problems.
Tom E: That's really interesting, and we might come back to some of those points that you've raised later on in the podcast. I'm really excited about the experts that we have here today. It sounds like I've got exactly the right people in the room for our first question. I'm going to go to you, Ash. Could you tell us what a cross functional team actually is?
Ash H: So a cross functional team is essentially a group of people with different expertise working towards a common goal. So each member of that team can bring some added value to different aspects of building the product, and everyone is collectively responsible for the outcome. What this can mean is promotes a lot of innovation because you're already starting out with a collaborative space and you can be quite creative because you have lots of different people with different backgrounds to bounce ideas off of. And yeah, down the line, this can mean that your team can adapt to changes and challenges better because you've got that wide range of skills available to you. For instance, within our AI platform, we have several different teams, and most of them are made up of a mixture of machine learning scientists, ML engineers like me, product managers, and recently, we've been starting to add data engineers into the mix as well. And so each team is responsible for the entire lifecycle of any models that they develop, as well as the surrounding infrastructure, from experimentation through to development, testing, deployment, and supporting that model in production as well.
Tom E: Thank you very much, Ash. That's really interesting and I think we're going to touch on a lot of those points as we go through this podcast. It's interesting that you touched a little bit on the benefits of why it's important, but maybe if we can move over to you suckrit. What? Do you feel the benefits of a cross functional team are over? Say, a single function teams that collaborate in squads?
Sukrit B: Yeah, sure, I can diverse perspectives. I think cross functional team, as Ash mentioned already, includes members from different backgrounds, skills and areas of expertise. This diversity of thought and experience allows the team to approach problems from different angles, which leads to more innovative solutions and better decision making. I also think it leads to improved collaboration because cross functional teams include members which may not work together normally, or probably the roles are a bit segregated, but this helps break down the information silos and fosters a culture of teamwork. Also, I think that it leads to faster iteration and implementation of products. In a cross functional team, people from different departments can come together, think of potential solutions, and take into accounts and constraints of different departments. There's less need for lending prioritization cycles or waiting on input from multiple teams. The team can collaboratively work in real time, make decisions and take action more quickly. And this just helps the team be more agile and responsive to changing conditions and changing requirements of the stakeholders.
Tom E: So it sounds like what you're saying actually is it removes a lot of the friction that exists along the complex projects that we're doing, is that correct?
Sukrit B: Yeah, exactly that. And that's very important in today's fast paced business environment. Right?
Tom E: And it sounds like quite a nice environment to be working in, I guess. Jacob, coming to you, do you feel like that's reflected in your day to day?
Jacob L: Yes, something I'd add to what Sugar was saying about it creating improving or something I add to what Sugar was saying about increased collaboration and teamwork and faster iteration is that it also just brings down barriers within the team and it makes it just, frankly, a more friendly place to work. The atmosphere in the team is really great. There's a real culture of friendship and respect, I think. And yeah, there's no Tribalism and there's no Oz v them. It's just like in the AI platform. Everyone is a very friendly place.
Tom E: Thank you, Jacob. I think that sounds very asos and aligns to a lot of the values that we have as a business. Something that Silk RIT mentioned are around that kind of speed to iterate and fast kind of speed to deliver back into the business. I'd really love to come to you, Priscilla, who obviously spends a lot of your days communicating with stakeholders. Do you find that we're better able to deliver using this cross functional model? Do you find our stakeholders are happier yes, absolutely.
Priscilla F: Because as you can imagine, delivering successful AI products requires a different set of skills and expertise. And working as a cross functional team is what fosters collaboration, communication, fast innovation and problem solving, which is what results in our AI products being as they are and successful and fit for purpose, which is what makes happier stakeholders. For example, at Asos, a cross functional team for building AI products would include what you've heard us talk about so far. So the data scientists who develop machine learning models, the engineers who deploy and scale these models, the AI product manager like myself, who define product strategy and prioritize features, but we also end up collaborating and including many other business functions within our squads. We collaborate with legal and data protection to make sure that we use data the right way and that the terms and conditions are written in a way which is clear to the consumer. We collaborate with CRM and Marketing to make sure that the communication that comes alongside one of our AI recommendation is done as it should. We also collaborate with other project managers, which would be from Webinar for example, who bring their own expertise into the squad. We'd also sometimes need to collaborate with finance as well and many other business functions, and this collaboration and this communication is what ensures that we develop products that meet the customer needs, align with business objectives and utilize the latest AI technology and techniques. And having all this expertise in one group is what makes us so successful at it amazing.
Tom E: And I guess the stakeholders feel the benefit of that.
Priscilla F: Right there is really the speed to market as we were talking about, because you can respond to any challenges quicker and gain from every different member's expertise.
Tom E: I'd be interested to come to you Dave, just to hear a little bit around. I know you sit above the individual teams and have come through that cross functional team. It would be great to hear how you find working in a cross functional team versus not. What do you feel are the key differences for you?
Dave P: So apart from a lot of the pros that have already been mentioned, the main difference I found in working in a non cross functional team is communication and planning, which is so much more important but also so much harder to do in a cross functional team. Blockers are a big issue constantly when you're waiting on other teams and can really reduce productivity of a team, where in the AI platform, for instance, I never really hear of teams being blocked in an engineering perspective from other teams, which is really great and allows them to deliver really great products quickly. One thing I would say on this is that obviously there's a limit to the amount of functions that can be part of a cross functional team. Projects may require tech resources from many different teams, and teams I've worked in before have had many different functions which also can cause problems. So I've worked in teams where the cross functional team grew too big and it became better to move a particular function out and have well defined contracts between those teams so that blockers become less of an issue.
Tom E: That's really interesting that you mentioned around the size of the team because obviously with cross functional teams, actually it's quite easy to have them grow. What would you say is the ideal size for a cross functional team?
Dave P: So there's an interesting rule in engineering called the two pizza rule, so that teams should be big enough they can be fed by two pizzas. I don't think this is entirely accurate for cross functional teams and for Air in particular, partly because I eat a lot of pizza. But the team size and how quickly they can divocum, there's quite a lot of factors that can have an impact on that, such as seniority of the people in the team, the amount of different functions that there are in the team. So it really is an iterative process to see what works best for you.
Tom E: I think, and something we haven't touched on at all is the kind of leadership that you need in a team. What would you say? How do you lead a cross functional team?
Dave P: One of the big problems with cross functional teams is a lead might not have experience in each of those different roles that are within that team. So it is really a key part of cross functional teams is having people in that discipline that you can really rely on and can take work and really deliver it so that the team lead managers prioritizing the work and doesn't have to really think about the way a particular discipline is implementing what they're working on.
Tom E: Okay, I think I might want to come dive into this a little bit more with you, Ash, and specifically around some of the drawbacks and watch outs for a cross functional team. What are your thoughts?
Ash H: Yeah, there's definitely a couple of things that we do need to watch out for. I think they can be easily mitigated as long as you're aware of them. So one thing is having misaligned goals or priorities for your team. So as a team on the AI platform, the main goal is to leverage data and machine learning to benefit the business and the customer experience in different ways. However, if you don't also create space to improve existing infrastructure and tackle things like tech debt, then you can run into issues down the road. So one thing we have had to get good at is making sure that we are aligning our science based and our engineering based goals so that we can deliver those new features for the business, but also scale and improve any sort of existing infrastructure and tackling that tech debt efficiently as well. And then yeah, another thing that we find we have to watch out for is something we call the winning the lottery factor. Sometimes this is referred to as the hit by a bus factor, but I think we prefer lottery as it's a little bit happier. But essentially the premise is how affected would your team be if one member just stopped showing up to work tomorrow? Because you can have a team of multiple disciplines, but if no effort is made to collaborate, then each member becomes responsible for a single item. So we can mitigate this with things like knowledge sharing, and my team have Fortnightly Lab workshops. We try to make an effort to have clear and well defined epics and stories that anyone can pick up, as well as ensuring multiple people are onboarded to support production systems and of course, having up to date documentation as well.
Tom E: Thank you, Ash. Dave, touched a little bit on leadership of cross functional teams as well. Do you find that a challenging or somewhat drives the success of cross functional teams?
Ash H: Yeah, I think leadership can be a challenge in any team to an extent. But particularly in cross functional teams, leaders are charged with directing team members of various disciplines. They have to transform different variations of input into one cohesive final output. And I think, yeah, many teams in large organizations face challenges around creating a collaborative atmosphere when dealing with cross functional dependencies and peers from other functions as well.
Tom E: Thank you, Ashley. That's really interesting, I guess, coming to you, Jacob. We've talked quite a lot about the benefits and some of the drawbacks. Do you have any advice for anyone looking to set up a cross functional team?
Jacob L: I think it's mainly about setting the expectation that things are going to be working in this way. So making sure that individuals in the team consider themselves perhaps as subject matter experts, but as I said, part of that. Collective responsibility to make that final output. As a team, there's some structure that you can put in place to help foster this way of working. So whether that's working on tickets in pairs across go across job role boundaries, or making sure there's a focus within sprints on completing the goals of the Sprint rather than each individual completing the tickets that they had maybe expected to do, also connecting new starters in the team with mentors, perhaps outside of their job roles. So there's increased touch points right from the start. And actually that's something that we discussed with applicants from, I think, the first interview we asked them about their understanding of cross functionality. I think it's also about encouraging team members to extract the most they can out of this way of working as well, and encouraging and understanding what individual goals they have. So whether that's for learning or understanding what individual goals each person has and helping them to extract the most they can out of this way of working.
Tom E: Thank you, Jacob. It's really interesting what you say there, Jacob, about having to be empowered to do more than just what your role is? A question maybe for the group is if someone came into the team and was how do you sell that to people in the team who maybe I only want to be an engineer. I really want to focus on the engineering side. How do you encourage them to be kind of more expansive in what they.
Jacob L: Do, thinking folks, alongside the collective responsibility, there's also the collective reward. So if you're, for instance, the output of your team is an API as in my case is an API that serves recommendations. I'm coming at it from a science perspective. I don't typically have the skills to spin up an API and make sure it serves thousands and thousands of requests per second. But because I'm working this cross functional team, I can still feel that reward and satisfaction when that API goes live because I've contributed to that not just on the science side, but also worked fully as a team to build that end product.
Tom E: That's interesting what you say there about collective collectivism drives, collective reward.
Ash H: I was struggling to answer your question because my first thought was I can't think of anyone on my team or that I've worked with where they have had that attitude, where they're like, this is my job description and I'm only going to do this. I feel like a lot of people on the team are very keen to get stuck in with the sort of end to end process of the work that we do. And, for instance, I can speak for myself. I have an engineering background. I don't have a degree in machine learning or anything like that. Started out as a software engineer on the Air platform and I've worked my way into this machine learning domain. And so even though my role is an engineer, I'm quite keen to learn as much as I can about the sort of research and development side of the actual creation of our models as well as my role, which is to upstand those models and make sure that they're easily updatable and scalable in production. And I would say that's the same for most people that I work with, really. I know that there are scientists who are very keen to learn about these sort of skills in engineering that it takes to build out our systems as well. There's a lot of collaboration across the platform as a whole, really. And I think that just comes part and parcel with working in this domain, really.
Tom E: I guess it's really important as a machine learning practitioner to have a good understanding of the end to end cycle. And I think this cross functional way of working, as you say, Ash, and I completely agree with you really helps give all of the members of that kind of ML pipe visibility across the entire piece. Throwing another question your way, Priscilla. Is the tech function trope, I guess, is that actually you're not that really that interested in business and it's all about learning and understanding the tech side. How do you get the tech teams to be interested in the kind of money making machine within these teams?
Priscilla F: Yeah, I think one of the aspect of it goes straight from recruitment, which mentioned earlier, but it's when we build teams and we recruit internally or externally, there is really this idea that the person is joining a team that has ownership. And as an example, when I talk to different business people and I talk about what one of my team does. So the AI pricing team, we really present ourselves as we're not an external team supporting pricing at Asos, but we are part of pricing at Asos and we have ownership, which means that when we recruit or onboard people within our team, we're looking for someone who wants to be part of pricing at Asos. And pricing at Asos means being cross functional and meaning that the scientists will use their skill and expertise to build the best model. But they will do that in collaboration with the engineers who are going to be able to make sure that these models are maintained and do what they need to. Which means that the scientists will use their expertise and skills to focus on building the best models. And then the engineers will use their skills to make sure that the model are maintained and deployed as they should. But it also means that the team members will care not only about building something which is the best technologies and the best use of their skills but that they're building something which is usable for the business. And they'll make sure that not only that what they're build is usable but that it's impacting the business the most as it can. So we are actually an impactful team and it really goes from the recruitment to the culture within the team. We're here to build something for Asos and bring our added value and we're all in it together collectively.
Tom E: I haven't come to you for a while, Suckrit. I guess you've just moved from a non cross functional team into a cross functional team. Can you talk a little bit about your journey, the journey that you're going on? And is what the people here saying resonating with you?
Sukrit B: Yeah, exactly. So I completely agree with everything Jacob, Priscilla and Ash mentioned so far. So the driving me to get out of that comfort zone, learn more about the science side of things that we are building and the entire machine learning lifecycle, as you called it, the end to end, so that I can be more effective in what I'm trying to build. And Ash mentioned the bus factor as well, so it probably helps to know a little bit of everything and have some good context about the entire lifecycle, starting from the business side and getting those requirements, defining that product strategy, and then thinking how to solve that through machine learning. So far the journey has been that I wanted to be a more T shaped engineer, as they say, probably learn more and contribute a bit more to the platform and the entire Asaurs as an organization.
Tom E: I think we're running out of time, so maybe if I come to you, dave, again, your role sits above the cross functional teams. I find that really interesting because obviously I have not experienced kind of cross functional teams or roles like that prior to coming to Asos. Do you think you can talk a little bit about the importance of roles like yours in help making the entire thing work?
Dave P: Yes, we have quite a few cross team roles which we need to help teams deliver efficiently. So we've got principal engineers, we've got solution architects, platform leads, engineering managers, which all sit across our cross functional teams. And there's a few ways that these can help the teams so they can act as a bridge between different teams, facilitating collaboration and helping to resolve conflict, which can then lead to better communication and a stronger team dynamic. An example is our engineering managers have monthly forums for the individual disciplines so that they can foster that sort of collaboration between them. Also, by understanding sort of workflows of the team, cross team roles can identify areas for optimization and help reduce toil, which is something we call it asos defending the wheel, so you're not reinventing the wheel the whole time and they can also act as a bridge between. So this is something that I particularly am involved in, is acting as a bridge between wider engineering initiatives across Asos, for example, security and cost management, which help the teams to focus on project delivery.
Tom E: We're coming to the end of the podcast now. Maybe to sum it all up, it would be great to hear from each one of you one word that you feel that sums up cross functional teams for you. Let's start with Dave.
Dave P: So I think I would go with unblocked.
Tom E: And why?
Dave P: Because you get blocked a lot more in a non cross functional team.
Tom E: Very straightforward.
Jacob L: I like it.
Tom E: Priscilla?
Priscilla F: Think the word for me would be unity.
Tom E: It's a nice word. Why?
Priscilla F: The fact that we're all in it together, we're all working towards the same goal.
Ash H: Ash? I'm going to go with dynamic, I would say yeah, I think you have to be dynamic. When you're on a cross functional team, you typically have a lot of different things going on at once. And yeah, you have to be willing to adapt and learn from each other.
Tom E: Jacob?
Jacob L: My word would be FICA, which is our weekly team or platform wide coffee break. For me, it represents one of the benefits of working in a cross functional way, which is just seeing everyone chatting to each other. There's really no boundaries within the platform at all. Everyone gets on very well with everyone, and it's really great to see. And I think it's not entirely due to cross functionality, but that, I think, plays a big part in producing that.
Tom E: Atmosphere in the platform and finally Secret.
Sukrit B: So for me, the word would be opportunity, because as I mentioned before, it has at least given me a lot of opportunity to learn outside of what I know and expand myself a bit more.
Tom E: Thank you, everyone, for your time today, and it's really interesting to hear all your thoughts on this subject. And with that, we'll bring it to a close.
Ash H: Wait, Tom, we need a word from you cross functional teams.
Tom E: Oh, okay. Now you put me on the spot, because I haven't actually thought about one. I'm going to go with awesomeness, because for me, having worked in a non cross functional team and a cross functional team, it seems to elevate all aspects of your capacity to deliver. And you've all touched on this today, but it makes working in a team really interesting. It makes you better able to deliver back to business. It just elevates everything, which just makes the work that we do awesome, the atmosphere awesome, and people awesome. So I'm going to go with awesomeness. Okay, now that has brought it to an end. Thank you very much for your time, everyone. Really interesting subject, really interesting people, and really interesting topics that we've discussed today. So thank you very much.
Priscilla F: Thanks for having us.
Ash H: Thank you.
Sukrit B: Thank you.