The Leprechauns of Software Engineering PDF ¼ The

Leave a Reply

Your email address will not be published. Required fields are marked *

The Leprechauns of Software Engineering If you've ever felt like there is something fundamentally wrong with the way software is developed in a projectenterprise environment then this book is for you The author shows you how a few cornerstones of the software engineerings discipline are fundamentally flawed It's a pretty uick read and I enjoyed it Are you in IT? If so you must read this book There're a plenty of fallacies circulating which are based on unverified statements This book busts most popular but which is important it teaches an industry newcomer or even a seasoned professional to doubt bold sayings and ask right uestions to figure out what forms the foundation of those sayings The software profession has a problem widely recognized but which nobody seems willing to do anything about You can think of this problem as a variant of the well known telephone game where some trivial rumor is repeated from one person to the next until it has become distorted beyond recognition and blown up out of all proportionUnfortunately the objects of this telephone game are generally considered cornerstone truths of the discipline to the point that their acceptance now seems to hinder further progressIn this short ebook we will take a look at some of those ground truths the claimed 10x variation in productivity between developers; the software crisis; the cost of change curve; the cone of uncertainty; and We'll hone our scholarship skills by looking up the original source for these ideas and taking a deep dive in the history of their development We'll assess the real weight of the evidence behind these ideasAnd we'll confront the scary prospect of moving the state of the art forward in a discipline that has had the ground kicked from under it This is one of those books that should have been a blog post or few The author argues some “established facts” in software engineering and the papers that spawned them I’ll list them below The cone of uncertainty Uber programmers are 10 times productive than simpletons Waterfall doesn’t suck it was invented to have something to compare with newer and better development life cycles The later you find a bug costly it is to fixThat’s all I don’t know if you have any strong feelings about these “facts” but apparently they are mostly based on some expert’s gut feeling or problematic experiments The book mainly talks about the work the author had to do to uncover the truth It gets a bit predictable after the first time so I decided to skim a bit I was hoping for some counter examples later in the book so I could learn about what we can really measure scientifically in software development Unfortunately I found myself skimming to the end of the book and to make it worse it ended with a cliffhanger My disappointment was immeasurable and my day was ruinedPersonally I’m guessing a seuel 10 years from now when we find out the Agile experts the community the author belongs to were selling us snake oil all the time and we totally ate it up Talk about foreshadowing A brilliant book While the presentation could use some touching up the contents are well worth the modest Leanpub price This should be mandatory reading to anyone who has even a passing interest in software development methods Well researched debunking of some of the most stubborn myths in software engineering combined with a thorough case for critical thinking in software engineering For some reason I was constantly reminded of Facts and Fallacies of Software Engineering as one of the possible offenders I should probably reread thatIf I have to pick a negative point with this book it's the uality of writing which is easily overcome by the uality of the content TL;DR Bassavit demonstrates that several widely cited claims about software engineering are not really rooted in convincing empirical evidenceI'm impressed by the research and the clarity of thought He uite successfully takes down these leprechauns I think but as he admits he doesn't construct any sort of alternative epistemology He weakly suggests that we should raise our standards for empirical research and also maybe borrow techniues from the social sciencesI think Bassavit is a little bit too dismissive of anecdote and folk wisdom possessed by professional programmers He is right in condemning those who present eg the cost of defects is higher the later they are discovered as having the authority of empirical science behind it but that doesn't necessarily mean there is no other basis for software engineers to subscribe to this idea Economists for example are not afraid to posit generalizations about how the economy works based purely on mathematical models they think plausibly capture characteristics of real markets in situations where the empirical evidence is lacking or ambiguous or when the mechanism they are analyzing is suspected of being too non linearcomplicated for a statistical test to be plausibleIn fact they will often present their arguments using demand curves and production possibility frontiers generated from theory not from data that resemble in some ways the cone of confidence and upward sloping cost of defect discovery diagrams that Bassavit is so affronted byThe lesson I would take away from Bassavit's deconstruction is stop attributing any inherent authority to scholarly citations stop pattern matching on the scientific method as a substitute for critical reasoning devote less effort to the dubious project of imitating the methods of experimental science and effort to improving our mental models of software engineering by introspective not empirical means pretty much what I got from this is that you can't trust a lot of meme rules of thumb in software engineering the science sucks and is not a good fit for our industry our work is too complex and hard to measure the examples give some ideas about how you can debunk a lot of software engineering research and call out the BS it's a short book dense and not an easy read and a little expensive but worth it for originality it pairs well with software xrays which shows a better alternative to how we can measure things in our own software developments This is a confusing and ultimately uite frustrating book The basic premise is good the software development field is full of received wisdom that has mutated over time from simple reasonable hypotheses to being treated as established fact supported by research But when you dig under the surface a little you discover that the research didn’t actually say what everyone thinks but it’s been uoted enough times often by people who should really know better that everyone now assumes it must be true So Bossavit sets out not only to debunk some of these but both by example and by explicit and somewhat patronising training to show you how to do likewise — or at least persuade you that you should become much skeptical of such claims This is an area I know something about having spent some time a decade or so ago digging through the original research to support the “some programmers are an order of magnitude efficient” claims It’s hardly a spoiler to reveal that I like Bossavit discovered that the original studies everyone refers to a were about debugging rather than creating the original code; b were explicitly measuring the difference between working at a computer vs working on paper rather than comparing like with like; c had a mix of programmers who were new to the language being used with experts in it; and even then d had significantly less variation in results than is usually claimed; and e showed that the best programmer on one task could just as easily be one of the worst on some other task — hardly a ringing endorsement for the ‘super programmer’ mythology that arose as a resultUnpicking the threads behind myths like this can be both fun and instructive and Bossavit does a pretty good job of it But unfortunately the book didn’t really work for me Partially this is because it seems still far from finished It’s a LeanPub book which means this is to a certain extent expected and it’s explicitly noted at the start that it’s still a work in progress and may indeed never be finished Some chapters are barely than a placeholder thought still needing to be fleshed out whereas others are disproportionately long largely reflecting simply how much work was involved in debunking it rather than how important or wrong it was; and there are lots of little presentational issues still needing cleaned up The structural flow doesn’t uite work — there are too many “as we’ll see later” forward references and at least one spurious “as we’ve previously seen” back reference and the book still largely feels like a series of stand alone articles that hasn’t yet been edited into a coherent wholeMore troubling however is that Bossavit can’t uite decide which position to attack in many cases the simple “research shows ” version or the stronger underlying claim Even if the research doesn’t show that some programmers are twenty eight times productive everyone still knows that some variation of this is true right? Well er maybe As a throwaway at the end of the chapter on this metric the book leaps within a couple paragraphs from discussing the claim to raising the uestion of whether the the construct even has any validity to outright asserting The 10x claim is “not even wrong” and the uestion of “how variable is individual programmer productivity” should be dissolved rather than answeredSimilarly when it comes to examining some of the research around bug finding the somewhat astonishing claim is made thatwhile germs are very much in the “don’t go away if you stop believing in them” category that’s much less true of these things we call “bugs”Perhaps it is true that the entire concept of productivity of software developers is flawed and that outside Hopper’s moth bugs as we think of them don’t really exist But these are much stronger claims that go far beyond simply showing the flaws in some research and their inclusion with little explanation is a little jarring Saying “the research doesn’t say this and even if it did it would be wrong as the whole concept is erroneous” comes across a little too much like “My client has never even owned a gun And even if he did he certainly didn’t have it with him that night And even if he did he wasn’t the one who fired it in the bar And anyway he wasn’t even there” This book debunks many myths in software engineers it's a great read and challenges what we know about our industry I recommended this to a friend of back and he said Nobody should write anything about software engineering without reading this bookI read this book in 2013 and really liked it; I can't talk about the updates since 2013