 What are you doing to bring money into your business? Yeah. I'm just being the other way around. Sorry. No, this was not what I was going to do. I think I'm on that one. What I wrote down is this. I'm going to do this for you. I'm going to do this for you. Sorry. I wrote it down. I didn't know if you were there. Yeah. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. Is there one that can go under this lapel? It's not that we have to test this. That's okay, I'll do it from here. Yeah, I'll do it. It's going to be recorded. And it's really useful if they can hear what you're saying as well. Yeah. So I'll stay close and you might. Okay, cool. You're in charge of it, aren't you? Good. Oh, you're my... He's in there. I'm just... I didn't insist. You're insistent. It could have been even worse. Even more shit. Yeah, but yeah. Because we finished the 422. I suppose you could say... You might... You're the project before today where you were in a tournament as well. Of course, yeah. Relocation. Yeah. Are you okay? Yeah, I haven't got it set up so I can see my slide or not. I can do that for you if you want. We need to go on your desktop. And then we need to go to preferences. Where would that be at? I'm not a big Mac user, so... Okay, yeah, system preferences. Yeah, for sure. And display. And then we don't want to move it this way. So that... We have a second monitor now. I'll get rid of all this. So if you want to track this... Is this the one you'd be using? Yeah, that's the presentation, yeah. But I wonder if... I have no idea how I have two views. So I can see... Stand back that way. So this goes on to here. So this would be your first screen. Yeah. You can do notes, but you can... My notes are in here. Yeah, but my notes are in here. Yeah, yeah. My notes are in here. Oh, no, it's not. No, it's not. See what I mean? Yeah, yeah. So you want to go into presentation mode. Which... I'm not sure how to do an amount. A good view, I think. A good view, okay. And... Well, I've just got to play. I see what that does. Where have you been? Have you wanted to take over? Well, play, as far as I know... Just gives me... Hey! I don't know the presentation notes. Nice one. What a story. We've got them in the end. It was teamwork. Yeah, yeah. Anything else that you're okay with, Steve? No, no, no. Would you want to do the talk? Pass. In terms of microphones... You have this one, which is usually sufficient enough. And you can turn that up on the thing here. I think that'll be fun. We can use it if you want. And we also have ceiling microphones to record your... recording, because you're lying. Okay. Anything else you're okay with? That's it. No, we're good. Do you need this? No, I don't think so. Okay, I'll take it. Everybody, I'll get started. I'm getting started four minutes and 32 seconds late, because stuff goes wrong with projects. It turns out I didn't read the manual properly, and I was in the wrong room. But I'm here now. So I am from Code Nigma. My name is Steve Curry. If you want to check me out on Drupal and find out just how old I am. So what I'm going to be talking about today is what goes wrong in projects. Mostly what I'm talking about is the kind of project where you have to fill out some kind of RFP or an ITT to actually get the work in the first place. So my assumption is that it's probably a project with a new client, rather than a project with an existing client, where you've already established a relationship. A lot of what I'll be talking about is the power of negative thinking. And mostly I'll do that, because you might have picked up already, I'm Scottish, and I was brought up in a strict Presbyterian upbringing. So my experience of life was that you lived somewhere rained a lot, and you knew that when you died you would be going to hell. So it kind of makes you feel a bit negative about stuff. For the rest of you here who are not like that, think about what I'm talking about as therapy. You can listen to it and say, that never happens in my organisation. And then you can feel good about yourselves. Or you can listen to what I say and say, oh crap, that's happened to me too, in which case you get the satisfaction of knowing it's not just you who gets things wrong. I will try and talk negative as I am about things you might be able to do about these things. And just for context, what got me thinking about this, apart from my Scottish background, is I was listening to something in the BBC a couple of years ago about the power of negative thinking. I think it's still available. And it's got very interesting examples of why negative thinking is a good thing. Now, having talked about negative thinking and why everything goes wrong, and having shown you a slide of codenigma, I do not want you to think I'm talking about codenigma. I'm talking about a friend of mine, in other words, another agency. Everything I say, therefore, doesn't bear any relationship to any real people. But just in case I accidentally used the word we when talking about screw-ups, just remember it's not codenigma, I'm talking about another company called Doolali Development. And you might also think you might even record this and play it to our customers, attempting to get business. So I'm not talking about any of our customers. I'm talking about a made-up customer. So imagine I'm talking about the ministry for frictionless trade. Because that couldn't possibly happen, could it? So the kind of project experience I'm talking about is that sense that it starts off great, and by the end of it, doesn't feel that great. Has anybody ever had that experience? You start off like this. You're going to conquer the world. This time, you're going to nail it. You're really going to deliver a transformative experience for your customer. You're going to make a profit. You're going to be a happy team. You're going to have a showcase that you show to the next customer. Your business is going to grow. You're going to be hiring. You're really going to be hiring, not just putting it up to say we're hiring. That's what you're hoping for. Brave New World. And it ends up like that. You've hit a massive discovered object, undiscovered object. Or it ends up like that. Not a total fail. You get over the line. As you get over the line, you're utterly exhausted. So if you've ever had that experience, that's what I've been thinking about. How on earth does this happen? How on earth does it happen more than once? Because you should be able to have it at once, sure, and then fix it. So my theory is that projects really fail because of communication. That's the problem. Not talking about the technical stuff, just the communication. So it's George Bernard Shaw has it. The single biggest problem in communication is the illusion that it's actually taken place. In reality, we're all islands shouting lies to each other across seas of misunderstanding. I could stand here for an hour just putting up quotations like this. We've all observed it, but we don't know. One final one, just because you told them doesn't mean they heard, is, that's me, I come up with it, I come up against it again and again. So, if other people tell you something, you make assumptions. If they don't tell you something, we make assumptions to fulfill our need to know and replace the need to communicate. So we all basically start all the time constructing narratives. And if we don't have the information, you can pretty much guarantee that you're constructing a false narrative and your narrative doesn't fit the narrative of your customer. And your narratives basically rewrite history. Delali Development worked with a product manager who started every sentence with the phrase I thought we said. No, we never said that, but out it came. And the consequence of working in this sea of misunderstanding and miscommunication is that you turn around to everybody and say, it's their fault. So if you've ever been in that situation where your customer is saying about you, it's their fault, they're useless. Meantime, your team is saying, customer, can't work with these people, they're useless. Why would this happen? Well, we basically start not really understanding each other. We're the supplier, we have a customer. There is some kind of nebulous requirement. I've used the dotted line to indicate nebulous. And we understand a bit of it. They understand a bit of it. Neither of us understand all of it. That would be enough of scope for a problem. But thinking about the customer, I've done them as a circle. It's not one thing, the customer, is it? It's a bunch of different things. Stakeholders, we might call them. So these are sample stakeholders. But even within these samples, they won't all be thinking the same thing. So if you go into a room and you meet eight people from your customer side on the table, all eight of them will have a different concept of what it is you're there to do. Supplier, but that is a circle. Bunch of different interests in there. Design doesn't think what development thinks. Finance doesn't think what they think. The board doesn't think what finance thinks. Sales doesn't think what anybody thinks. Project management. Don't even want to talk about project management. So what's actually going on here is people are just making assumptions. So let's have a think about all the assumptions that we make and our clients make as we start to engage at first. Assumption number one, we know why we are here. No, we don't. We've got an RFP, which is a work of fiction. It's a wish list assembled by a committee and approved by... I'm not going to say, because you might think it was a code enigma customer I was talking about. Approved by somebody who doesn't really understand what they're approving. So we arrive, we don't know. It's incredibly difficult to get under the skin and you sure as heck don't know it when you arrive. Similarly, the customer knows why we're here. Anybody ever met a customer who knows so-and-all about web development? I haven't. Okay, there's always one heckler in the room. So we've got a problem that we start with this misunderstanding of what's actually going on. So if we proceed on that basis, we're almost guaranteed to have trouble. So let's actually check what's going on. So a tool that I've found particularly useful is a thinking instrument. I don't know if people have seen this, the double diamond design model. And it basically has two diamonds. The first is focused on designing the right thing and the second on designing the thing right. My experience is that in a lot of web projects we kind of jump to the second triangle without even thinking about the first one. So we read the RFP and it says, oh, we want personalization. So we put in a proposal about how you can achieve personalization. And we don't actually say, why on earth do you want personalization? Is that actually the right answer to your problem? So we don't pull it back and say, let's just investigate this before we even get started. Also, we're not clear, as I said, why we're here or why the customer thinks we're here. Are we here as designers and we're going to change people's lives? Or we're going to help define their problem, shape it, transform everything. Is that what they've hired us for? Or are we just here as painters and decorators? And whatever vile wallpaper they've decided they need, we're going to put it up professionally, regardless of the color combinations, because the CEO likes orange and purple. Fine, we'll do it. So in that case, what's going on is the customers actually define their own problem and we're just going to go along with it. We're going to build garbage, but we may be able to build the garbage on time because of what they've defined. That's the first assumption, we know what we're doing. Second assumption, the customer understands what Drupal is. So we probably all know that using Drupal as a content management system where you can slap a bunch of things together, completely breaks down the minute people actually want a really effective, responsive website design. So you can't actually do what you say you do with Drupal. The idea that it's Lego and you can make whatever you want, no, not true. But if it's been sold to the customer on the idea that, oh, yeah, yeah, you could just plug in a module and you'll be able to do this extra thing, you're going to be in so much trouble down the line. We assume the customer actually understands how the web in general works. Do they actually know anything about what's involved in creating a responsive design that's capable of working on all the form factors that exist and when a new form factor comes out next month, we'll be capable of working on that. And that's just one example of what they probably don't know about. Do they understand professional development? One of the things that I think is quite weird is usually the point about hiring professionals is you get stuff done quicker. So you go to the main dealer of the garage and it should be that they do it really quickly, they know what they're doing, they can do it really quickly. Actually, with web development, it almost sometimes feels like it works the other way around. By the time you throw in continuous integration and gate and multi-stage deployment and peer review and automated testing and four layers of testing, user acceptance testing, it kind of takes a day to get a block on the page up. So actually, do they realize what they've hired when they've hired you? Does the customer get that something's actually got to be done about the content? The project, and there's some magic stage happens where a magic fairy comes in and they just take this garbage and they move it over there into your fantastic design and it works. Are we talking the same language? So again, we make a bunch of assumptions about things that we take for granted, probably, in our world. And are we using the same project methodology? So, word of warning for anybody, if you walk into a room to meet the client for the first time and there's a project manager, you're probably in trouble because they probably won't be thinking what you're thinking. Minimum viable product. Will they have any concept to what minimum viable product is? They'll have a fixed budget more often than not, but minimum viable product will mean very little to them. You're going to have to make them understand what minimum viable product is and make sure that senior stakeholders get it. So give them an exercise at the beginning. Make them throw 30% of the project features out so they get a hold of it. Just say, okay, when we hit a discovered task and you tell me there's no more budget, which of these three out of ten things are we not going to do? And if they won't tell you minimum viable product has become completely meaningless. And then we probably pitch it as, well, we work with a product owner to define the project, build a backlog and set priorities. Product owner might well just be the secretary that got dumped with this because nobody else can be bothered. Will they understand... Do they actually understand whether they need one? Does that person have the authority to act? Does that person actually have the necessary knowledge to make decisions? Probably worst of all, do they have the time and the capacity to do it? Because they're already doing a job. So have they worked out that if this is a fairly substantial web project they're going to stop everything else they were doing and just work with you? Chances are not. I mentioned discovered tasks already. So have we had a conversation with them that says what happens when we hit this discovered task that we don't know about? Well, you're an expert, you should know about everything. About us and our organisation, our infrastructure and this really weird database connection that somebody built that we didn't know we had. You were supposed to know about all that stuff. I was thinking on back to the Titanic thing, the discovered task. I'm pretty certain that at some point between hitting the iceberg and sinking, there was a loud businessman who was shouting at the crew saying I don't care, we hit some ice, I need to be in New York tomorrow. Faced with that, do they understand what we mean when we push back? One of the things that it seems to me will make a relationship really adversarial really quickly is the minute you start pushing back. But if you don't start pushing back from the beginning you'll be stuffed because what'll happen is you'll get to the end and you'll suddenly find there's six months worth of work to do and one month's worth of time to get it done in. So you've got to establish and explain to them this is why we do this because we're going to get a successful result for you but if we simply go along with you you will not get a successful result. Have we explained that small things are really hard? So show people this. This came up recently where the plant had been shown groups. That's a good way of organising the website, built the website and then groups like most Drupal modules use quite a lot of kind of module specific terminology. So there'll be a tab in there that says related references. And he said oh yeah we use groups, that sounds good. Can you take all those words out? Can you actually spend a week's worth of development time patching, rewriting, overwriting to try and make groups work? Oh and can you fix it the next time there's a release for no money because you said it Drupal does everything out of the box. Small things are hard, show them so they understand what that means. What's a bug in a Drupal project? Make sure you get this one sorted before you spend six months doing the project and the next six years servicing it for free because what they see they define as a bug. So make sure you've nailed it down. We talk a lot about we can wrap quite a lot of these things up in this concept of the iron triangle which I'm sure most people would be aware of that essentially you've got a number of constraints, value, quality cost and you cannot move them, if you move one it has an impact on the other two you can drag it but it will have an impact. So show the client this and tell them ram it home, you can only have two of these things. It can be good in shape, it can be good and fast, it can be fast and cheap but it cannot be all three of these things. That's impossible, they're asking for the impossible. But of course a lot of the time you'd be thinking you wouldn't want to do this. It's a bit of a downer to meet the client and say it's going to be a failure. So what you actually do is you say nah, that would be good. All's the best and the best of all possible worlds we will assume. There's an API we have to integrate. It hasn't been written yet but the people are really good. They'll have it ready for us in a couple of months. Don't go with that, that's not. Assume the API is going to be a disaster. Don't start work until you've got the API but don't set off saying it'll be fine, we'll kick that can down the road and pick up later. Do have a risk register. Do take this really seriously. So my experience of risk registers and I guess everybody knows what they are. You identify a risk and you score it and you work out a mitigation and everybody does it really kind of dutifully at the beginning but what I've noticed is that mostly then it goes in the drawer. It doesn't come back out. The scores kind of don't actually really mean anything. Nobody revisits it. Really weirdly the development team very rarely, the management do this so they sit in a room and they we're doing the risk register because that's what you ought to be doing but the developers don't say I've just spotted an enormous risk get it on the risk register make sure people look at it. Think about having a pre-mortem at the beginning. If you're finding it hard to say I spoke to the Scottish guy and he said it's a really good idea to think about all the worst things that can happen. So I just borrowed this slide but the idea is right at the beginning if people, if you use a generic risk register everyone will just tend to ignore the risk register, we have to do that but they'll ignore it. They'll make them build it by thinking about everything that will go wrong and you do that together with them. Possibility is that you could have shared risk register that you work through together. Ask yourselves are we reviewing this? Who's actually reviewing it? What's the escalation process? If you don't have one there's no point in having the risk register. So when a developer points out that the API that they've been given is on purpose, who does he go to and what happens? Do we stop the project? Do we put more resources on it? If you've set off and you haven't asked these questions the client will just assume you'll just work harder and fix it for them. If we've actually addressed these things and as it were, rubbed our client's nose in the realities of doing this and they've still got us in the same room what we're now having is a conversation. By the way the client might not have you in the same room. Good. Walk. Don't stay. If they don't want to hear about your world and they want to make their assumptions about how your world is, just leave. There are other places to get money go find another client. But if they are having a conversation even better we're now managing the conversation and that's absolutely critical for how you're going to get an effective project. You have to manage it. You're the expert your clients are not. You are the authority. You've established authority and you've got to hold on to that authority. So this is you. The client is it just shows one line here but actually you should probably have about ten of them arranged around to represent all the stakeholders and it's your job to keep them on that stool at all times. The thing about this is though you've got to maintain the conversation. We've established a conversation. You can have to maintain this conversation because what's going to happen if that guy turns his head away for a minute the line is going to happen. You've got to maintain the conversation all the time. Even if you've explained all the things that I've explained and the client has grasped some of them the minute you're out the door their grasping will start to just fade away and they'll go back to thinking what they thought before. Ah, it sounds easy. My son can do it. You've got to keep going back to that conversation and saying going back to that risk register and saying what are we doing about this? Has it happened? And if you've already established that when two or three risks if you suppose you're using a metric of five for possibility and five for impact and when you've got a risk score of 15 the project stops you've already established it. The client won't like it. But if you hadn't mentioned it and you then halfway down the line towards launch hit a point where the project has to stop you're stuffed. They're just going to think you're incompetent. Ah, just that picture of the line came from what I found was a really interesting blog actually about the businesses supporting difficult customers essentially explaining it's worth a read which is why I threw it in. Ah, so go back to my point before just because you told them doesn't mean they heard the worst thing you can do is assume well I sent them an email ah, no emails are not the way emails are a reasonable backstop communication. But the purpose of emails is basically so that if you end up in court heaven forbid you've actually got some kind of evidence trail that you're maintaining but as a means of actually communicating a difficult truth to somebody they're utterly useless. Go see them. So that's the conversation with the client. The client is now carefully perched on the stool. I'm standing wearing my ah, line tamer outfit feeling very smug. Now, I've got to start another conversation. So the another conversation I'm going to be having is with the team at Dulele Development. Ah, I've sold it to the customer I'm managing the conversation I'm looking around so they don't drift off when I'm not looking at them but I've kind of gotten where I need them to be. Now what am I going to do about the people I'm working with? In theory they're also like a team of well-hawned lions all working together to move in the right direction. Ha ha. Actually, unless I have an internal contract with the people who are going to deliver the project this is not how it's going to be. So when I've got no internal contract with people I've no real chance of getting a result. What I mean by an internal contract is that we have to make a contract for what we will deliver for our customer. When you first start working on a project, customers aren't interested in things like timing materials and this is how we work and it's a geometry they want a result. We have to figure out what's the best possible result we can get for them and deliver them and that's our internal contract and we have to keep a hold of that internal contract all the time and always go back to it and check are we in line for delivering it because really the contract is what it is the sales people actually sold to the customer. So you've got one contract there what the customer thinks they bought and the other contract what production they're making getting production to do this. So things that go wrong in the internal contract well, no shared ownership. Dev says design got it completely screwed both say sales got it completely screwed the UX people say that the graphic designs haven't got it everybody thinks the front enders are clueless this is how this goes the dev team thinks that we're working on timing materials the client doesn't the client thinks we're working on a result so what happens everybody starts chucking it over the fence so sales there you go this is what we're having over to design design look at this another piece of rubbish there you go make that developers look at and say for God's sake really seriously expect me ok I'll make it I can make that I can make that I can make anything it's rubbish so now the conversation is their fault we're all basically blame each other so here we are our happy team at Jalali development basically in a mess and all saying when confronted it's not my problem mate so when the team are confronted we go to design and we say the customer said it doesn't look right on IE on a tablet and design ourselves yeah and then you go to the development team and say we've forgotten about the micro sites and that's the response and then we go to the back end back end developers and say you got to do it and this is the response so everybody's fighting each other basically because we don't have an internal contract we've wrangled our customer into the right place but we haven't coalesced ourselves the point I want to make to people and this is you know is pure opinion frankly but I'm right is it's you should always be thinking that it's our fault if you're thinking it's their fault frankly about anything in life but certainly web development this isn't going to fix anything if you're thinking it's our fault there's a chance we're not going to fix it so quote from extremely wise person if you blame yourself you learn something from it you don't blame learn anything from blaming other people it's not it's not your problem you should always be thinking what did we do wrong how did we get this wrong and then maybe there'll be some chance in the next project it won't be so bad but uh Joe Stromer and I'm hoping I haven't depressed you too much because now we're done so that's it does anybody have any questions want a counselling telephone number you said yeah well I think the one I mentioned for example of the I mean frankly you could find the loads of them if you're doing Drupal development but the one I mentioned about groups is a really good one another one that I've seen time and time again is around language where people ask for commerce for example and you do Drupal commerce and all the language is very based around American model and people really struggle with that and actually explaining to them weirdly it looks like it ought to be to just change that tab but to be honest it isn't so I think but you could find it in almost any situation where you're putting together I know a module that I can kind of make do that it's not quite the right use case but I can sort of make we can kind of bend it and make it happen so I think anything like that and if you basically then could give them the times and say but the box means it's that and you can have that and it will cost you two hours of time changing it to this will take a week so let's say you're working on £500 for the day for the sake of argument I could give you this for £250 or you can have that for £2,500 that would be the kind of example I think that would help people very quickly but the thing is such that those modules need a lot of tweaking and prepping and whatever your rate of progress can fall through the floor in other words if you design what's easy you can end up with a nice design and it works really quickly and it ends up happening really quickly if you do it the other way around if you come up with the design that can have a really adverse effect absolutely but that I think is that conversation what is it we're building here and really explaining it to people and giving them examples and showing them that if you're those are just two different things the site that's kind of banged together with functionality in mind is one thing and there will be situations where that's absolutely fine because you can get hung up perfect on every form factor maybe it really doesn't matter but I think you have to make sure that what you're building is fit for what the business requirement the client has and not to as I have done in the past when working for Delali Development I have occasionally missed all Drupal by claiming it's really quick and easy to do stuff you've got to be careful about writing good sales proposal where you very carefully put caveats and explain these points kind of like the small print so at least you get some point to go back when they say I thought we said you can say no that's not actually what we said I gave and also be ready to give not that people read documents but give them to them anyway so on these various points that I've made actually write a document that explains it because you'll be able to reuse it and then at least if they say oh there it is oh yes we did people's capacity to deny what they've been told is almost limitless so it won't get you out of every hole but it will reduce the risk a bit yeah the stuff in it is from a particular age but the knowledge, the intention is ageless because it's not about people so what was that called again the Mythical Man Month originally written in 1960s it was an update in the 90s but as I said the technology side of it doesn't matter because it's the important victory yeah I'm interested to know where it would process but you can't fix with trying to sell and trying to get a contract when you've got competition yeah okay so the way I think this would work is and it's not easy is the in the sales process what I was saying over there is put some stuff in there that gives you get-out clauses get your most miserable developer to read your sales proposal before it goes in and put yellow lines through all the bits and that'll be hard make sure that you do get somebody else to check it so that at least you put some caveats in there and riders, the small print then when you get in, you've made the sale because you've just I mean making a sale is usually by connecting with people but you've got to then be fairly upfront is you put together a guess at what it is you think you need and I wrote a guess about how we think we might do it and I used to be really open about that at the beginning and say now let's get real now in terms of how you would set it up you would have to prepare that so go on site before doing the full onboarding session to say this is our method but I think you'll find that actually saying we taking a risk-based approach with any serious client they should buy into that no, so you go at first you prep it and you say we take the stuff seriously and you set up sessions you probably don't do what I've just done as the first session on the first day you're all together do it as the second session do the first session where you're actually saying so what is it we're going to build then and then but do drop into this stuff it's so easy to kind of let it go at the beginning because you're all friendly and happy and they're really relieved they've appointed somebody but the point I've meant there is at the point when you've been appointed that's to your point of maximum power because they don't want to go away and go somebody else so at that point you've got authority and everything you can do there will either reinforce it or dissipate it so right then you can be fairly blunt well, if you can one thing I'd say is I think the biggest mistake can be to just keep trundling on so if you feel you can find somewhere in the find a find a point of contact at your customer's end where you actually go to them and say we're in trouble here and actually just kind of put your hand up because one of the other things that kind of characterises most people is if you throw yourselves down vulnerable most people are actually going to be they don't respond aggressively at that point if you try to deny it and say you're in trouble you might be in trouble it's going to make it worth so I'd actually say your professional judgement says look, we've hit risks that are going to block your project and my job as your supplier to go and try and tell you I think that's what I'd say but I know there are times when you're working with impossible clients and at that time the other thing I'd say is sometimes just grate your teeth and push on through we'll screw up but that's what you can do nice, yeah absolutely, yeah you've expressed what I was mumbling about much more eloquently there and I think we're done on time okay, well thanks very much for that so we encourage everyone to go to the social night tonight at around 5 o'clock it's their location it's their bathroom and it's where we make them so yeah, because of the sponsor by Thunder so we have a £1,000 amount of tax so feel free to go and bring it in did anyone get that over there? there's a social night tonight there's £1,000 behind the bar and Thunder are the sponsors that's the top you make okay, we're done, thanks absolutely, yeah hi Phil hi hello hi hi hi hi hi hi hi hi hi hi hi hi hi yeah, I'm sure we'll be sharing it somemaya much looking forward to the recording I think so I probably am But I don't think I said anything too abusive about it, but an actual plus for me. That's fine. I don't want to mention their customers. I did once to dribble top in the camp, and they were videoing it, and I had to contact them the next day and said, Do not publish that video. Yes. The mythical man up to buy an ex IBM guy. He's really well, he was fairly high up in IBM at the time. He was a project manager and of course in the 60s and 70s it was a time when people were just discovering how can be out of stuff, but he was in charge of some really, really big projects. And noticed that adding people to the mix didn't help. So it was, you know, because some people have the idea, well, you know, if I've got three devs doing stuff and I need it to happen twice as quick, I need six devs and that's fine. It doesn't work. That's restating off. Essentially that's restating of the thing that this guy came up with. So anyway, it's a good book. But as I said, it's all about people. It's not the tech, and you can't fix the problems with tech. Which is such a problem for an industry. So it's a good book. It has a sense of any mix. So it's written by IBM. It's written by IBM. It's played a 10-20-20-20-20-20. Essentially what this is, I think it's my book. It's about the integration of the techs. And it's aimed at things that are mainly about the memory. I've taken some stuff from it. I've joined the intention document. So we'll make sure what the intention is going to say. That's also a really, really big thing. It's an amazing book.