We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Power to the people!

00:00

Formal Metadata

Title
Power to the people!
Title of Series
Number of Parts
96
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
It's all about the people, right? This talk is based on a mindset that puts people in the center, not in words or manifests, but in how you actually work. This is about people over process, people over standards, people over bureaucracy, basically people over anything else. We'll look at why breaking all the corporate rules might be a good thing, we will see what happens if you stop defining roles, how your responsibilities dictates your mindset, how standardization kills both innovation and exploration and we will also dig into what happens when you stop trying to make people follow your plan.
Power (physics)Rule of inferenceProcess (computing)ArchitectureKeyboard shortcutSelf-organizationProjective planeParameter (computer programming)Rule of inferenceMereologyDifferent (Kate Ryan album)Process (computing)SoftwareInformation technology consultingFormal grammarMultiplication signProduct (business)Software testingKeyboard shortcutUtility softwareComputer clusterBitComputer architecturePower (physics)Universe (mathematics)Local ringSystem callUMLComputer animation
ArchitecturePlastikkarteDatabaseAbstractionPhysical systemDiagramEuclidean vectorSoftware frameworkDirection (geometry)Keyboard shortcutRule of inferenceForceProcess (computing)Focus (optics)Stagnation pointComputer architectureStandard deviationMultiplication signWordDirection (geometry)Rule of inferenceForcing (mathematics)TwitterStagnation pointProjective planeKeyboard shortcutSelf-organizationSlide ruleFormal grammarProcess (computing)Focus (optics)CausalityFacebookProcedural programmingForm (programming)SineRight angleOptical disc driveWhiteboardAreaNegative numberGoodness of fitComputer animation
Projective planeGodSource codeJSONXMLComputer animation
GodGame theorySystem callContext awarenessExploit (computer security)Computer animationJSON
SoftwareSoftware frameworkProduct (business)Direction (geometry)Mathematical optimizationElement (mathematics)Function (mathematics)Random numberExploit (computer security)Strategy gameIterationLengthWhiteboardMathematical optimizationBlack boxAlgorithmGoodness of fitFunction (mathematics)Graph (mathematics)MereologyMathematicsNumberPoint (geometry)Exploit (computer security)EvoluteStrategy gameNatural languageUniverse (mathematics)outputTheory of relativityExterior algebraLengthIterationTerm (mathematics)MeasurementArithmetic progressionMultiplication signResultantWhiteboard2 (number)Instance (computer science)AreaFitness functionPerformance appraisalStability theoryOffice suiteProjective planeSet (mathematics)Drag (physics)Selectivity (electronic)BitSelf-organizationSoftwareStagnation pointOnline helpElement (mathematics)Standard deviationWater vaporSystem callTwitterComputer animation
Mathematical optimizationLocal ringContrast (vision)Neighbourhood (graph theory)Function (mathematics)Strategy gameMaxima and minimaMathematical optimizationMaxima and minimaBlack boxRandomizationMathematicsStrategy gameOptimization problemBitSet (mathematics)Neighbourhood (graph theory)Arithmetic meanData structureMoment (mathematics)Uniformer RaumSelectivity (electronic)Exploit (computer security)Point (geometry)JSONComputer animationDiagram
Function (mathematics)Game theoryExploit (computer security)Multiplication signGame theoryStrategy gameAlgorithmMereologyTwitterExploit (computer security)Computer animation
Self-organizationPrice indexGroup actionElectronic mailing listView (database)Computer animationXML
Self-organizationStandard deviationProcess (computing)Information securitySoftware developerProduct (business)ForceSoftwareCodeKeyboard shortcutHazard (2005 film)Axiom of choiceArchitectureSelf-organizationFigurate numberProcess (computing)View (database)Software developerInformation securityChecklistProduct (business)Goodness of fitDecision theoryKeyboard shortcutMultiplication signSoftwareSoftware bugLevel (video gaming)Standard deviationAxiom of choiceComputer architectureHazard (2005 film)BitOrder (biology)WordSource codeForm (programming)Computer animation
Self-organizationRule of inferenceMathematicsSelf-organizationRule of inferencePerspective (visual)Software developerGroup actionProcess (computing)Level (video gaming)Key (cryptography)Vector potentialDependent and independent variablesSoftware industryProjective planeStandard deviationExpert systemData conversionComputer animationXMLUML
Greatest elementProcess (computing)Self-organizationElectric currentPhysical systemCommitment scheme2 (number)Greatest elementGoodness of fitSelf-organizationProjective planePhysical systemDot productPoint (geometry)Vector potentialRevision controlMathematicsSlide ruleCommitment schemeStrategy gameMassRule of inferenceArchitectureExterior algebraProcess (computing)Multiplication signFocus (optics)Level (video gaming)Limit (category theory)Lie groupMereologySoftware testingChainInstance (computer science)Moment (mathematics)Computer animation
Rule of inferenceSoftware industryData managementDecision theoryPosition operatorGame theoryArchitectureComputer animation
Process (computing)BuildingVector potentialStandard deviationArchitectureGame theoryForcing (mathematics)Multiplication signMaxima and minimaSelf-organizationProcess (computing)Computer architectureFormal grammarStandard deviationProduct (business)Observational studyDependent and independent variablesRegulator genePower (physics)Rule of inferenceArithmetic meanDecision theoryCellular automatonBitExterior algebraComputer animation
SoftwareTelecommunicationBitPhysical lawRevision controlRule of inferenceProjective planeSoftware developerProcess (computing)Context awarenessDifferent (Kate Ryan album)Order (biology)Physical systemVotingFlow separationWhiteboardSoftware frameworkCausalityTelecommunicationMereologyAreaSoftwareForm (programming)WritingEndliche ModelltheorieDefault (computer science)CodeGroup actionStandard deviationDependent and independent variablesTask (computing)Computer animationXML
Multiplication signRight angleNatural numberVideo gamePoint (geometry)Goodness of fitResultantStrategy gameProcess (computing)Arithmetic meanData managementComputer animation
Transcript: English(auto-generated)
Okay, welcome to this almost last session on the last day at NDC. I am Tore Westhus, I work for Powell now. Today I am going to talk about people. I'm going to talk about all of us.
I've been working in Powell for two years now. Powell is a company that produces software for the utility market mainly. Before I joined Powell, I have been a consultant for about 13 years before that. So most of my experience is actually from the consultancy world.
I've been seeing a lot of organizations and a lot of different things. And today I'm going to talk a little bit around that. Because I, there we are, that's me.
I have kind of always been around in different organizations. Felt a little bit different. When I'm at conferences like this, I kind of feel that people are talking and thinking the same way that I do, but when I get back to the organizations I've been working in, I kind of feel a little bit different.
And there's always been these things that has been kind of nagging me. Or more than that, things that I have felt that has been fundamentally wrong in the way that we actually produce software. The interesting thing about me going from the consultancy world and
into Powell is that for the last two years I've been in an organization that actually has produced software themselves and I've been a part of the organization. I've been able to see more of the organization and I have had a lot more organizational influence. I've gone from having influence in projects to start to see the whole
organization and then have an influence in the organization. And when I started to have that influence, the pieces kind of fell in place. I kind of started to understand that. And that's what I'm going to talk about today. I'm going to talk about how I see the world now, and I'm going to talk about
what I've done to change the things that have been nagging me. But let's start first with how the traditional organization kind of thinks. I'm going to go through that and I'm going to try to argue or give their arguments as to why that's a good idea. And when I'm talking about traditional organizations,
I'm talking about pretty much every organization that I ever saw. So they kind of say that, say you start a project. When you start a project, it kind of makes sense to have some defined corporate rules. It kind of makes sense to have some best practices.
It makes sense to have some defined processes. It makes sense to have a kind of ground architecture, perhaps for the whole organization or at least for the project. It makes sense to have some formalism to bind all this together, right? Doesn't it? Because that's what almost every organization has.
Let's go through these, the arguments for doing this. To have defined corporate rules. Many times in many organizations, as you see things like we use HPE Quality Center because we know it and because we paid for it.
That's a testing tool or more than that. But I've seen that a lot of places and the thing there is knowing something and doing the same thing over and over again kind of makes you efficient or at least that's the argument. And obviously you can't pay hundreds of thousands of kroner or whatever
for every new project to start to buy new products that you're going to use into that project. So I think there's the main reasoning for having those defined corporate rules. Efficiency, saving money and so on and so on. So for every organization I've seen,
I meet quite a lot of these corporate rules. And then I see that we have a lot of defined best practices and defined processes and that's kind of like we do Scrum. That's a thing I've heard a lot of time and in this organization we do Scrum. That's how we run projects.
Okay, fair enough. The argument, I think the argument is this is something that has worked before. And when it's worked before, or you could also say that, but never mind. If it has worked before, you reduce the risk of doing something new
that isn't going to work. You reduce the risk to try to do something that's going to completely fail. This has worked before, so let's do it again. You don't have to reinvent the wheel. You don't have to discover Scrum all over again because here's the defined Scrum that we do in every project in this organization.
And again, if you do the same thing over and over and over and over again, at least they seem to think that you get more efficient by doing that. And again, with the architecture, the grand architecture, things like this, you don't have to read it, it's just an example.
I often see in many organizations you have a grand architecture for the whole organization, which is kind of built on best practices. It's defined by some senior, very smart person that obviously read some kind of book that has to be a very good book, right?
You've seen this before. The reason for this, I think the reasoning for this is that you want to reduce, you fear that people are running in every direction if you don't define this architect. This is the way you're going to work or else you're going to run in every direction and make a lot of mess, right?
And again, it reduces the risk of doing something new that probably won't work. We've done this before. And you save some time by you don't have to do all these democratic architectural discussions within every project. And last, in the traditional organization
it kind of makes sense to have some formalism to bind all this together. The way I like to say that you have to have a way to force people to follow all these rules that you have
by using deadlines, documents, processes and so on and so on. Okay, we've all seen this. Now, let's start over there. In a traditional organization it kind of makes sense to have all these defined corporate rules, best practices
defined processes and architecture and some formalism to bind it together. Now, doesn't it? The thing is, to me it doesn't at all. It makes no sense whatsoever because I'm going to try to sum up the things on one slide now. This is how I interpret
the best way I can and I really try to be positive. This is how I interpret the idea behind this. We're using standardization to make people efficient. We use it to avoid failures we want to do things that have worked before, we don't want to fail by doing something new
and we do it to avoid mistakes we want to kind of tell you do this, don't do that because that's a mistake. The other thing we have here is that you want to force this kind of a negative word you want to make people actually doing it and this is the way
I think this is the reasoning behind that traditional focus and I think almost all organizations are doing this one way or the other and believes in this implicitly or explicitly The thing with this slide is that there are only two words on this slide that I really like
and that's people and it's efficient I really like people and I really like efficiency I really want to be a very very productive person so that's a good thing Now for the other words on this slide, standardization I don't like
that word at all because when you really the intention of standardization is trying to make people efficient The problem is I think it makes people a lot more inefficient because firstly doing the same thing over and over
and over and over and over and over and over again works very good the second and the third time then you get more efficient but when you have done it a hundred times you get really really bored you start doing mistakes and you start checking Twitter and Facebook instead of actually doing your work so that doesn't make you efficient
The other thing is with standardizing everything is that you kind of try to take one solution and fit it into every problem standard architecture standard processes the thing is that there's a lot of bloat there's a lot of ceremony there's a lot of procedure there
that you really shouldn't have to do but you have to do it because it's a standard so I think this makes you kind of inefficient the other thing is that standardization causes stagnation I'll get back to this if you standardize something you fix it
and say this is how we're going to do it forever and that's a big problem I'll get back to that another thing in this slide is we try to avoid anything we try to avoid mistakes it's very defensive what I want to do with my team is that I want to make them achieve something and I really want them
to achieve something big so I don't want to talk about all the things we're not supposed to do I want people to really achieve something I try to be more offensive aiming for the outstanding solution not just avoiding things
and then the first two words put together is obviously force people I think it's pretty obvious you won't get the best out of people by forcing them you can't force people to brilliance it's that simple ok
so I've always been asking myself I don't like this and I've always been asking myself why not why not just stop doing this why don't we just stop doing this my problem before has been that I haven't had that influence
that I needed to stop doing this because this is an organizational thing this is not a project thing the thing now when I started in Powell I started to get that organizational influence and the thing in my department the thing we did there was that we actually just
started to change this because now I could and I'm going to talk about that today first I want to say don't be afraid because when I discuss this with people they fear all these things oh my god what's going to happen now aren't you going to do any of these things
I said no and don't be afraid I'm going to tell you today I'm going to tell you why it's going to work I'll tell you how I see the world and I'll tell you what I did and how I made it work ok let's start with the first thing
how I see the world I have I'll run you through three concepts that I think are very important to kind of put this in a context the first concept I'll call
search and exploit this is about discovery optimization doing something better finding something better improving because I think everybody in this day and age can agree that stagnation is kind of the killer
stagnation is the thing that we don't want everybody all the time is talking about how the world is changing how the competition is moving how technology is evolving and so on and so on and then I talk about the Kodak example for instance like the biggest company in the world when it came to a camera
to manual film that suddenly went bankrupt and nobody really could understand how that could happen because Kodak was kind of the only thing in that market what actually happened was that kind of an irony they invented the digital camera and they thought that well this is not the part
this doesn't fit into the way we make money so let's forget about it and then obviously someone else picked it up and did the digital camera and disrupted them out of business kind of the biggest company not the biggest company but within that area it was a big big thing and
it's gone and that's stagnation and I think everybody agrees stagnation we don't want so but if everybody agrees to this then there's a problem if you don't agree to my me being negative towards standardization because the thing with standardization
standardizing things is that it's aiming at stability it's aiming at stagnation it's not aiming at change if you standardize something you stagnate something you don't change it it's much harder to change
that makes it so much easier to be the next Kodak so optimize for change I hear it all the time or at least I heard it all the time at least in the agile decade we talked about optimizing for change and when we talked about optimizing
for change everybody was nodding as a yes this is great yeah we're doing this but the thing is you can sit in a conference and nod to the fact that we should optimize for change we're really low change but what I often experience was when I get back to the office
on Monday no one was changing anything because it's easy to agree to that we really we don't want to stagnate we really want to stagnate the thing is if you won't change something will actually have to change
something will have to change you can't just agree to it and not change anything you have to change something so what's that something what to actually change everything I think it's just a matter of
creativity you can change anything and everything should be up for evaluation we're talking about how we write software how we run projects how we innovate and so on and so on everything the organization does should be changeable easily
it's very easy to nod and say yeah we really like change but changing these things isn't that easy it's actually very painful but if you don't want to stagnate you have to change something
okay so we're talking about change it's kind I think it's inaccurate to talk about change actually because change change something the thing areas we're really talking about improvement we're talking about trying something else to see
if it's better and that's actually if you look in mathematical terms that's actually optimization so now I'm going to talk a little bit about optimization mathematical optimization I won't drag you into the details but this is very relevant
actually how you optimize something now mathematical optimization is according to Wikipedia it's a selection of a best element with regard to some criteria from some set of available alternatives and it's the last day of the conference and it's 3 o'clock so
I'll help you out there I'll with an example I'll show you what this really means back here it's the selection of a best element with regard to some criteria let's have an example criteria we're having a black box here we're putting something in and we're getting a number out the criteria
for being a best element is to be the highest number that you get out of this box and from some set of available alternatives available inputs so let's say that you into this black box you can put a number between minus point five and five point five
and they're not related they are related but you don't know the relation that's how the real world works when we're not into mathematics you have a number between minus point five and five point five put it into a black box and get out another number and here's
back the black thing there it's a graph actually but we don't know it so this is quite inspired by for me at least it's very inspired by genetic algorithms which is also talking about optimizing I I toyed a lot around with that when I was at the university some 20 years ago
if you haven't looked into genetic algorithms it's really a really cool search strategy which mimics evolution but I won't go into it here the thing is that you don't really know you don't really know what's behind there so you kind of have to figure out a very good alternative by
doing something and I'll explain in genetic algorithms terms how we do that the first thing I have to do now in this black box is I have to start guessing I'll guess three numbers I'll start with putting minus point five and I'll get that result
which I have no idea if that's good or bad because I can't compare it to anything the second is three point 75 which seems slightly better still I don't know if that's good the third number I'll put in is four point 75 which at least scores above zero and seems to score a lot better than the two others
now I'm going to try to find the highest output here and four point 75 seems the highest so far but I don't know there's a lot of numbers I could put in I can't put in an unlimited, I don't have an unlimited amount to try so I have to
apply a strategy to find it and then now I can use a strategy called exploit also a term from genetic algorithms to exploit is to actually use something that you know already I know that four point 75
gives a better result than the two others that's not much knowledge but I know something and try to exploit that knowledge so what I'll do now is to take two numbers just below and then just above and see if it gets better or worse four point six gets worse four point eight now we have a better number
I'll try to exploit again guess more four point nine seems even better and I'll try the strategy another time and then I get five point one still four point nine is the best number and you kind of see that there's something you can kind of see that there's probably a graph there so I think I hit the high
point so four point nine using exploitation I've got the number four point nine it seems okay now I've optimized something so that's a good strategy for improvement as well is to exploit you take something that works and you tweak it to improve it this is like in the old
scrum days when we all did scrum scrum it kind of worked well we did what you were supposed to do and what was the fun part of scrum was that you could actually tweak it that was the point so we tweaked it we tweaked the length of iterations we tweaked ways to measure progress columns on the board
and everything so back in the old days we took scrum it worked but we tweaked we exploited the knowledge that it works to make it even better and that's a very good strategy for improvement but in this mathematical optimization problem here
there's another problem there's a big problem and that problem is called local optimum a local optimum of an optimization problem is a solution that is optimal within a neighboring set of
candidate solutions which is opposite to a global optimum which is the optimal solution among all possible solutions not just in a particular neighborhood of values now what does that mean let's look at this again this black box in the real world when it's not just pure
mathematics we don't really know what what it really looks like but I'll show you I'll show you what it looks like it looks like this now we have found quite a good solution with 4.9 there the problem is that that's a local optimum that's a different definition of a local optimum
because the global optimum is there and if we had guessed that one that would be much better the thing with the exploit strategy it's very good at finding local optimums but it stinks at finding the global optimums
so just tweaking makes things a bit better that you probably won't find the much better solution to find that you have to apply the other strategies that's kind of random search you're not exploiting anything you're just randomly searching you're just guessing something no
that didn't work no that didn't work no that didn't work but hey there's something that works again and now I have new knowledge and then I can start exploiting again here's something better and then I can go up to the global maximum so that's the other strategy for improvement it's search to find
the global maximum you have to search somewhere completely different the thing is this was kind of mathematics but this applies to our world as well because the thing is think about this
if you're using Scrum or whatever that's where you are today I can absolutely guarantee you that there is something else that is better there will always be something else
that's better the problem is you haven't found it yet because you've been tweaking this Scrum thing and that worked and this goes for everything there's always something better somewhere completely different
and the thing with this is that this is where you find the great leaps forward this is where you find the disruptive stuff this is where you find the game changers there's somewhere completely different and again obviously
your competitors are searching, the question is are you, are you stagnating or are you searching for the global optimum or for the better local optimum or are you just stuck hopefully at least tweaking but are you just stuck in that local optimum kind of getting nowhere
ok, I've described kind of three strategies for improvement the first was just to standardize everything which we kind of agreed I think that wasn't well it's a strategy for improvement if you don't want to improve anything but you're not improving anything if you're not doing different things, so
there are two you exploit you improve working solutions and you search you find new completely different solutions the thing with this is this you should be doing all the time if you look at genetic algorithms they say the search part here they call
mutation you can't do that all the time because then you're just randomly searching all the time when you know something you should exploit it obviously you get further higher higher further faster the thing is exploiting improving the things you actually do
tweaking you should do all the time all the time you should tweak tweak tweak tweak and searching doing something completely different you should do I would say you should do it regularly and you not just oh wow I don't have to do that very often
yes you do have to do it often not all the time but you have to do it often or else someone else will find it before you ok that was search and exploit the second concept I want to talk about is what I call idiot or
capable now think about this do you view the people you work with within your team your group department crew whatever you call it do you view them as idiots or as capable people that's actually
a very good question I think the question is do you really really trust your people to be able to achieve something very very important all on their own because I don't think anybody really wants to admit that well my people they're kind of idiots but
but the thing is it doesn't really matter what you think the organization you work for reveals how your organization views your people the people working in it the organization behaves in different ways and that
kind of reveals how they view the people that works within that organization I'll go through a list of indications that your organization thinks that your people are idiots so if you can answer yes to some of these questions your organization probably
views your people as idiots do you use standard process like Scrum not only because you believe in standardizing which you really shouldn't believe in but also because you fear they won't figure out a good way to organize themselves are they
that stupid can't they figure that out do you use security checklists not only as a good reminder for everyone because it is I like security checklists because there's a lot of things to be reminded of but not only as a good reminder but you also use
them because you fear people don't care enough about security and you kind of feel you have to force them to care are they a bit stupid do you force your products into a step wide staging step wide staging
process because you know your developers are producing bugs everybody's human but they also have a little interest in catching them I've heard that one before are they stupid do you
dictate how your developers should test their software because otherwise they will take shortcuts because they love to code but cares nothing about quality I've heard that one before do you think they're idiots do you refuse your developers to deploy themselves
into production because they represent a security hazard or and they will take very dangerous shortcuts in there I've heard that one a lot of times do you think they're idiots
now do you have some kind of dedicated architect to decide the architecture including the technology choices because you don't dare to trust your people to make all the choices themselves because developers generally make bad tech decisions based on buzzwords
not actual needs I've heard that one before are they idiots those people you're working with okay do you have committees for things like security deployment and process that generates best practices for everyone to follow because you believe that the
committee actually knows what's best for your people and your people don't and even if they did they wouldn't have the initiative to do anything about it on their own are your people idiots
no? why do you treat them like it if you answered yes to some of these questions you're kind of treating your people like idiots the thing is I don't think the question I asked I don't think that if your people
are idiots or capable I don't think that's the right question I think the right question is if your organization produces idiots or capable people because let me tell you about the idiot fabric I think
I strongly believe that the organization influences how people think feel act and work now in this kind of traditional way of organizing things put yourself into the people perspective of things there is like this
in our organization where everything is already defined by someone else because I'm not good enough to be asked because backed up by rigid often senseless rules restricting my creativity and ability it's supervised by experts
which I am obviously not because otherwise I will not do what they tell me to this is the other side of that traditional standardization organization and I perfectly understand why people within these
organizations behave like idiots I don't think they are idiots but where's the motivation in working like this if if you don't trust me at all I will not take any responsibility either I will act like an
idiot so I don't think they are idiots I think they kind of simulate that actions of idiots because they work in the organization they do so what I want you to start doing if you work within such organization
which you probably do because that's what most of the organizations that I've ever been in kind of look like you have to kind of start to change the organization you have to rig the organization to reflect the fact that you actually believe that your people can be capable
you have to start building the capable people and that's why I was talking about this is not on the project level this is on the organizational level because if you think about it if you think about this I really believe that
it's more rewarding and fun for every person close to every person in the world to do a good job than to do a bad job that's kind of obvious we want it's more rewarding to do a good job so if you give
people a chance to do a good job they will I think that's pretty obvious now another obvious thing is people react positive to positive influences and negative to negative influences how you treat your people within the organization kind of creates
the response from them so I believe that trusted people are capable people so you have to start building capable people now there's been a lot of research into this and participation
in my workday seems to be the key to building the capable people being able to influence how I work and being able to create something to be creative we work in the software industry and
developers like many of the people that you work with are probably developers and I've been a developer for many many years myself and the thing that you have to understand that developers although they you're very introvert and some a lot of us look kind of strange I mean do strange
things but the thing is we're very creative so let us be let us be creative give us an opportunity and that is what brings motivation and potential and this is what brings makes capable people okay
that was the second concept the idiot or capable the third concept I want to talk about is what I call may the best idea win okay there are two ways there are probably a million ways
but there are basically two ways to discover new things which we kind of agreed at least I agreed on stage that change is a good thing so we have to discover new things and so on and so on there are two ways how I see it it's the top down way
or the bottom up way now let me show this through an example the example is that your how your organization discovers say that's an example many organizations already
use it you probably should discover it because it's a good thing but that's beside the point that's not the point at all there it is a source control system but that's not the point either but how you discover new things and change something in organization there are two ways to do this and then that's it first it's the top down way to do it
the traditional focus the hierarchical way to do it in these kinds of traditional organizations which most organizations are the way to discover get or new things is that a key person like some committee member or chief architect
or whoever important he has to hear about it and learn the basics of it he has to see the potential of it and like it and he has to suggest a change towards using it now in these traditional organizations that's fine then we have a
very smart person that has discovered it but the problem is that if we're going to use it that kind of has to be a corporate rule so you can't just start using it we have to investigate so now that this key person has liked it he found it and he liked it and he tested it and he even suggested a change toward it then we have
to investigate if and how Git fits in our organization good now we have to consider every problem that could ever be encountered because we're going to use it forever and it will have massive consequences because everyone is changing everything and what we did before that we did over and over
and over and over again and we were so efficient in we won't do any more so we really have to look into what this is going to do with our organization we have to consider the tooling we have to consider the process what tools people should use how they should work
with it this investigation is also very often done by some specialists and it's actually also often done in quite a theoretical fashion we have to sit down and think about this okay
now the days or the month are running but now we've found out okay this looks interesting and then we need a pilot project then we choose a project that has to test it a couple of months more is running along and if everything goes well then you can
start using it this is more or less how it works with these kind of changes this takes a lot of time and it's just key persons often that
discovers these things let's look at the alternative which is the may the best idea win the bottom up way to discover new things someone anyone in the organization
hears about and sees the potential this person tells his teammates shows it and argues for it and says look at this new thing I've just tried it last night this is fantastic I read about it I saw it on the conference we should do this
and then the team says yeah cool we like that let's just do it right here right now on this project so we do that if it's a success the team is going to start to
talk about it within the organization and others will pick it up it's kind of like some organic growth thing because this is a good idea and people will pick that up yeah that was a good idea I can see that we'll try it as well if it was a failure this is just
one probably small project perhaps you can just turn back to the previous system many people think this sounds like scary stuff but honestly it's not things are not as hard as you
want them to be to be honest it's not that hard to turn back change source control system in one project it's not that hard ok let's compare them top down versus bottom up let's look at the discovery how much discovery
you're doing you're going from having a few key people in the top down strategy that actually can discover the new things to everyone everyone can suggest anything and if your team likes it sure just do it
so you're kind of getting a lot more suggestions you remember the dots on the search when you searched that's a lot of people dotting around being good ideas perhaps then we have to test it ok the commitment thing what I said about kind of treating people like idiots
you go from having no influence almost whatsoever in these traditional organizations you could tell the chief architect listen here I heard about GIT and he can just say fair enough I'll think about it I'll go a couple of months and
you go ask him again do anything about it no from no influence to may the best idea win come on try it if it's a very good idea better than the other ideas we have we'll do it if someone has better ideas
we'll do that instead you influence and how fast are we doing these things the discovery you go from the first slide there it takes months to discover anything to just trying it out
discussing it, doing it organically ok let me tell you where we started as I said I work for
a software company about a year ago I became the technical manager for a department and when I said technical manager I think the people that gave me that
position as well as probably everybody else kinda perceived me as the chief architect, decision maker I'll make all the rules thing but what I did with all this in mind it's true what I did a year ago when I got the role I like to say I have only decided one thing
I have only decided that there are no rules I don't decide anything we decide ourselves and that's we as in the people it's not we as in I for my department we decide everything ourselves
and this doesn't mean because that probably sounds a bit weird even because it's my full responsibility I have full responsibility for every technical thing that happens in that department and I'm just saying you decide yourself that sounds stupid
for most people but the thing is I'm fully aware that I'm fully responsible but my problem is problem or not I believe in people I know that alternative is not gonna work if my department is gonna achieve something better than a minimum
I have to do this because if I believe in what I have just spent half an hour talking about I have to give them that power I can't have that myself that's the thing so I don't do this to be a nice guy
but I do this because I believe this is the only way they can work miracles this is the only way we can actually achieve something bigger than a minimum that's why I gave them all the power and it's kinda obvious
I see that I believe in people I believe they can change the world but I know I cannot force people to do things rules and regulations and process doesn't really change anything it just stagnates things it stops things it makes people achieve a minimum
it makes people idiots and that's the thing I have to believe in the people I want to achieve something so I can't decide everything myself I really can't decide anything apart from this they have to do it
ok remember talked about building capable people where participation is the key I work in I think we are 400 people in power I work in quite a large organization when I started I said this
there are no predefined standards you don't have to listen to look at any standards that you ever saw there are no predefined practices there are no predefined processes there are no predefined architecture and there are no predefined formalism the team decides if someone else
in the organization tells you that there are rules you have to listen to tell them to talk to me that's my job because they are not I won't allow them to screw up this I want to achieve something
think about the discovery all my people are running around freely discovering things I don't have to discover anything what we traditionally do in every organization I was probably the one
that should discover it and consider it but now my team is discovering new things and they are evaluating new things all the time because I am searching for those global maximums I don't just want to stop here because I want to achieve something
ok again people ask me and say and you might be thinking isn't this a bit chaotic what are you doing
what's happening and the thing is it even surprises me a bit the thing is things aren't so complex as we want them to be things aren't that difficult in fact
most things seem quite simple it's it's working one of the biggest problems we have had in this industry probably forever at least I know for the 15 last years that I've been working in it the way I see it is over-engineering
and we developers started to talk about over-engineering on the technical side but we do it everywhere do you think if you have say 3 developers do you think they need a completely defined process
on how to work in order to write code and do something isn't that kind of over-engineering the thing is we're doing things too complex you don't have to do it now what we do we add things when we need them
we don't define all these things beforehand if we see that we start to run around like it is we do something about it but not before and actually the thing here is the thing I discovered the last year it actually seems that you only need
3 things for this to work perfectly for them to just work wonders the first thing you need is you need someone in your team your group that has some experience with actually doing software successfully
you obviously need some experience here somebody has to know how to do software successfully and no one that knows that will tell you well it was successful because we had a defined process that's not a success
but someone has to know that the other thing you really need is those motivated people and that you will get by default by giving them all the responsibility or giving them free hands, run around do what you believe in so a self-organizing and motivated team you need and the third
thing you need if there's more than one person doing this you need communication because that's kind of how you self-regulate you have to communicate a lot we have to talk a lot about this they have to talk between themselves in order to coordinate this the thing is what I'm getting out of this is
I'm getting a lot more innovation on exploration and you have to remember we're not blind these are people with experience preferences context there are
in our team they're not running blindly around doing everything picking randomly from a board doing this, I'm going to take this framework today, no, now I'm going to do this framework, they don't do that they have preferences the thing with the preferences is that it can be easily challenged
and it's no rule there are no rules so they change everything and we adjust if people start to run around I say we I don't adjust we all adjust we reflect, we communicate
we talk to each other this isn't rocket science I know for those of you that hasn't really done this or dared to do this it sounds scary but it's easier than you think and it kind of works
you're getting a lot more out of your people by doing this ok, another advice that I've been talking with my team about a lot is you have to do something different I said that
you remember this graph? the global optimum that I'm really searching for you have to do something different you have to change something and that was kind of the hard part what I do I encourage we're a team
we run quite a lot actually, a smaller project so between projects instead of trying to standardize things between projects because I would be scared if my people are idiots I wouldn't understand anything if we did different things instead of trying to standardize I encourage people
to try and do different things in different projects I really want to find that global optimum I want them to do different things and that's everything from source control systems
task boards frameworks, processes innovation models how we innovate things, everything I encourage them to do different things ok and one last thing
perhaps the most important thing of all is best advice if you have such a team it has to be fun and that's kind of yeah, yeah, yeah right I once worked in a company where I got that
I got that into the company's strategy it has to be fun because it's not just something I say the thing with fun, the thing with having a meaningful job enjoying your work there are two things to that there's the philosophical aspect it's the kind of
what's the point of being alive the thing is in an adult life you spend a third of your time working, a third of it sleeping and a third for the rest of it a third for what many people actually call their lives the thing is
half of your adult life you're at work think about this if you think yourself that it doesn't really matter if it's fun to be at work I kind of feel a bit sorry for you
if you're a manager and thinks the people that work for you shouldn't have fun at work I don't think I like you at all to be honest if you really think that your people should spend half of their adult life not having a good time that's a bad thing
the other side of fun is obviously the motivational side if you really want the things that I'm looking for the amazing results and the amazing new things as I said you really need those highly highly motivated people and to get them
you need participation they need meaning and they need fun so it's not just something I'm saying think about this okay, thank you I've spent my time if you have any questions you can come up to me I'll stick afterwards thanks for listening