So as I'm sure you're aware by now, late last weekend we heard an announcement from the top of European football of a new European Super League, the ESL, which was being touted as something of a replacement for UEFA Champions League. It would now be the most elite club competition in European football. It was set to have 12 founding members, six from England, three from Spain, three from Italy. Not all the biggest names in European football there, PSG from France, Bayern Munich from Germany, you could say Ajax from the Netherlands or Porto from Portugal. They weren't all there, but most of the household names in European football were involved. You had Real Madrid, you had Barcelona, Manchester United, Liverpool, AC Milan, Juventus, historically big clubs who've won multiple European titles between them. Now that was a bolt from the blue. People have talked about a Super League or a competition beyond the Champions League for a very long time, for decades in fact. But the manner in which this was done, sort of press release late on a Sunday, was entirely unexpected. But even more surprising, I think, was the fact that it collapsed in less than 72 hours. And while those involved probably saw or expected some pushback from fans, I suspect they didn't expect it to come back from players, but more importantly, politicians. Boris Johnson said he would drop a legislative bomb on the clubs involved from England. You had the leader of the opposition here, Kerstarma, get involved, even Prince William. I don't think the likes of Joel Glazer and Florentino Perez expected that. And so very quickly the whole thing was pretty much mothballed. That's not for sure. Still three clubs in the original 12 haven't actually given it up, but it's effectively at best on ice. Now I'm making this video, not to talk about that. Because even though the ESL hasn't happened, there are really, really important lessons to learn from this. And I think it's really critical to talk about the fundamental reason, the real reason, why the European Super League was happening at all. Because it wasn't about creating a better game, a more sustainable game. It wasn't being done in the name of progress, because of course the European Cup was initially quite controversial. It was replaced by the Champions League, and this was now being pitched as merely the latest inevitable evolutionary step in the story of European club football. Nonsense.  I mean, that would be a wonderful fairytale if it was true, but it isn't. The real reason the European Super League was not just being touted, but on the verge of being delivered, contracts had been signed, we're told, was because there is a huge debt crisis at the top of European football. And fundamentally, a range of clubs who increasingly can't walk away from this. Now it's increasingly something they have to engage with this debt crisis, viewed a potential European Super League as effectively a bailout. Even with its failure, Andrea Agnelli, the chairman of Juventus, said he remained convinced of the beauty of the project, while before the Super League imploded Real Madrid's Perez, claiming his intentions were purely noble. We are doing this to save football at this critical moment. But as always in journalism, it makes sense to follow the money, and to ignore the PR guff of people like Perez and Daniel Levy and Joel Glazer. So let's follow the money, let's look at the numbers. Here are the accounts of the clubs involved from KPMG in 2020. Tom Hotspur comes first in terms of debt. It's in the red to the tune of £591 million. Second is Manchester United with £452 million. Third is Juventus with £336 million. Fourth is into Milan with £278 million of debt. Fifth is Barcelona with £274 million of debt. Sixth is Real Madrid with £146.8 million of debt. That's just six of the 12 clubs involved, others include Arsenal, Atletico Madrid, Liverpool. They have varying amounts of debt. Arsenal actually have significantly more than Liverpool, but they're nowhere in the league of the six that I just mentioned, who between them have accumulated a collective debt of around £2 billion. And then you've got other clubs. You've got Chelsea, Manchester City, who are in just a fundamentally different financial situation to the other clubs involved in the European Super League. They're certainly more similar to Paris Saint-Germain in that they're owned by extraordinarily wealthy individuals, Roman Ramovich in the case of Chelsea, Sheikh Mansour in the case of Manchester City. And while they want to make more money, you know, they're not just in this for the love of the game, they didn't need to bail out like Tottenham. Manchester United, Real Madrid, Barca needed this. You know, they could have carried on, you know, the survival of some of these clubs, particularly Tottenham, particularly Manchester United, does appear to hinge, I think, on something like the European Super League. They simply cannot continue business as usual, particularly after COVID-19, with what they already have. Now we can tell something about this from how the bailout, as I like to call it, was going to be paid. The FT reports that JPMorgan Chase was set to finance the deal by offering an infrastructure loan of £2.8 billion. I wonder how they arrived at that number. Secured against future broadcasting rights for the ESL. This would have given each founding club around €300 million. Now that €3.25 billion obviously is a huge amount of money, but you have to understand it was guaranteed against 23 years of broadcasting rights for the new competition. Now if you want to know who's driving all of this, you don't need to look any further than Ed Woodward, the CEO of Manchester United, very close to the Glazers. What we're seeing with the ESL, how it was going to be financed, the incentives being put forward for other clubs to participate, is what I like to call the Glazification of Modern Football. Because just as the Glazers bought Manchester United between 2003 and 2005 through what you would call debt leverage takeover, this is a very similar formula. You're saying to clubs, you can have money today based upon future performance. And by the way, they were going to pay interest on that infrastructure loan. The bank involved was JPMorgan, guess who was the previous employer of Ed Woodward before he entered football? That's right, JPMorgan Chase. And so this is the expansion of a model which has already caused Manchester United immense problems. It's important to say this. When the Glazers bought Manchester United in 2005, it wasn't just successful in a sporting sense. It was the most successful club in English football. Won the European Championship in 1999, was competitive in the early 2000s, was unlucky not to make another final until a few years later. It was also hugely profitable. It was making huge amounts of money. Had the biggest stadium in English football, Old Trafford was far ahead of anywhere else. What's happened since? In the 15 years since they bought the club, the Glazers have taken out a billion pounds of money. The sporting performance has just gone south, particularly since Alex Ferguson had obvious reasons, but they weren't interested in maintaining that position. And Old Trafford is nowhere near the leader in terms of English football stadia that it once was. They haven't invested in the club in a bunch of ways. Now, people can point to big transfer fees and so on, but that's because it's still generating huge amounts of money. The point is they got this hugely profitable club and they paid for it through loans which were guaranteed against the assets of the club. So they haven't invested any money into Manchester United. They've taken money out, like I say, a billion pounds has been taken out by the Glazers in the last 15 years and they took it over with finance based upon future growth. This is glazification and this was the offer with the European Super League. So you can see why the likes of PSG and Bayern didn't want to participate. After all, they have a far more sustainable business model. They're not clubs that are built on debt. PSG of course has hugely wealthy owners. Bayern Munich is something of a fan ownership model. As does Brüscher Dortmund. They weren't interested either. And you can also see why Chelsea and Manchester City, the two clubs most similar to PSG, owned by very wealthy people rather than built on this debt-based model, were the first English clubs to pull out. That makes total sense. Glazification, carrying on this model for Manchester United, for Tottenham, who are in even more debt because of this huge stadium they have, for Real Madrid, for Barcelona is necessary. They need to bail out Man City and Chelsea less so. So of course they pulled out. So you see a cleavage here in European football between clubs whose growth and success is built on debt and financialization and those which aren't. And it was the ones that were built on debt and financialization, which were pushing this. And it's not just limited to the kind of Hollywood leagues of La Liga and the Premier League. It's also really central, increasingly in Serie A. If you look at the the debt of all Serie A clubs put together, I think it's more than double in the last 10 years. So debt and financialization is increasingly at the heart of the choices being made by people in European club football. So when Real Madrid chairman Florentino Perez said the Super League will, quote, save football at this critical moment, he was half right in so much as the only means by which Barca Real managed to unite it. Another elite club can continue to operate in the manner they presently do is buy something like this. More games generate more TV revenue. While the risk of failing to qualify for the Champions League, well that's removed because the whole point of the European Super League is these 12 founder clubs compete every year regardless. Now from a financial perspective, this is amazing. There is no downside. But from a sporting perspective, that makes no sense because what's good for a bank manager they want to guarantee on return isn't good for a fan because they want risk, suspense, emotion. Two separate things and that's precisely what the people involved at the top of this project failed to understand. When asked on Twitter what he thought of the proposal, Alexi Lalas, the former US footballer replied, owners are trying to do what they think is best for their business. If they produce a better product than the insisting competition in the market, then I'll be a customer. Now putting aside the claim that people support a football team because it's the best product, which very few people, if anyone, thinks, apart from Alexi Lalas, that statement is clearly untrue. In English football, no team other than Manchester United was significantly profitable during the 1990s, even after the advent of the Premier League. In fact, the only teams that initially challenged the Manchester club were Blackbone Roe and Newcastle United, both of which were owned by wealthy businessman Jack Walker and John Halls who were happy to lose money in order to compete at the highest level. Call that what you like, but it wasn't running football clubs as businesses and it certainly wasn't fixated on making profits above all else. And that's the context within which we have to understand the European Super League. It is not an inevitable outgrowth of European club football over the last 20, 30, 40, 50, 60 years. It is very much a reflection of the role of debt and financialization in club football, which is a remarkably recent phenomenon. You're looking really at the last 15, 20 years. This idea, this ideological point made by Alexi Lalas that football clubs have to be run as businesses. Nobody thought that. Nobody thought that until the early 2000s. At the earliest, people maybe put money into football clubs, but it was because they support the football clubs not to make money. This is a really recent phenomenon and we shouldn't lose sight of that. And so European Super League by extension should be recognized as something which is responding to something that's only really been around for 20 years, which makes the strength of the arguments behind it that much weaker. However, the dynamics I've just talked about this debt, which is just driving a stake through the heart of football, whether it's Tottenham, whether it's Manchester United, Bayern, Real Madrid, because of course, the more debt means the more necessity to further financialize and to get new revenue streams, which of course takes these clubs ever further away from their founding purpose, which was community support and creating fundamentally an outstanding sporting spectacle. That's not going to go away. And so debt to be paid off requires more debt. Financialization to be addressed requires more financialization. That's why the ESL was happening in the first place. And so while the ESL has died this time, it's critical to understand that it's going to come back. As long as we have this economic model driving Europe's biggest football clubs, it's inevitable. It will not just be forgotten about. It's kind of necessary given the dynamics at work. Now, the good news is that there is an alternative. And actually, that's reflected by the fact two clubs who are huge clubs by Munich and Brücher Dortmund didn't participate. Why didn't they participate in this absurd spectacle? Because German clubs more or less have a huge amount of fan ownership involved. Now, you might agree with complete fan ownership or what in Germany is called 50 plus one, where there's a controlling stake held by a supporters trust, for instance. But I think there's no argument against fans having some equity, some ownership in football clubs, because frankly, football teams without supporters without the fans are nothing. And so I think they have to be what is called stakeholders in a meaningful sense. They have to be in the room for big decisions like whether or not there should be something called a European Super League. They can't just hear about this in a communique on a Sunday night, they have to be participating in those decisions. For my money, I think you want something like 50 plus one. You want to prioritize low ticket prices, financial stability and football clubs serving their communities above shareholder value and a quick resale price. That for me is the project I think for football fans everywhere, but I think particularly in England over the next 10 to 20 years, there is no future for the financialized debt driven model so adored by the Glazers and Florentino Perez. In short, another football isn't just possible, it's necessary because sooner or later what we've got is going to break.


Hey everyone, my name is Gopika and today I'll be speaking about how to be a B2B product manager Before I jump straight into the topic. Let me give you a very quick Overview into my background So I'm originally from India. I've lived studied and worked across Italy the United States, Spain and Berlin, Germany where I'm currently based out of I've built products for companies such as Zolando, Wayfair, Festo, Hungary and PopExo And my background is primarily in business. I studied Masters in Innovation and Entrepreneurship at Assade Business and Law School in Barcelona So let's jump straight into the topic Which is how to be a B2B product manager? Over the next Minutes or hours We'll be covering a few main topics that Fall within how to become a B2B product manager Firstly, I'll take you through the differences between B2B and B2C product management the essential skills that Is required to exceed or be successful in a role such as this and Lastly, I'll take you through some of the common pitfalls. That's more common In my opinion in B2B product management as well so This talk is for someone who either wants to move from B2C product management to more B2B As well as someone who's completely new to the field of product and wants to get their posterity in this field so Let's look at this image first which basically is the same whether you're building products for B2C or B2B you have a Vision you have the strategy that you need to apply to achieve that vision and Lastly, you have a product manager trying to navigate through all the possible ways to reach that vision So no matter what the sector we use the same tools and frameworks to build and ship products So we all follow the 4d processes as though it's a Bible We use many such frameworks such as Amazon's thinking backwards framework to communicate discuss and gain alignment and Lastly, we keep users at the center of all our decision-making And although there is a massive overlap between these two kinds of product management Few areas have a much higher focus depending on whether you're building for businesses or for end customers So let's jump straight into the first sub topic, which is the key differences between B2B and B2C so as mentioned and The underlying process of Building or working with both these kinds of products is largely the same But based on my experience, I have noticed some key differences between when you build products for businesses or customers one of the main Areas that I've seen this Difference lying Firstly is in the way that we build personas So in B2B and B2C personas are designed a little differently from each other In B2C, you must focus on the person as an individual. So you look at things like age Gender income hobbies, etc. And how how they spend their time where they're located and so on Whereas in B2B, it's more about the organization and the company. So you look at things like For how long has this company been established? What are the capabilities of this company? What's the department size? What products are they specialized in? Are they a single product brand a multi-product brand and so on and Especially for B2B the end User and the consumer is quite different from the buyer. So It's it actually gets tricky. You're building for someone who might not actually pay for the product at someone else So it actually requires a lot more conscious effort to build up empathy with with customers and users in the B2B space the second main difference that I've seen between these two types of product management is In the product experience So for consumer products success is typically measured about getting users to love your product But when you look at an enterprise setting the buyer and The user as I mentioned is different personas. So For enterprise product success is about enabling your end users to deliver more value to their business by using your product I've also noticed in in B2B setting improving workflow efficiency is far more important than just better user experience and almost always building new features takes priority over improving existing user experience and lastly, I've seen something that's Quite unique in the B2B setting is your strong relationship with the sales team So we all know that one of product managers main Job is to gain alignment with multiple stakeholders but in the B2B setting one of your key stakeholders as a product manager is to really be very much aligned with what With the sales team. So consumer products rely on marketing and advertising and word of mouth and B2B The main tool is the sales people So they need to think about us as PM's need to think about the sales Team as just another customer. So if the sales team is say going to make more money We need to think about how we can help them achieve that goal We also need to make sure the value proposition that we're building For is the same thing that the sales team is communicating to the end users while they're selling it and as product manager is one of the main things you need to do In order to better this relationship that the sales team is to understand the sales process Understand how leads are generated and move through the pipeline And also understand this valuable information that the sales Teams are getting from the end users since they're in such direct contact with them So it's it's definitely one of one of the really Important points or important things to note while working in a B2B setting in the B2B setting that you will notice this stakeholder being Far more like has a far more weight than than your other stakeholders so Now that we've spoken about the key differences between Products in a B2B and a B2C setting Let's jump straight into the key skills required to excel in this role the first one is Understanding your user base and while it sounds very very simple and straightforward As you can recall in a B2B setting you're not learning about a person but about a business So you need to learn and cohort users based on different aspects of how they're on the business So let me give you an example here at one of the companies that I was working at we were developing a supplier tooling product For brands that are selling on our platform So one of the ways that we use to segment our users is by the resources they have and the reason When I say resources it means their internal Capabilities and we segmented companies based on the internal capabilities and the reason is because we didn't want to deliver a Product that's beyond their capabilities So we didn't want to deliver a product That's nice to look at but it's not helpful when put to use because the end-users didn't have the Knowledge or the know-how to use the specific product So you can take other you can take other ways to cohort your product or your sorry your users So one is through revenue You can also look at their organizational structure. How is their? Organization team house their org structure divided is it based on our people focusing on specific countries are people specific? focusing on specific categories Because these insights will help you deliver and build your product even better because you will design your product based on their business structures So understanding and really segmenting your user base is quite actually one of the most important factors in a B2B setting So let's move on to the second main skill that's required for a PM to excel in a B2B setting so Usually in the B2C case The intersection that a product management a product manager works in is the intersection of business engineering user experience Research and so on but in a B2B case, especially if you're working with the data or a dashboard product What's really necessary is to have this domain knowledge about data and data science Let's take an example So let's imagine you're building a dashboard product that depicts the performance of a customer's business through interactive visualization Sounds easy, right? You just have a few numbers a chart You don't really you don't really need much for what and what's What a PM needs to know is that it's not just about the data and Some building a chart but you need to understand the close proximity between design and data infrastructure So the way you design and visualize a chart or a table dictates how the Infrastructure is built whether you need a single table multiple tables How are the interactions between the tables and so on so a PM in this field needs to do have a deep appreciation for what is possible and will be soon be possible if They were to take the full advantage of the flow of data If you're building and this is specifically for someone building a data product You need to know And learn that building products with data also requires a data strategy And this is above what a business strategy is so a data strategy is the way and your plan That you develop to understand how data is generated how data can be used to improve the product and and also use this in your products and Also use data To improve your products long-term success So in other words a data product manager or a product manager working with data and dashboard products Makes decisions that get the flywheel moving with data While you don't need to understand the nitty-gritty details and and technicalities What is helpful in a really a collaborative discussion with your back-end engineers or data engineers is To learn and know the know-how of what kind of infrastructure is required to support the product And what is the complexity and costs associated with scaling the data? And yes data scientists or engineers will always be around to answer your questions But again in order to be an active participant in these discussions And to also understand the trade-offs you make by making one decision involving data versus the other Learning about the infrastructure and learning about the trade-offs will help you develop better in this role So that's the second most important and critical skill that a product manager in this field needs to have Lastly it is as we mentioned right at the beginning of this talk About the relationship with the sales team So that's one skill that a product manager working in the B2B space needs to really Work towards improving as I mentioned the sales team is Literally the most invaluable source of information since and this is the sales. This is your account managers Anyone who is in direct contact with the partners or with your end users Can really help you understand that their needs and their problems and they can also help you in highlighting What you could build next? so something that a product manager in this field should not fall prey to is Just building things that come across in in these feedbacks. So there could be multiple times where Key account manager or someone from the commercial teams can tell you that hey, why don't you build this? It might add value to our user and I think what's What's a skill that a product manager needs to have is to Understand should is not to build something As and when they come in in the form of feedback but actually learn about the underlying problem that the current product is currently not solving and Then decide whether a scalable solution is required To answer these unadressed problems And that's the reason Especially with when you're interacting with the sales team or commercial teams There needs to be not only the sort of exchange but also Prioritization and the deeper and the second level of research That needs to be taken up after these discussions because a lot of these conversations might be in the form of a solution And not a problem And that's where a product manager needs to dive deep into and learn about the problems instead of Going straight ahead into solution mode so Lastly is something that I just touched upon But I want to go deeper into it, which is prioritization and expectation management Which comes also with having Business and enterprise customers and working with the sales team So something that might Come about in a B2B setting is You can get Requests from both the sales team as well as their existing customers while this is also true For B2C products the key difference again is that B2B products have fewer customers And there could be a chance where these few customers actually generate a lot of revenue and have a lot of weight in what you build so Something that you need to understand is yes these these specific customers may have More weight than you are the customers in terms of the revenue They make or the relationship that they have with your team But something that you also need to know is weigh this against what you're building. So our watch is what you're building Specific to that one customer You also need to think if you customize your product heavily to that one customer How can this product scale to the other customers that are using your your tool or your product? So it is a key challenge for product managers in the B2B context to navigate this fine line between Keeping your customers happy Generating enough revenue and building features that are that are scalable to all users or most users to your product Secondly what I want to touch upon is expectation management. So Something that is very very Noticable in a B2B setting is that your sales team wants to have a High-level visibility on your or want to have a lot of visibility into your road map. So We do know that road map is something that changes quarterly or six months, but Sometimes the sales and even the end customers want to understand What you're building and are you building for things that are being requested for? and so I think what we need to navigate as a product manager is this line between enough visibility for customers and sales team and Also the flexibility to be able to deliver the highest value product and killing those ideas that fail to deliver the value on the other hand so you need to somehow make and and Constantly communicate with your end customers and your sales team By by every time there is a change in your road map every time you do go a different direction Communication is key to to manage The stakeholders expectation So that's one of the key skills that a product manager needs to develop in this Working in this sector or in this segment So now Lastly it brings us to our last segment, which is the common pitfalls that a product manager in this setting falls to And while this is very much true for also be to see Products the reason why I've highlighted in in this B2B space is because it costs you more so by if you if you fall to one of These these problems and if you fall pray to one of these problems You're not only losing customers or you're not only losing the few handful customers That you have but you're also spending resources that you may or may not have In order to build these so Let's move on to the first one, which is aimless exploration so What I've highlighted here is in the beginning I took you through how there are a million parts that a product manager can take to get to the vision But what could happen is you don't know where to begin especially if it's a new product especially if it's a new feature So sometimes what product managers end up doing is just they just take up Random discovery so you just go ahead and say that I'm going to interview a bunch of Users or partners and see what comes up in the discussion and take it from there so That's one of the common pitfalls that I've noticed in this field and Something that and let's let's make this more concrete run example So let's say you want to or your goal as your product vision is to increase Revenue streams through advertising And what I've seen product managers do is just go out there interview Your users and understand how can we generate revenue through advertising? there are a bunch of different ideas that the PMs want to test and Yeah, it has no purpose and it has no clear direction on how much or how likely is this idea going to Contribute to achieving this vision So what's the solution to that so the solution to that is instead of Instead of wandering aimlessly You need to wander with purpose and what that means is Before you jump straight into solutions and before you jump straight into discovery You need to break this higher vision down into teams So what you're now doing is saying yes my products and vision is to generate revenue through advertising and instead of Aimlessly going forward and testing and throwing a bunch of ideas to your users What you can do is first segment them based on themes and then select a theme that you want to validate and Discover further in so in this case what we've done is instead of looking at Bunch of ideas. We are now saying hey, yes, we can generate revenue through advertising through data-driven insights through alerts or through recommendations and Now how you're going to start your discovery work and your research work is by picking one theme and Then moving that forward in the discovery stage. So you know that you're moving With a specific goal in mind with a specific team in mind And you're not like all the noise is cancelled out Something that you can do even better is not only choose a theme and validate and test a theme but Combine it with personas in order to be even more To a wander even more with purpose So what we've done here is that we're saying that let's take this example. We're saying that we want to understand How can insights contribute to generating? advertising revenue and We believe that there are certain types of personas That will help us generate this revenue if they did use insights So then during your interview process and your discovery process you specifically look at this target group and Validate this problem with that target group before going and building something. So what this does is it strengthens your Discovery work and your eventual 4d work And you're not wandering aimlessly. You're not wasting resources trying to find an idea that might work But you're putting you're developing a framework. You are Segmenting the bigger idea into smaller chunks that you want to test and then testing it with the relevant User group. So that's one way to solve this Let's move on to the second problem that I have noticed is It's a sunk cost delusion. So it mostly happens when you have shipped a product without great traction but you continue building on it because You think that by building or making it nicer or prettier The product that's not working you might Gain more Customers or you might improve the engagement and so on the solution to this is It's very simple. It's basically slowing down what that means is instead of going and sending out additional emails communication emails to your users instead of improving the UI UX or Just building complimentary features that you think might improve the product what you need to do is ask yourself some devilishly simple questions and These are mostly what is your value proposition of the product? What are what is the problem you're trying to solve? Who is it that you're trying to solve the problem for? is someone how are Your end users currently solving this problem. So especially for this question, you would know that if your current Business users are not doing much to really solve the problem It might not be a real problem Versus if your end users are stitching together a bunch of things and trying to make it work for them You know that this is a problem to solve because they take a lot of time and energy during their day to make it Like make it work for them So there are these certain questions that you need to ask yourself, which is the basic questions before you go and Build further upon upon the feature that you've delivered And if you then do find out the answers and if you do Believe that you're not building for a certain target group or if you're not building the right product What you need to do is pivot instead of moving even Further down the product development classes So let's move on to the last common Pitfall which is biases so What this means is a bias is basically Misinterpreting or skewing the signals for validation So let's take this example here This was this is a real-life example So at one of the companies that I was working at We were checking the engagement And the activation rate of the different users that we're using our product I got so excited by active users that I ignored The remaining users so what I did was looked at active users constantly looked at The growth in revenue that they were generating how often they were coming back and What I didn't see is this chunk of users or this cohort of users that were actually going That were actually declining in engagement and in adoption and I spotted this at the right time and When I tried to figure out how to solve a problem such as this I realized or I learned that cohorting is one of the best ways to solve this problem so what you do in By cohorting is instead of asking yourself what's going well you ask yourself what's declining so when you look at Graphs such as this You see the yellow spots and you ask yourself what's going What's going there and you go further into it? So let me give you a more concrete example So let's say you have a hundred users and 50 of those users are underperforming What you do is then segment these users into A cohort such as when was the first time they logged into the tool secondly how much revenue are they generating? third The third point or they have an internal capabilities So when you segment these users into different segments What you then do and they do is spot the segment that's declining. So then you can approach those specific Users, let's say the user that's generating less than a certain amount of revenue and do not have More than two employees at their company Is causing the decline so what you then do is approach those? users for a post rollout feedback and dig deeper into what is Not helping them. So what are the things that would provide them value that you're not providing them value with? so that's one of the best ways to Not fall into bias is to consistently question what's not going well and Then go deeper into into that problem The second way to not fall into this bias or the survivorship bias is or Considering by considering product management as a team sport and this was actually one of the best advice is that was given to me by a mentor and I was told That if you do consider product manager as a team sport and not something that you do at an individual level you Take self-worth and the idea That's originally one one element and you split them into two so you decouple self-worth and idea So if an idea fails, it's it's not to just you that led to its failure It's a bunch of people. So you wouldn't fall pray to Cognitive biases or survivorship biases Involve as many people as you can in the ideation phase and the validation phase and the feedback phase And that's that's one way to not to Detach self-worth and and the idea So I guess that was a little intro or a little package to Getting started into B2B product management and something that you can expect By going into this field. I hope that it helped you gain an insight into this area and Yes, thank you all for tuning in and I'm happy to answer any questions either via LinkedIn or via this this talks chat, so Thank you and Have a great rest of the week


Water baptism is the next step for a new believer where once they've made the decision in their heart to give their life to Christ they make it public to the world, they make it public to the church and to their friends, their family around them. It's based off the scripture we take our base from the scripture Romans 6-6 that tells us that when our old man is dying we go into the water it's like it's being buried and as we come out of the water our new man is coming to life. Overall though do you believe in Jesus Christ as God's Son and your personal Lord and Savior? Yes. Yes, I do. Yes, I do. And do you promise to follow Him with good and clear conscience for the rest of your life? Yes, I do. Yes, I do. Yes, I do. Based on your faith, your confession and your commitment will baptize you in the name of the Father, the Son, and the Holy Spirit.


announcement from the organizers. Right now in Esquire, we also have the Lightning Talks starting. Of course, it's competing with this session, so I'm sure you don't wanna go anywhere, but if that's what you wanna go for, Lightning Talks starting now as well at 3.30. So welcome everyone. My name is Tarang Bakshi. I work for ThoughtWorks out of the New York office. I'm a business analyst, project manager. I've been with ThoughtWorks for a while, about seven years or so. So that's the extent of my experience with distributed agile as well, because ThoughtWorks has been doing it forever for about 12 years at least. So yeah, that's me. And I'm Siddharth, I've been a programmer, I've been working on distributed development projects in ThoughtWorks. And even before, for about eight to nine years now. Okay. So we'll be able to talk about just some practical tips that we've sort of learned over the years of doing distributed agile and how to set these projects up for success. So what we're gonna look at is a few different stages. And in fact, starting all the way from you, before you're starting out on a distributed project, we'll start with looking at what should you even consider to sort of qualify whether that sort of project is, makes sense to do in a distributed way, particularly in an offshore scenario. So that's where we'll start. We'll move on to, once you've decided that yes, it makes sense, this project should be done distributed offshore. Then kicking off the project also called an inception. What are some of the things we've learned things to consider when kicking off such a project? What are some of the things to think about mistakes to avoid maybe when setting up the delivery model for such projects once you're done with that kick off and you've got some information from the inception. And in the early days of executing delivery on such a project, again, some things we've learned, some things to watch out for. And very briefly we'll touch on just some thoughts and ideas for a steady state. But really it's about the stages leading up to that, because that's where we find some of the biggest things to do to consider, things to work on, things where things would go wrong. If you haven't thought about many aspects of this. In this room have distributed projects, a big majority. And how many of you have been doing it for years? Two, three, four years? Okay, so lots of you. So hopefully some of the insights we share, you would have noticed it yourself. But from an experience, we feel like there are small, subtle things that sometimes get missed out and they make a huge difference. So that's our attempt with this talk. And just to make things simple, we'll keep talking about a lot of different things. So the scenario to have in your head is that, let's just imagine there's a project that you want to get started. It's meant to be distributed between development teams in India and the US, and there will be active development in both locations. So that's the sort of scenario that most of our points will sort of apply to. But of course it could just apply in lots of other variations. You could have more than two locations, you could have a primarily offshore team with just some support functions on shore. But just keep that scenario in mind. Okay, so let's get started with qualifying the fitment. So I've been on a few projects where one project in particular can give an example. I walked in to the customer location on site. The project had been going on for about two or three months. And I happened to sit down with the head of product who was pretty much behind the vision for the product that we were building was largely driving our requirements. And I made a suggestion that, hey, we have some business analysts in our Pune office who'd love to catch up with you, understand some context on what we're building, these features that you want coming up next. We'd love some input directly from you. The response was, I don't think I need to talk to anyone sitting offshore. I'd rather talk to you while you're here. Offshore is a decision that IT has made, I have nothing to do with it. And also don't ask me to get on calls in the morning or late nights. I'm not willing to do that. So there have been a few incidents like that, and this made me think, man, I wish I was involved in when this project was being sold to make sure that some of the expectations were set right. Because one of the questions that we really, there are a few different questions that we're asking there. One is what's the driver, why are you going offshore? Why are you going distributed? What's driving it? Of course, the obvious answer in many cases is cost, right? People are going offshore to India, Brazil, all of these locations. Largely, primarily for cost, it's not unusual. But at ThoughtWorks, that's something often would be a red flag for us. If we were having a conversation and the desire to go offshore was primarily or only driven by cost, that would be a red flag for us. Because there are, again, the risks that come with that. One risk being that if it's just a cost play, then it could mean that potentially lower value work is going to come to the offshore team. Potentially, it could mean that there isn't a lot of buying about the talent that ThoughtWorks is bringing to the table. It's really hourly rates, okay, this hourly rate is a fraction of that hourly rate, and that's where we're going. So ideally, we're looking for some other reasons. We're looking for, okay, you want to go offshore or you want to distribute for scale. Okay, you need to ramp up, you need to get a complex product out really quickly, you need to scale. Great, we have lots of locations offshore that can help with that. Or maybe you're looking for specific skill sets or talents. Maybe some specialist experience with mobile applications, with high Hadoop, some of those. So those are some of the reasons that we are looking for. So we do vet for what's the driver? Why are you choosing to distribute or go offshore? And if the driver isn't, if it doesn't feel quite right, the answer isn't always to say, hey, we don't want to work with you. But it's to say, okay, let's spend some time with the clients, stakeholders initially, to set the expectations, right? To get them to understand that they'll have to think about things differently. Invest not in terms of money, but in terms of effort and time from their side differently. So the other one is, is there business buying? That's the example I gave you, right? Is it just IT that's bought in? The IT organization that has bought in and said, yeah, we're going to go to distribute it. If product has, no one has had a conversation with product or with business saying, what does going distributed mean for you? What does it mean in terms of how you will interact with people? What might it mean in terms of stretch into early morning calls, late evening calls? If those conversations have not happened, again, it will be a red flag for us because it will mean that likely we will hit into problems later. Because if the default model is to have on-site proxies for an offshore team, then again, that's a model that we find can very easily fail. It's a riskier model. We would much rather have all the key stakeholders directly having conversations with our teams or development teams sitting wherever they are. Whether they're sitting in Brazil or India or anywhere else. And the third thing we look for in these cases, are there big unknowns? Is the product vision, for example, extremely ambiguous? Is there a lot of discovery to be done? Is there some big chunks that need to have some validated learning to be done quickly in those sort of cases? Especially, or if there's technical, a lot of technical risk, a lot of unknowns around interfaces or around technical risk. We'll ask the question, does it really make sense to start with offshore or distributed on day one? Maybe we should look at, can we start with a small co-located team that can get some of the unknowns uncovered pretty quickly? And then as part of that exercise, we will also look for ways to distribute this effort to multiple locations. But let's not start assuming that from day one, this can work offshore. Because typically, again, it will mean that some of those goals or objectives won't be met. So let's talk about the next phase of this process. When you're trying to kick off the project, if you're trying to understand what the project is about, what the goal is, and so on. We typically call this the inception stage. But think of it as the first few weeks when you're trying to understand broadly what the team's supposed to do. So, and typically, you do that in a co-located fashion with the client stakeholders, and from our experience, it's really important that this team who goes and meets the client stakeholders to understand the project broadly needs to have cross-functional representation from all the locations, from both locations in this particular scenario. So it's important that you have a business analyst as well as BEAs, as well as devs, as well as QAs from both locations. An anti-pattern that we've seen sometimes is that let's get the BEAs from offshore and the architect or the senior developers from offshore, and that's enough to cover out the initial design and so on. But what that creates is a big gap in understanding and buying from the team on the other side. And when I talk of that, what it means is that you have a team of five, six people coming from different regions, even if they are from the same organization, they've been working in different offices, different regions, so it's possible that they've never met each other, they've never interacted with each other. And so it's really important that that team gets together a few days before, ideally one or two days before the kickoff with the clients is starting. But at least get together one evening before you meet up informally, get to know each other a little bit because otherwise it's very difficult to function as one unified team on the first few days of that inception workshops. So my most interesting experience for me on this one was I landed up at a client site on a Monday morning at 9 AM. And there were four other people who had come in to join me. We were going to run this inception. The kickoff was at 10 in the morning. And there were people from three different, three other continents. It just so happened that availability meant that there were four of us, people from different four different continents meeting up for the first time. We never worked with each other, we never knew each other. And we were going, we were involved with planning the inception activities, but we had not met face to face. So at 10 AM here, we were going to do a kickoff with the client, try and wow them and impress them, try and run some visioning sessions with them, and it was a challenge. I mean, if we didn't even know the people that are part of our organization and we were working with, it was always going to be harder to make it look slick, to make it look, to make it actually work smoothly. So one of the things we do now is make sure that the team can be together one or two days, even one day in advance, or at least a half day in advance before there is any interfacing with the actual client stakeholders or business stakeholders on day one. So the other aspect for both of us who've primarily been part of offshore teams during our career, it's very important for the offshore team members to make that additional effort to build customer, build confidence and comfort with the customer team. And this means simple things like people from the offshore team taking lead in driving some of the sessions in facilitating some of the exercises and so on. And while people from the on-site team who are likely to be more co-located with the customers going forward on the project anyways, they take a bit of a backseat and allow the people from offshore to drive. And this creates, again, some amount of confidence, amount of comfort and familiarity, which really helps when the project actually gets kicked off and we are back in India and interacting remotely. So this initial time spent in front and center of the room is really critical. So we've qualified the project, it looks like it's a good one.  We've understood enough about the vision, about the architecture, the requirements, and now we need to set up delivery. So again, so what are some things to think about? This one may seem obvious, we talked about it in the inception team, but the clear lesson for us here is that every location that is involved in the development needs to have a cross-functional team. We've seen it at many client organizations where they try to do distributed with the QA team, a test team sitting in one location, some developers sitting somewhere else, an architect sitting somewhere else, and a project manager at the customer location. And that's a big dysfunction for us. So every distributed project where there is going to be active development in multiple locations, we try to make sure there's cross-functional roles, including user experience designers if needed, but we'll try and make sure that there is no specialist role that only exists in one location. The other thing to think about, and this one is interesting, we've learned this lesson the hard way, it's balance of power. What we mean by this is that we do insist that every location has an equal role in any decision-making that happens about the project. There is an obvious, easy, convenient thing. Hey, I've got four or five people sitting in my office as a client. I've got developers, I've got BAs, I've got QAs. We need to make lots of decisions about this project, we need to move things fast. The convenient thing is, yeah, let's talk while we're all sitting in one room, make a decision and convey that to the offshore teams. Absolute recipe for disaster, we've even seen that with our own teams, where if you've not very clearly established that the people on-shore, at client-side and offshore, share responsibilities, it very quickly becomes a case where the folks offshore are story monkeys, have got development tasks that they execute, but have very little say in design and architecture. User experience is handed over to them to simply implement. So this is something that in the last couple of years, at least we've become very sensitive about and making sure that with our own on-shore teams as well as client folks, we very clearly said, any decision-making that needs to happen needs to be collaborative, needs to involve all locations, including offshore locations. Yes, there is a trade-off, it means that decision-making cycles for a lot of things will become much longer, 24-hour plus cycles for something that would otherwise have taken an hour in a meeting room, but that is the trade-off that comes with going distributed, there is no way out of that. If you need to have motivated teams delivering offshore, there has to be this balance of power. Of course, we believe that that makes for better decisions as well in most cases because people at the offshore team have different and unique insights sometimes on the code base or on the product. So an example I actually want to share on that one is, this was a learning for me as well. So I was on a team as a business analyst offshore. And I happened, I moved on-shore because there was a role needed there to support the offshore delivery team. And I went on-shore and was like, yeah, okay, all the customers, stakeholders are here, all the people who do the requirements are here. So my daily cycle was sit with all the business and product folks, understand the requirements on new features, end of the day, get on a phone call or type up a long email as a brain dump. And then the BAs offshore would write up user stories based on that. They would come back with questions and I would forward the questions to the product and business folks. And very quickly, it became impossible to work in that way. I just didn't realize what impact that was that meant for the teams offshore. So when we had to move, we ended up moving to a model where my role I looked at is it's a facilitator on-shore, the requirement conversations from the absolute beginning were being driven from offshore. I just had to make sure that the stakeholders on the customer side, if they needed some prodding, if they needed some follow-ups, I was there to do that. But I didn't know enough about the big picture requirements to even provide a brain dump. So I had to move out of that role. And this something, it's come as a learning that we need to do that on-shore roles don't necessarily mean that those are the ones with all the meaty information and offshore has got all the scribing and low level work to do. So how does the offshore team actually communicate with the stakeholders? What does it look like? Yeah, we had made two windows that allowed for that. And we'll talk about that as we go. The other thing that's really important while trying to set up a distributed development team is to figure out how to split up work, what kind of work should be done in one location versus the other. And here our strong recommendation is to ensure that work is split vertically, meaning you carve out a set of features and make the offshore team the owners for those set of features, carve out a different set of features and make the onsite team the owners for those. Anti-patterns that I'm sure a lot of you guys may have seen or experienced is all the UI work will be done in one city and all the services will be written in another city or all the development work will be done in one city and testing work will be done in another city. That in our experience doesn't work. And connecting it to the earlier point of cross-functional role, so it's really important for teams to be able to own features end to end, both in terms of all stacks of the architecture, as many stacks of the architecture as possible, but also in terms of analysis to requirement, understanding and analysis to deployment. So you keep it such that every team is fully set up to be able to do any of these stages themselves. And related to that is that it's important that the split of features is done in a fashion where features that are connected or correlated in some fashion are grouped together and handed over to each of these teams. And this I think is really important because it usually features that are correlated are also correlated inside the code base, maybe in the sense that they'll use similar classes and methods, same classes and methods. And it's important to keep that in mind while you are making these decisions because one of the most difficult things in working distributed is if you have day-to-day code level dependencies on a daily basis, if you're working on the same set of classes or methods that a team on the other side is also working on, then it can cause a lot of confusion, it can cause a lot of extra communication overhead, and so on. So it's important to split up to logically pick up features such that different areas of the code basis will automatically be owned by different parts of the two teams. Sorry? Yeah, module-wise split up is a separate, you know, we can talk about it more offline, but here what I'm suggesting is end-to-end, you know, end-to-end split up, not just some components owned by some teams. There is an obvious risk, right? You're gonna say if you split up by features that are closely related, there is a risk of getting into a state where there are silos, where there is not enough knowledge about one set of things, one set of features in your code base in other location. So we are always conscious of this risk, but we find that the trade-off between the chaos and confusion of day-to-day dependencies versus, you know, the some risk of some knowledge we're getting into silos, we find that we tend to go towards actually splitting that up and finding ways to consciously have knowledge shared between among those features, either by swapping people across teams or finding other ways to do that. Do you think vertical slices would kind of take care of this? Yeah, I think the idea is also about the related features that you want to group together. You could, one, potentially, you could just say here are vertical slices and we can arbitrarily assign those or happy teams, pick them up from a common backlog. What we're saying is no, there is some active effort to say that these groups of things are actually related to each other. They'll touch in all of the same underlying code. So maybe it's best that one location holds it rather than arbitrarily dividing it. I mean, the classic anti-pattern that I've seen, you know, seen just too many times is that the team works of a shared backlog, which is fine, but it's almost random that if team A finishes their story today, they'll pick up whatever is the next most important story in that common backlog right now. Regardless of which feature it belongs to, which area of code base it belongs to.  And so that just is too confusing, too costly in terms of the communication overhead that it creates. And while we talk about this separation of ownership of features and end-to-end ownership of features, we're still, you know, just to clarify, we're still talking of very, very frequent integrations. We're still talking about one single continuous integration pipeline, one single continuous deployment pipeline. So it's not as if the intent is for the two teams to work independently at all. So continuously you are checking every check-in works against the combined code base and all the integration tests work against the combined code base at all times. Yeah, we'll talk about that, yes. So another one, almost it might sound like it's a counterpoint, but it's not, when it comes to things like metrics, when it comes to things like managing the teams, one of the things we do focus on is making sure it's treated as one team. We've been badly burned by going down the path of, oh, onshore velocity is four points per week per pair, but offshore is two points per pair per week. What is going on? Why is offshore half as productive? I mean, aside from the point that that sort of use of velocity itself is dysfunctional, just trying to do that and separating those and treating them as, oh, I have an onshore team and an offshore team. I think we've found that to be extremely risky and a really bad idea. So we will try to make sure it's considered by client stakeholders, by our own teams as a single unified team. We're not trying to create divisions other than for purely practical reasons like dividing our features and things like that. Distributed, then it will obviously happen, right? The data will itself be collected. But you can get some, especially the features are distributed over the data. Yeah, the data will, may tell you something like that, but there's no reason to actually track it that way. It's a team velocity. It's a team planning effort. It's a team output that we're doing. So while the temptation may be there, what we're saying is that resist the temptation to try and look at the data as, oh, this is my velocity in Chennai. This is my velocity in New York and so on. We'll talk about, actually, we might not have time to talk about it, but offline we can do that. Okay, and the next thing I wanna talk about is, so now we've set this delivery up, right? We've now gotten into active delivery, our sprints or iterations have begun. So what some of the things to think about and plan for in the early days? Now, rotations is the most obvious one, right? There was stuff when there were articles 10 years ago about distributed agile. The first thing in there was about rotations of people, but even today we find that there are a couple of things. One is rotations only seem to happen in one direction, which is from offshore, you have people traveling to customer locations. That's one. And the other is that rotations tend to be, oh, I made a two-week trip to the customer side, and that's why we're doing rotations. In our world, rotations would mean working for a reasonable period of time in, on the other location. So six weeks, eight weeks, two months, three months, and we will try to do it in both directions. So we'll plan on that if that needs to be some budgeting thing that needs to be done to make sure that our developers from, from onshore, our VA's, our project manager can spend a few weeks in our offshore locations. So whatever it takes, the visas, things that needs to happen, the monetary allocation, we'll try and make sure that those rotations are planned in both directions. But the keyword there is working from, getting the experience of actually working from the other location is critical. It's one thing to meet people face to face and conduct discussions and sessions and so on, but it's completely another thing to, to actually work on a day-to-day basis from the other location. So that gives, gives both teams a lot of insights. I think the, that goes a big way towards that empathy and the trust that, that needs to be built across those locations and it doesn't matter whether in the ThoughtWorks world, there's a good, sometimes we client developers, client VA's and so on. So we could do a core source model. We'll try and get everybody over if we can, doesn't matter whether they're from ThoughtWorks or from the client organization. This one again, it seems obvious, but it's shocking how frequently we have distributed projects start off where the classic conference call, you would have seen the recent video that became very popular, but somehow, even though this idea has been around for probably a couple of decades, but by default using video for all distributed communication, we'll spend a lot of effort making sure that's the habit from day one and the default and whether that's supplemented with screen sharing and document sharing, but we'll get into that default habit of, hey, everything needs to be, we need to be able to see each other and we need to be able to look at the same thing that we're working on together. We're just not going to do conference calls alone. So on most tables, you'll find, because this is a topic that we can't probably spend a lot of time on just different synchronous and asynchronous communication options, most tables you'll find there are some bunch of handouts. So that's, you can take those away. There are some more details there about hardware, software, ways we've used things for distributed communication. Yeah, but this one we can't stress on enough. These days, in my view, these tools, the bandwidth on both location, has improved so much that if you use video and supplementary tools like screen sharing and collaborative document editing tools and so on, well, with good hardware as well, then it can very closely replicate being there in the other location. And for those in the back, if you don't have a handle, we have a few extra here. So if there are any left at the table at the end of the session, we can give them to you as well as the others. Okay. So the idea that this is still one team, that is, it just happens that a few of the members are in one city and the few are in another, is important to keep in mind. And when you think of that, it's important for both the teams to try and get to know people on the other side as people, as human beings. And there are just some small things that you can do in the early days that help towards that. So on one of our projects, our project manager in UK asked us to send pictures of everyone who was on the offshore team. And he put them up on walls at the client office with names and roles and so on. And he got feedback from clients saying, oh, I've been talking to Chirag for the last few days, but now that I see his face, it just feels better. I have seen other teams do other informal things like share their hobbies in a mail thread or share something like that. But those sort of informal communication between these two teams really helps. And I've used on some teams tools like Yammer or Skype chat rooms or IRC chat and stuff like that to of course talk about what's going on on a day-to-day basis on the project. But when you have tools like that, which is not email, which is not formal, then you can do other interesting things. You can wish people on their birthdays. You can share jokes. You can pull people's leg and so on, which connect the people on both sides on a human basis, which helps in, when there are tougher times, it helps in that. And this can be a little tricky, right? If you're in the scenario we talked about, it's a US-India distribution. We're barely getting one, one and a half hours of overlap time. So the obvious urge is that, let's just keep it to business if you're talking for an hour and a half. Let's just do that. But one of our mantras there is make time for banter, make time for that informal. It doesn't matter if there's something about the project that has to be done over email later. But in the early days, that sort of getting to know people and getting to know them as human beings is critical to the success of the project. And the other thing is that if you are one of the folks on the offshore team who's got initially the time to the face-to-face time with people on the other team, then you ought to take that additional responsibility to get your other team members to get to know these people better. So it's about sharing anecdotes about your trip that you made over there and what did that person say? What is that person interested in? Just connect people up. You have that additional responsibility if you have met them face-to-face. This is similar to the ideas that we've talked earlier about balance of power and having that sense of shared ownership between the two teams. But oftentimes we've seen teams default to, okay, I'm at onsite and here are five clients, stakeholders who are sitting in the same room. So let me drive every single meeting, every single showcase, I'm the best person to drive it. And while that is true from a practical point of view, it is really important for the offshore team members to drive some or most of these meetings directly from offshore. And again, with the tools and hardware that is available now, it isn't that big a difference in experience. So again, the idea is that the offshore team members should drive these communication and the on-shore team members should be there in case of communication, in case of a hardware failure. So if the network goes down or something like that, then the person can rescue that situation by telling some jokes or maybe by continuing through that presentation later on. So we use this for showcases for sure. We'll have most showcases to client folks made driven by offshore planning meetings, retrospectives, all of these things that we'll try to make sure that the location that is not sitting next to the customer has that opportunity to put that front-face forward. The other aspects, especially as teams, distributed teams in particular grow larger, when you talk here of 20, 30 people in all across two locations. Regardless of which other tools, at least in my experience that you use for communication, emails will still be a big chunk of, it will still be the big medium in which people will ask questions or ask for opinions or circulate decisions and so on. And there it's important that the team approaches email communication in a structured manner. So I've been in situations where we haven't paid attention to email that's coming on from the other side enough. And suddenly it happens that there was something important that somebody had asked, last night we didn't look at it the whole day today. And the next opportunity we'll get to look at is 36 hours later or 48 hours later as compared to when they had asked it. And those sort of things can very quickly reduce trust, reduce confidence and so on. So we've just to, and so that's it's important to approach it in a very structured manner. A couple of things that have worked for us is on projects we've taken, we've almost set time aside, maybe the first 30 minutes, even before the morning stand up of a team, we spend the time for everyone in the team to read and respond to their emails, for example. On another team, Tarang and I were on recently, we had a couple of people take over the ownership of being email shepherds, which basically means that they'll keep track of, or these were three questions that came through today in the technology choices area. These three questions were around QA processes or tools area. Let's ensure that somebody in the team has signed up to look at it and respond to it within a day or two, so that it doesn't get lost. And this may seem like a trivial thing, right? Yeah, everyone manages their email whether you're distributed or not, but at least we found that just that simple thing of acknowledgement that goes back, yes, we've seen it, we're working on it, or hey, here is the response. I think that makes a big difference to that trust level that you're going to have. So we do as project managers, both of us, we do pay a lot of attention to it. Sometimes our team members will feel like we're being a little anal about it, but we're just not going to underestimate the impact of that medium of communication, regardless of how many video conversations we're going to have. And coming back to a question that one of you guys asked earlier about, there are, when you have a distributed team, you will have to tweak your practices, whether it's stand-ups or retrospectives or planning meetings, a little bit to account for the fact that you have people in both locations. So for example, in retrospectives, it would mean using web-based tools that allow people to look at points being put up by both sides, having video on both sides, having facilitators on both sides who've earlier met up and synced up notes about what structure is going to be followed and so on. But even other things, like it's important for you to try and try and find avenues to exchange feedback between members of the two teams, of the two distributed teams, to broadly seek feedback from the other side of the world about how things are going and so on. So it's important to keep that in mind that those small tweaks are important. All right, so we've gotten through the early days, we've done all the right things. Now the project and the teams have moved to a steady state mode. So we're not going to spend a lot of time on this, but just some quick things to keep in mind. We find that rotations often start to disappear. It's the first few weeks of the project. There'll be some travel happening, but they don't happen consistently throughout. So again, something to keep in mind, just make sure that the rotations happen throughout that life cycle of the project. Another important thing is to celebrate small successes together, whether it's small milestones that have been reached or whether it's just any kind of positive thing that has happened, just celebrating that together over a long period of time, again, doing that by default, using some of the channels or tools that we have mentioned in the handout. We found that again to be critical for continued success. So again, anything else? So just recently a project that I was on, it was a team distributed across six cities.  Go Live basically occurred. It was a big public Go Live, it was a big event. And when that happened, we were all on a video call for three or four hours to ensure that everything goes fine. And at the end of those four hours, when we knew that it was, you know, it was finally live, we had people in Istanbul and in Brussels where the client stakeholders were, they actually had champagne bottles ready, arranged to celebrate. And they opened up the bottles on video, poured glasses and, you know, cheers to everyone on calls. And just those small things, you know, cutting birthday cakes, you know, while the camera is on on the other side, just those small things make it, make it, you know, one team. And finally, maybe somewhat controversial for some folks here, but while you're doing that distributed project, keep looking for opportunities to not have to distribute it. Distribution is hard. It's a lot of work. It comes with lots of trade-offs. So if there are ways in which, you know, the work can be largely moved to one location or a team can be co-located. Don't lose sight of the fact that, you know, you can still look for opportunities to do that. You don't have to do that model for forever. And in our experience, you know, on most project after about six months, nine months, there is usually a quite a clear opportunity to try and reduce the distribution. If you have three locations, it's possible to do it in two locations. If you have two, it's possible to do it in one location. So it does ease things considerably, whenever you can do it, depends on the context. Let's say with the disability, we're sitting here, so how would you accommodate the demo person, the demo person? So technically, you might put the time zone You are facing a table, right? So you don't have any thoughts on how... Yes, I'll repeat the question now. So just to make sure I understood it, right?  Because if you're waiting for the other side to be up, you could lose some hours until you're able to do a demo. Is that the question? Let's say the last day, right? So it's not over for the other team, right? So you need to put up, assume that you're putting up a sprint demo on every sprint completion, right? That's why we're looking at it as a monolithic thing that we do a sprint demo and the entire team presents everything all at once. You know, one, we'll look to just present things as they are ready. So it doesn't matter where they got ready for them, but of course, if you're presenting to the client stakeholders who need to provide feedback, then yes, it will sometimes mean a 24 hour gap until we can get the right people. I mean, until the right stakeholders are there, the purpose of the demo isn't served, right? But the important thing is that when you're demoing, when you're showcasing, even if you're doing it formally, it's important for the offshore team to directly talk and present the features that they've worked on and for the on-shore team to directly talk about the features that they've... And... The day which, you know... Yeah, but the end of sprint is a notional thing, right? I mean, you can just decide that 8 a.m. US time is when the demos will be and whatever work has got done till that time on a Monday morning is what counts as a sprint on both sides. The skills or the expertise, you know, the distributed team could be on a model, which I've had a platform level, private level, and private level. So it's very hard to form a team, you know, which has these roles, because that's a practical problem. Do you have any thoughts? We usually solve that by rotation, by ensuring that a few people who have worked on those areas work from the other location for a few weeks or months. But we haven't experienced a lot of that, honestly. We haven't experienced that there is something that the people only in India can do and something that people only in the US can do. All right, questions? Any other? About the metrics, but where are there some metrics, some measurements apart from velocity and the internal retrospective that you came across during it? Specifically here. You know, in terms of how the distributed teams are doing? Do you have a meaning in agile? Yeah, so that's a whole different topic in some... You can share your experiences. That's very different from the, you know, we are focusing on what is unique when you're doing distributed agile, you know, in just doing, in running projects in an agile manner, there are, you know, you think, you look at measuring different things and projecting it differently, but that's a very different topic. Let's talk about it offline, but take questions on the topic. Or if the organizers give us 30 more minutes, we could talk about it. Yeah, in the back. Have you had situations where you had very, very distributed teams, like for example, England was taking US and in Europe and, you know, in the Pacific region? So that means you don't have any kind of, you know, common time at all. The Japanese celebration example we were talking about, there was Tokyo, there was Pune, Bangalore, Istanbul, Brussels and San Francisco. Okay, we're almost, we're actually out of time. So, but, you know, reality is that in those sort of cases, we can't get everyone together for everything. We will have to distribute the communication when possible. Is there any specific challenges in vitamin P 15? Why do you have to distribute it? Actually, there are going to be more important answers. So should we, because there's a 15 minute break now, so we could answer some questions. All right, thank you. Let's carry on the conversation in the copy. Thank you. Thanks.


Before we start, I have a question. Do you like road trips? I hope the answer is yes. If you do, what do you think makes a road trip successful? While you're thinking about it, let me invite you to take a journey with me. Along the way, we'll make a few stops to check if our foundation is well-equipped for the adventure. We'll wake up in Moscow, speak different languages, sandboat in Colorado and drive through a pandemic. All that to find an answer to the question. What does it really take to launch an enterprise product at scale during the COVID-19 pandemic? Here's our destination. We are building from scratch enterprise sales software for LinkedIn, a place where sales leaders can uncover new opportunities and develop a better sales strategy by leveraging the LinkedIn economic graph, the digital representation of the global economy. We'll welcome our users with a single sign-on and offer multiple licenses as a starter. Our main Ember UI menu will include external dependencies, multi-dimensional taxonomies, custom personas, interactive charts, and so much more. But this is where we start. 2019, the year I joined LinkedIn.  No, I had no prior Ember experience. There's one thing you should know about me. I'm addicted to adventures. While working in tech for more than eight years, I tried on different heads, worked in both the front and back yards of engineering. I already invaded worlds of video games, ads, car racing, freight shipping, investment on cryptocurrency. So growing a complex enterprise product on unknown to me Ember soil was an adventure I couldn't miss. I knew it would involve new challenges and I was right. Let's take a closer look. Like any other product, we have must-haves like graceful degradation, AB testing, et cetera. But on top of that, we need to account for enterprise specific processes and challenges that come with KL. Every feature we build has to consider multiple microservices, external dependencies, sign-offs from other teams, et cetera. All that combined makes the final list of requirements quite overwhelming. And you're probably thinking, that's why enterprise development is slow. I know, I've heard this many times. And while it is true that we can't afford to move fast and break things, we can't afford inaction either. That's why our approach follows the core principle of stability without stagnation. As a team, we decided to invest heavily in the foundation, automate and reuse as much as we can. As brilliant as this sounds, the implementation of this principle wasn't always straightforward. It wasn't a straight line nor a curve. For me, it was a journey. The journey through two intertwined roads, personal and professional, where lessons from one echoed into the other. Maybe they aren't so different after all. Let's find out this by driving to our first checkpoint, St. Petersburg. My friend and I planned a trip to Moscow. We discussed the plan, agreed on the dates. But out of sudden, he showed up a week early wondering why I still wasn't ready. Shocked, I quickly packed my bag and one hour later, we were on our way to Moscow. It ended up to be a very fun trip. Although later, he confessed that it was a prank that turned into a real adventure only because I accepted it. I wish all unexpected changes to our plans ended so well. Unfortunately, that's not the case, especially in the world of UI and API agreements. How it usually happens. The UI and API team signed an API contract by defining a schema. UI kick-offs local development using mocked endpoints in Ember-Selai Mirage. Then API developer introduces some changes. UI engineering might be not aware of these updates, so they continue to build the UI with outdated assumptions. The discrepancy can cause bad regressions. This problem is what makes validation one of the crucial components of client-server interaction. Our solution to this problem isn't open source, but I'll explain the overall idea that you can apply to your own Mirage setup in Ember. Let's look at the schema. In green are the typical components of Mirage workflow. The key difference is in serialization process. Each mocked endpoint is mapped to corresponding API schema. Schemas are treated as dependency packages. To upgrade API version of your local mocks, you just need to change the package version. Then custom Mirage serializer comes into play. It takes those schemas from your repo, validates each requested query program, and generates mock data, but only for the fields defined in that schema. If you try to check the system by introducing custom fields in Mirage Factory, it will throw an error. This solution proved to be effective in surfacing missing required purposes, declining outdated request programs, and preventing any schema pranks. Now let's jump back to our engineering car. We are going to Colorado to perform our first accessibility audit. I promise no more secrets. All these other technologies I'll be mentioning are open source. San Dunes National Park, Sandboarding Paradise. I always loved the idea of sandboarding. I've heard it was similar to snowboarding, so I got excited and went all in without any further research. Long story short, it was a disaster. Unlike snow, sand demands waxing every few meters. Instead of shredding the sand, I spent the most of my time waxing the board and blaming myself for not doing proper research. Concedently, that was also the time where our first accessibility audit was taking place. One thing to keep in mind, accessibility support isn't the choice for us. It's a must have requirement. However, since our product wasn't released globally yet and we had other priorities, by the time we performed our first accessibility audit, we already had an impressive amount of features. Still, I wasn't too concerned about it. On the contrary, it was a new experience and I was excited about accessibility audit process in general. So here I am, exhausted of the long dangers looking at the result of the accessibility audit. 100. The team reported close to 100 issues. I experienced the backslash. For the second time a day, the universe was telling me that unrealistic optimism can be very painful. 30% of those issues could have been easily avoided. How? By leveraging and for accessibility testing. It's easy to adapt and straightforward to use. Built on top of X-Core, it gives you access to all the rules and options. My personal favorite bonus of this library are error messages. Not only do they tell you what went wrong, but also why it went wrong and how to fix the problem. So don't neglect easy wins, please. Do your research before shredding the sand. My next story is about dangerous regressions. Once upon a time, I decided to try work and travel program. Our goal was to build a floating staircase. Yes, we did it, but that's not what this story is about. It's about how the entire innovation project has started. Apparently, the owner of this house didn't like one of the walls in his living room. So he removed it.  So he put the entire construction of the house at risk. Coming back to our UI world, we can consider page markup as one of the load bearing walls of front-end construction. Uncontrolled CSS changes aren't threatening web existence, but can easily damage visual integrity and endanger overall user experience. In projects like ours, with hundreds of components, the only way to prevent visual regressions is to use automated testing. After evaluating existing solutions like Percent Phantom, we adopted Ember Backstop. It's a visual test helper that generates and compares screenshots with a reference from baseline commit. You'll also need to consider other aspects like freezing log data, but let's save these topics for the future. What we'll focus instead is how can be leveraged the same exact setup for localization. As of now, we support seven languages. Localization is a multi-step process that involves collaboration between multiple teams. Verification is one of the steps. We need to ensure that all our components look as intended in all supported languages. How can we do that? Screenshots. Indeed, if you can generate screenshots for one language, why can't you do it for another six? By triggering your test for different language, you can use the same exact backstop assertions but in reference-only mode. The result? One tool that covers two requirements. Okay, that was a lot of information. Let's make a pit stop. We established trust in client-server communication and performed accessibility audit. Introduced visual regression and localization. On the background, our team covered all other requirements and even other accessibility bugs. By investing in strong tech foundation, automation, and creativity, we achieved stability without stagnation. Our team was moving full speed, preparing for global launch. Then the world turned upside down. Along with drastic changes that came to our day-to-day lives with remote work, we started seeing decline in engagement from customers. Roadmap items no longer seemed relevant. Third of our engineering bandwidth was borrowed by another team. The launch was postponed. All that endangered our team culture, which we cherish a lot. LPMs tirelessly worked on uplifting team morale. We had virtual happy hours, watched zombie movies, cooked meatballs, played trivia, and even cross-seached. Nonetheless, life wasn't the same. Day by day, I was submitting less and less code. Box will start crawling over from all over, and I fell into a sale-blame trap and developing pasta syndrome. Longer working hours didn't help. Hiking, grinding, even closed apple rings. Nothing was working. And then I asked myself, in the engineering world, what do we usually do when we hit barriers in development? Right, we apply problem-solving strategies, one of which is root cause analysis. So I cleared my wild board and started brainstorming. List of problems and never-ending chain of why questions uncovered that even though I used the right tools, I was finding side effects, ignoring the core issue. Denial. I denied importance of the crisis. Tried to prove that we can recreate almost anything as long as we have enough of willpower and perseverance. This is an airstream from Milwaukee, four miles away from my apartment. At that time, campings were closed, so I rented it to recreate camping experience. But even with the wildest imagination, that airstream couldn't leave the backyard and know it wasn't camping. Few days later, I came back disappointed. It's still an original and unique experience, you might think, and you're absolutely right. You see, I couldn't appreciate that airstream for what it was, because I had an inadequate set of expectations, because I was applying the right tools to the wrong problem. The same way I was boosting my work performance while ignoring the most important questions. Did I still want to invest my life in this product, knowing it might never be released? What was my definition of a successful journey? To answer these questions, I came back to my fundamental engineering values. I love using technology as a tool for solving challenging real life problems with like-minded people who share the same passion. So for me, success was an intersection of those three pillars. And I had all three of them. No, I couldn't guarantee a prosperous future for our product, but I knew what I could do to increase the chances. Investing in the resilient technical foundation, contributing to the integrity of our team culture and putting our members first. This realization helped me to reestablish my engineering purpose. Luckily for us, soon after that, we started seeing the rise of virtual selling. Increased demand in high quality data and insights put our product at spotlight for many prospect customers. We entered a new life cycle, double downed on our roadmap. We had to act fast. And that is where our previous investment in foundation, localization tools, accessibility, testing, et cetera, really paid off. Last month, we launched sales inside globally. Wow, what an adventure we had here. Thank you for trusting me as the driver and thank you for sharing your precious time with me. I wish you all to have many, many insightful journeys. Cheers.