Closing Keynote

Video in TIB AV-Portal: Closing Keynote

Formal Metadata

Closing Keynote
Title of Series
CC Attribution - 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 license.
Release Date

Content Metadata

Subject Area
Ferry Corsten Code Variety (linguistics) Multiplication sign Insertion loss Inverse element Number Prime ideal Root Bridging (networking) Term (mathematics) Different (Kate Ryan album) Endliche Modelltheorie Computer architecture Covering space Military base Software developer Projective plane Code Bit Word Process (computing) Algebraic closure Self-organization Quicksort Whiteboard Family Resultant Library (computing)
Building Data management Software Angle Hypermedia Constructor (object-oriented programming) Quicksort Endliche Modelltheorie Fingerprint Theory Computer architecture
Area Point (geometry) Link (knot theory) Multiplication sign Physical law Flow separation Equivalence relation Order of magnitude Information technology consulting Process (computing) Software Different (Kate Ryan album) Operator (mathematics) Telecommunication Computer hardware Codec Quicksort Data structure
Service (economics) Information Code Military base Moment (mathematics) Projective plane 1 (number) Line (geometry) Number Formal language Mathematics Goodness of fit Process (computing) Software Telecommunication Quicksort Data structure Endliche Modelltheorie Computer architecture
Covering space Building Code Direction (geometry) Projective plane Constructor (object-oriented programming) Sound effect Control flow Mereology Software Videoconferencing Representation (politics) Summierbarkeit Game theory Data structure Computer architecture
Email Building Mobile app Software developer Multiplication sign Projective plane Constructor (object-oriented programming) Sheaf (mathematics) Planning Set (mathematics) Software maintenance Cartesian coordinate system Web application Mathematics Software Robotics Different (Kate Ryan album) Phase transition Vertex (graph theory) Right angle Endliche Modelltheorie Data structure Spacetime Vulnerability (computing)
Axiom of choice Programming language Building Code Line (geometry) Shape (magazine) Cartesian coordinate system Word Operating system Energy level Right angle Software framework Data structure Spacetime
Factory (trading post) Boom (sailing) Open set Rule of inference Spacetime
Protein folding Touchscreen Different (Kate Ryan album) Fitness function Staff (military) Quicksort Cartesian coordinate system Spacetime
Building Process (computing) Strategy game Code Multiplication sign Debugger Adaptive behavior Self-organization Data structure Cartesian coordinate system Demoscene Physical system
Programming language Mathematics Order (biology) Operating system Right angle Software framework Arithmetic progression Active contour model Spacetime Compiler
Programming language Mathematics Interior (topology) Code Special unitary group Software framework Cartesian coordinate system Mereology Extension (kinesiology) Spectrum (functional analysis) Spacetime Physical system
Word Different (Kate Ryan album) Software developer Projective plane Line (geometry) Software maintenance
Shortest path problem Existential quantification Group action Code Protein Limit (category theory) Arithmetic mean Energy level Cuboid Right angle Data structure Table (information) Spacetime
Addition Mathematics Process (computing) Software developer Multiplication sign Universe (mathematics) Touch typing Energy level Right angle Mass Flow separation Spacetime
Energy conversion efficiency Telecommunication Software framework Shape (magazine) Spacetime
Building Centralizer and normalizer Interior (topology) Software developer Blog Database Figurate number Rule of inference
Sign (mathematics) Email Software Military base Software developer Multiplication sign Decision theory Bit Mortality rate Window Spacetime
Point (geometry) Broadcast programming Computer file Multiplication sign Decision theory Tape drive 1 (number) Stack (abstract data type) Product (business) Medical imaging Word Cylinder (geometry) Single-precision floating-point format Normal (geometry) Pattern language Right angle Endliche Modelltheorie Videoconferencing Family
Digital photography Multiplication sign Forcing (mathematics) Event horizon Spacetime
Area Type theory Frequency Decision theory Multiplication sign Range (statistics) Right angle Bit Basis <Mathematik> Resultant
Suite (music) Slide rule Blog Rewriting Endliche Modelltheorie
Group action Befehlsprozessor Software Software developer Normal (geometry) Software framework Object (grammar) Number
Addition Word Term (mathematics) Software developer Table (information) Task (computing)
Sign (mathematics) Computer file Code Multiplication sign Consistency Arithmetic progression
Revision control Bit rate Inheritance (object-oriented programming) Blog View (database) Physical law Self-organization Quicksort Machine vision
Word Email Game controller Strategy game Gender Electronic program guide Cuboid Video game Mass Spacetime
Point (geometry) Covering space Building Multiplication sign Plastikkarte Directory service Mereology Rule of inference Flow separation Demoscene Figurate number Window Abstraction
Slide rule Process (computing) Graph (mathematics) Bit rate Direction (geometry) Right angle Code refactoring Mereology Associative property
Vector space Computer file Code State of matter 1 (number) Planning Branch (computer science) Extreme programming Codierung <Programmierung> Spacetime
Military base Software developer Software Code Software framework Videoconferencing RSA (algorithm)
Coma Berenices
and I I I had and we agreed the prime last couple of days and you can stand on that and so on and use further by the what Intel tha I'm always impressed promises is that the linear in his soul inverse micellar people that owns the worry only brother lady have around the plasma organizes few how is limited I have been doing all the provinces and searching the huge variety of the provinces and different ways around and an am come continues to be 1 of the best competence that I've attended and more on that topic alone was like savings them uh for arranging for them my mom to get a pass and see my talk today she has never seen the give talk before it's a OK say about that I finally thank you so much as follows you folks because I will a little bit nervous coming into the in between the I have as lives have been lost in the review rails side of things and so I don't really know what the community has evolved into I did a number of projects in mid 2012 which in every terms there is a long time ago but is there an exit the last couple of days to the loading the library and all the stuff that's happened since then and the way that members changing where it's going and that was it's been really interesting really great and evidence of friendly it's paradise and I do I as they mention the library rails losses in sort and inevitably because the rails bases I do end up doing a resume our jobs for each and like many work our results about the roots i and 1 of the directors of essentially binary cover most of the time on the board of review together we raise money to our fund development work on some our critical infrastructure projects In 2009 founded rails bridge which is uh 1 of the 1st uh workshop oriented efforts to bring more women specifically into me and since then it's and ideas and taken an expanded upon in now we have I closure bridge Stalybridge Elmbridge all kinds of stuff and I recently 7 non-tropical branch-and-reduce being umbrella organization for all those efforts so that if the new technology once you use the bridge model they don't have to the you had a set of nonprofit before they can 1st workshop so excited about I'm on the technical side I see a lot of different could bases a tentative greenfield projects anymore they use for a while instead I can work with existing teams are trying to grow but the finding of the code bases and support the 2nd growth and they wanted to and 1 of the things that's been interesting to me about those is that there's a word that means a lot when you talk about code and that word is architecture for barricada
50 years we have compared software to construction building things and we've been all use architecture media earlier career what we do is
construction we take someone else's designs and we build them but are angle In theory at least some sort of the
individual contributors non manager Pakistani to be architect 1 of the the person who makes the models it's the plants hence the laughter people earlier in their careers to do building the on but there's a problem the company that suffer this way as building something and that is that it doesn't really reflect how it actually works anymore I was super
excited course last year's 2 years several of other speakers reference Fred Brooks's paper after 1987 called no silver bullet essence an accident its operation areas that we link will take you to the pedia I read this paper brought about once a year and I find it more compelling and more relevant to me then the commandments which is the book that he is better known for In the paper says in essence that it is not possible to create a tool or process that makes developing software orders of magnitude faster but there is a irreducible complexity and software that doesn't exist in other areas of engineer judges in hardware where the time he wrote the paper chip speeds were doubling every 18 months and people were looking for the software equivalent to the fact but there is something different about software the from every other sort of engineering and no silver bullet point is 1 of its you ideas in software that have the largest impact on the way that I think about how teams make software and today I want to start off by talking about the other 1 the single most useful thing that I've ever heard about how to make a suffer him but it is called Conway's
Law this that the link will take you to a the paper that started that was written in 1969 it I was also year Cobol your teams communication structure telecommun example but I saw early my consulting we're at the start of plant
they had a small team of 5 engineers uh number 1 year was sort
of nominally in charge tend to broadcast information to the rest seemed have been so small structure was functionally flat their informal lines of communication are also quite good and their architecture was that they had 5 different services written by different languages by the way number 1 was orchestrated but the others sort talked amongst themselves as well and so the kind of literally reproduced toward chart you know when you have a team is all working the same code bases can be harder to see but it's still there and the aha moment for me was realizing that that means that if you see a problem in your code it's reflecting a problem in your communication structure so you have 2 avenues to approach a problem you can make changes to the team little changes to the code base or it may change to the code base before right changes to the scene if for any given issue you can do you do 1 or both depending on which 1 seems more effective and certainly you have to consider both here solutions the central question in my career as then Winder so much advice about making good software fail more often than it succeeds as a model I projects really make clear and some of them went well some didn't seem to be mostly random sometimes the ones of horrible code defined sometimes the ones with good good find sometimes long for good go ahead nothing to do with anything else and so I started to wonder why is it all the advice forget about software design process why certain that seems to matter in some ways the and when I was younger the way they but this was 1 software sex so much as the
days I tend to think about it like this I make project partner makes more software projects successful for how can we make the project we have more successful Harken we make this I could make our practice more effective I'm working being and more diverse more innovative more sustainable in general just better this is is not a 0 sum
game we can have all of these things sounds easy problem but we do have the tools to solve it and just like any other problem involving code we have 2 directions we can come out given Conway's lot right part of the solution here is letting go of our attachment to our architecture building construction metaphor and racing back and what we do is spread between without this fundamentally different last year I didn't talk at break be called the where I suffer which kinds of this question from that team side effects and uh a few days ago as I was working in this talk I realize that this talk is the cure appointment this part comes from it comes out this question from the colored quantity instead my baby talk cover covered things like how should we think about teams of people who write sufferers opposing a teams of people who build a structure or work on an assembly line or crack something in workshop In this talk I will explore what it means to let go of the architecture construction therefore when we're talking about are base representative seen not talking anything on this 1 but if something interesting in check that out later there's a video who believe that the online so creating a building has
3 very defined phase such the planning days and there's the construction phase and then it finally there is the maintenance status and software project ceased look a lot like that suffer policies need done eventually robot you finish et in press under the using and mail it to your customers and developers when he and after project to a different set of people knew menacing on something else but in the same web apps and of when I think it was in vertices unaccompanied was caught hundreds of times a day nothing ever seems to be done desktop activity at this model mobile apps akin of even gains last holdout of the three-phase long delivery over steamer downloaded on your PlayStation updated continuously changes relatively cheap buildings on the other hand are enormously expensive to change once a constructor a linear has ever price set remodeling the kitchen is what I mean 40 thousand dollars literally done is moved the 6 6 inches the rights and not then have a wall
and so it is a software infrastructure as well are infrastructure is expensive and hard to change the hardly vulnerability which is kinda like in 2014 was basically but with the same all of steel beams in all the skyscrapers you built in the last 10 years are called the and you're building right all that in our applications like residents of 1 of his apartment towers we don't depend directly on the steel beams so it was you don't see them I have a suddenly our stuff is at risk because of false in the invisible and difficult to change infrastructure in what this as shown me is that what we create these days various of the buildings was of our applications it's more like the space inside 1 of these pre-built structures we add our stuff to in the tech
world like Manhattan right on the laser could be built the bill there's no more vacant lots sometimes new stuff gets built around the edge and sometimes something because demolished it's a big news but in this place these buildings are the underpinnings of our applications the foundations of the operating system straight aka levels of the programming languages the buildings themselves with frameworks we taking good ideas for structuring space in a code base so we encoded them yeah structures in frameworks and are applications that we build with inside of those structures the buildings in the
interior space that they provide for us are changeable right but much larger passenger your code the choice of framework in other words the space layout that you choose to be constrained by those shape how your codebase turns out 1 might be the regular
jealous of the big open loft space with very few walls the whereas every day as maybe a
single-story ranch house In react might be 1 of
those new-fangled wants or problems that can be assembled in a factory like truck doubts your a lot snap together 1 ruling obligation we have a number of
different space layouts choose from each 1 optimized for something slightly different your
staff the application you want create will probably set in whatever when you choose maybe a better fit in 1 of the other you many different things in different places if you pick a lost spatially to make your own sort of walls Street partitioning the space of catches are folding screens or something it has more actual walls only that the cost is this less flexible so the
continent up their application is in some ways shaped by the space you have Canadian and
there certainly some jobs are industry in all working on the buildings themselves on the foundations design new buildings that most of us know applications as the industry expands that is largely where we are adding jobs but
I will us is 1 of the things I've noticed is that may be the oldest attendees of this conference Wisconsin actually is is I can tell stories knowing contradicting there was a time 181 adaptation that essentially building your own house Everything designed around templating system their own rounding up as their own back and front end code organization strategies I lived through that era of did both front and back and work in every codebases different is like every scene try to imagine from 1st principles the ideal layout of the house a sometimes that meant that all the bedrooms were in the basement and all about 3rd for and most of those structures were not up to code these
days you don't have you don't have to know how to build your own house in order to have a place to live which is progress are colored conforms to the
contours of its enclosing space famous is always been like this right operating system conforms the contours of the hard work there runs out a compiler for programming language has to informed the contours of the operating system the framework to the programming language and so on so you can argue they were doing is still building were building on top of the frameworks where adding stories to building maybe where the lower stories of framework the problem with that so it doesn't incorporate this idea changeability
what I like about thinking about our applications as interior space rather than next seriousness is that it makes a very plain what is part of changing 1 is easy to change for you and your application there's a spectrum in a
house of how hard things are a change rearrange the furniture replace the furniture people while also changed a copy and move your electrical outlets out from a knock down wall but if it is soaring I mean no code isn't possible for you to change when you're writing an application the Sun's easier to change than others your code that runs your application obviously is the easiest extensions to the framework are harder changes the programming language operating system is all possible but often without not without opening up a few walls which goes
along with the other ships that we talked about which is the project never seen to be done based in a very stark difference between development and maintenance sometimes or even done by the same people
in these days line is very often words and when all this adds up to is that upon icon-based isn't something we build anymore because this is a
place where we live In our goal isn't to finish it
and move on as it would be with a structure it place that we live by our goal is to make it livable for ourselves and for all the other people who live there and when we write code the stance generally goal is intervention and what our goal is to make a sustainable livable protein that inhabits and
lovable in-house means you can do things you want to come to a white we wanna read counter space for cooking your spices are accessible as a box of tissues on the coffee table was appointed a toilet and asking the rope patrols and was level for a group of people depends on the people right livable for 230 something's that maybe is different from level for college-age limits is different from level for a single pair of a teenager and level for code
works the same way as you can make the changes and additions as you want to without undue annoyance you know where things are defined and when you want it just like with the house was little for 1 team will do little will for another with little 1st when senior developer and forging universe is different from level 4 5 senior developers as separate from what syllable for once the developer Tennessee promote syllable for an outsourced team and so right space or code-based livable is an ongoing process of mass of the 2 once people change evolving a incoming go every time someone you teams like in a room New remain weird
without the really touch to and after 2 days they suggest replacing all the lines of
curtains those more energy efficient and worst of all they watch the dishes with tabs instead of
spaces can that discursive perceived like north from to but you all here now so
you'll find some way to make it work or maybe you won't
you know I 1 thing to notice here is that your day-to-day happiness in a space depends a lot on the people who were in the space with you and perhaps less on the actual stuff for the sick or the shape of space itself so again you can fix a communication problem by switching your JavaScript framework so perhaps
activated is you know wall the exterior of buildings fibrous uses the interior of matters more to you the developer whose living in what do you do you when that interior is removable what you in your kitchen is best it's like yes
tha 1 of the central mysteries of software development is that with all the books in the blogs and the ideas about Socrates and the available to us what patented as practices and rules why do so many of our databases end up like this so cool stuff you can hardly around inside figure out where to start uniquely is better some people have suggested the
bears mortality at played your professionalism or intelligence that developers who edited this can like a lazier amateur this is what I find a bit off-putting about lot writing from the software craftsman's movements bear very heavy with the suggestion is that if you just cared more he looked at your work is a craft you could bases wouldn't it this way and these people are very sincere I but I certainly could bases they worked on enquiry there exist situations for which no amount of character is enough please and it turns out actually the white people's houses and up this way is also something of a mystery psychology has studied and has not actually able to come up with a super effective treatments that this problem at the same time right away people's houses get this way is also extremely clear gets this way 1 decision at a time that sounds squared because of this domestication sign out like this
rather small space referred to maximize it by adding shelves in creating a gives a window sills another marginal space and for a while at me that every nite and as I want world a women don't they can face the next morning they come home and the groceries and hot the stove then I purity take out that move too much up to the stove next in the mail on groceries has risen anywhere else at take out again it feel bad about this in the kitchen that already so overwhelming they don't know where start to fix it and not too long ago
that that here to one's models as it is time and the compounding interest in despair and the same with and this is you walk into a files already terrible half-a-dozen patterns are working for you anymore product is breathing down your neck for the spread fixed wholly logical thing to do is duct tape it as best you can and get the hell out of but also decisions over time or will lead cylinder the worker bees this did he shown here since all
quarters that ran for 6 seasons by every observing basic with 2nd and it was a documentary about people have used a little has the right to the point that a family member or friend requested intervention images using the dramatic workers shows at the house takes everything out after froze must away cleans the house and return to normal amount for internal things back into the house Big Bang right all that down gone over the course of a weekend 1 thing that struck me about that show was that there was 1 thing that every single word house had and I was stacks and stacks of magazines and books and newspaper clippings about simple living in this kind of thing right
beautiful photos of the pristine uncluttered spaces advice about organizing suggestions for decorating every single has had them these people want to be clean they
look at these beautiful clutter-free houses in the magazine the minwise so badly that they don't know how to get there from what they have so I think we have been 1 time event is only way to get from something like this
to something more clearly and so the greedy and shall not be able to have their house cleaned out on television and all the stuff all the way not that ground forces the reality television the but they greater shows the big revealed the before and
after shots of that will the ranges
on the restored to cleanliness but I want an interview with 1 of the producers of the show once he said that the reason they cancel it 1 of the reasons of the discovered that most of the people they profile this has were cleaned out of a drunk all the way most that eventually went back the having accorded house happened again made the same type decisions and end up with the same results and it turns out that are much more effective have been partially less television friendly way to treat morning is the work of people over a long period of time and changing their habits likely up a little bit every time they do something have been given cleaning area to time it takes more than we can't but it does actually dig them out of the hole keeps them out by artificially vaulting Addis they can fall back in and partially for the producer makes really boring reality television anatomical basis can work the same way right we fight with them day in
and day out just to move around us to get anything done and we drain of ago we rewrite it
would make the 6 we should rewrite gray suit in Denver we should write our model as micro-services and sometimes it works well right of slide have to make a triumph of blog posts say but then the cameras stopped rolling the work really leaves and if you don't change the habits the guy you into that frustrating place you'll end up there again 10 sooner rather than later he remains
the big mistake speculative when chose the wrong framework houses to sparse but it's not so little stuff the lights out the habit CPU all rewrite C 1 but they don't use a little something that you then the 1st places and at the end of a toward it has a number of just like you had awarded housing you japery age objects and clear these art
individual habits that I'm talking about when we come to the this is that group habits group norms this is why the individual professionalism you those of the software as craft movement doesn't really work fast comes from the move 10 all your developers have to do it and what is it specifically that everyone has to do it
was like really dealing with roommates that do the everyday cleaning up the watched additions the the word about that was alarmed on the back in here there because that way in living room once again using it this more
complicated tasks that contribute to ability that can be left to the people who are interested in things like reorganizing the kitchen cabinets or such an account of 1 seat replacing it added tables 2 days but that's better but the everyday stuff that's 1 that's the thing that everyone has to do the and income terms that is that you the developers need to make he pacts among amongst yourselves and the 1st as you need to decide to not
make it worse when you come actually file agree that you will do the not city there even if you don't have time to record that all this stuff that is already shitty and we see someone do that in the ah remind them of your agreement not to make it worse secondly you need a value
improvement over consistency 5 wanted pile and 1 on the bookshelf is better than 6 books in the pile maybe next time such someone can move 1 more of the books over to the shelf but if you wait until you have time to do them all it will happen this 1 is really hard for a lot of people because we've been told over many years they consistency that code base is a virtue radius a sign consistency you never going to actually make any progress the cleaning it up and we have our
own versions of a simple living Niven's rate we had these books these blog posts they show you a beautiful vision of a completely consistent perfectly abstracted codebase and looks so lovely but you can't live in a place like that just like he can't live in the homes in these magazines right around the stage to be sold just as a unlivable as a boarding house and show you why
here are is a picture of a living room has been stage to sell a house it looks really nice it's super cute actually sort missile at Hogwarts law is everything and then what were you were looking right here is the front door our but there's a lot of things that are present here that you would need if you actually here so for example where you put your coat from the front door where you keep your hand pre-messenger by the backpack repre issues were even put on your shoes take them off the organs and then I start to your money and let begin which is not a full-size coach and when even a drink when you're sitting on the is another view the same room they're looking for the front door
words have bruising before this is a television words I go about the x-box playstation cable box for and successfully but the mail magazines books special bookshelves anywhere in the space Fisher does look nice she can live there they deliberately removed all the clutter and that's because players personal we need some clutter to
feel comfortable with that clutters comprised that is different for everyone gender reading it's books appear in the video games it is in boxes controllers and strategy guides if you're raise outdoors the folks maybe spikes at home and so if I and what issues the thing that you use need to be accessible near at hand findable the very speedy tolerate some mass not too much income we have these simple living
magazines specialized unrealistically faecalis wrong Goals could that follows all the rules that is perfectly consistent abstracted is unattainable and even if you can attain a you couldn't live by percentages super give no was just close a point in your phone bed is basically on the ground which is a trick to make the room with figure in those window coverings are lighted area beautiful but will not keep anyone from seeing in chamber but they're still I'm
Ch so that 3 times that Feleknas important so meaning don't make refactoring something as separate sure me to do it as part of the story is the card to the feature that you're building is a clean up at the scene rather making its a separate thing is to be part of the everyday routine you do need incorporate into your everyday routine and I know it's a directory but they want those 1 which is to
deal properly with the exterior people the non-developers and that your interacting with this is a difficult thing right and
when think about things about this 1st is don't ask for permission refactor tha cleaning up the refactoring doing as everyday things is part of your job asking for permission refactors like asking homeowners association with even back in your living room but the upfront rate don't like them about what you're doing but don't ask permission In the same vein don't ask for forgiveness you're but learn from your mistakes part of your job is to learn how much is too much and how much is too little you'll go in both directions and learn something every time do ask everyone provides what do you think about changing this to go graph what do you think about this add the don't always take the advice and you work together right you have to live here this is because they see 11 that is a part of a his own slide you have to live here
both extremes are unlivable in spaces and encode and so you have a piece of code you understand Frank can't quite work when the 2 possibilities maybe it's so quantity can distinguish the relevant ideas from the irrelevant ones or maybe so plane of the role that ideas or even findable and these 2 states can exist simultaneously in the same codebase sometime right next to each other in the same file we need livable code in the middle of these 2 extremes just like an actual global linear space is somewhere in between Simple Living magazine importers from branches right we're not
like other engineering this course but if there is a silver bullet it lies in conceiving of software development is something entirely new it stepping outside the framework of books in Conway everyone also been viewing adopted for decades and don't have all the answers but I spent last 2 days here anemic of feeling like everyone here already knows that were different you know that we're not quite architects no that were not quite engineers you know that the bases are not quite like any other artifacts humans have ever produced in you know they're always understanding evaluating our work are no longer Erina Ch and does that that is the immense hope for the future agreements it's been that
thank uh bit so
that each search