POPULARITY
In 1970, Winston W. Royce published a paper “Managing the Development of Large Software Systems.” Later authors cited it as the justification for what had come to be called the "waterfall process." Yet Royce had quite specifically described that process as one that is "simplistic" and "invites failure."That's weird. People not only promoted a process Royce had said was inadequate, they cited him as their justification. And they ignored all the elaborations that he said would make the inadequate process adequate. What's up with that? In this episode, I blame metaphor and the perverse affordances of diagrams.I also suggest ways you might use metaphors and node-and-arrow diagrams in a way that avoids Royce's horrible fate.In addition to the usual transcript, there's also a Wiki version.Other sourcesLakoff and Johnson, Metaphors We Live By, 1980.Laurent Bossavit, The Leprechauns of Software Engineering, 2014.George A Miller, “The Magical Number Seven, Plus or Minus Two: Some Limits on our Capacity for Processing Information,” 1956.CreditsDawn Marick for the picture of the fish ladder. Used with permission.
We all have some ideas about what works in software engineering and what doesn't. But without real evidence and data that is just an opinion. Empirical software engineering tries to answer the question of what can be proven to work in software development. In this episode, Hillel Wayne and Laurent Bossavit will talk about what we know about software development, what we don't know - and the myths about it i.e. what we think we know but really don't. Links Laurent's Book “The Leprechauns of Software Development” Derek M. Jones: Evidence-based Software Engineering: based on the publicly available data Hillel's talk “What We Know We Don't Know” Hillel's consulting Additional Links How students learn Reframing the Liskov substitution principle through the lens of testing Executable Examples for Programming Problem Comprehension What we know It Will Never Work in Theory: Short summaries of recent results in empirical software engineering research Fixing Faults in C and Java Source Code: Abbreviated vs. Full-word Identifier Names Recurring opinions or productive improvements—what agile teams actually discuss in retrospectives Andy Oram, Greg Wilson: Making Software Code Reviews Expectations, Outcomes, and Challenges Of Modern Code Review Characteristics of Useful Code Reviews: An Empirical Study at Microsoft Criticism of existing reasearch Hillel about “This is How Science Happens” - criticism of a code minin paper Hillel's newsletter: I **ing hate Science Hillel about “Are We Really Engineers?”
Impostor Syndrome is a psychological pattern in which people doubt their skills, talents, and accomplishments. Most of us have felt something like this in our careers, whether it's a fleeting moment or a persistent fear that we're going to be discovered as frauds. These feelings can be overwhelming, even debilitating; but, they can also drive us towards self-improvement. This week, the crew talks about their own mistakes, feelings of fraud, insecurities, and how Impostor Syndrome manifests in their own careers. Follow the show! Our website is workingcode.dev ( https://workingcode.dev/ ) and we're *@WorkingCodePod* on Twitter ( https://twitter.com/workingcodepod ) & Instagram ( https://www.instagram.com/workingcodepod/ ). New episodes weekly on Wednesday. *Triumphs & Fails* * *Adam's Failure* - Adam accidentally destroyed a database by running a migration script on the wrong database ! Thankfully it was a QA (Quality Assurance) database which could be restored - no critical client-data was lost. * *Ben's Triumph* - He's deleted 200K lines of unused vendor code. That means shipping less code to production with every deployment. He also merged one of his unnecessary microservices back into the monolith. * *Carol's Triumph* - She's not dying! Woot woot! She had gotten COVID-19 right on the heels of a kidney infection; but it is currently feeling much better (and is nursing her sons back to health as well). * *Tim's Triumph* - He's been playing around with Redis as a means to make his applications more resilient. One thing he wants to do is centralize his Session management such that he can pushed new code to production without having to reset user-session data. *Notes & Links* * Breaking Bad ( https://www.imdb.com/title/tt0903747/ ) - critically acclaimed TV drama. * Adam Sandler's Click ( https://www.imdb.com/title/tt0389860/ ) - comedy about appreciating your life. * Redis ( https://redis.io/ ) - blazing fast in-memory database and data-structure storage. * PM2 ( https://pm2.keymetrics.io/ ) - a production-grade process manager for Node.js. * Amazon ECR ( https://aws.amazon.com/ecr/ ) - Elastic Container Registry. * Amazon Fargate ( https://aws.amazon.com/fargate/ ) - serverless compute for containers. * GitHub Actions ( https://github.com/features/actions ) - automation tools for your GitHub workflows. * The Push Train ( http://pushtrain.club/ ) - Dan McKinley's presentation on managing the human side of continuous delivery. * Lagom Framework ( https://www.lagomframework.com/ ) - an opinionated microservices framework for moving away from the monolith. * Little Bobby Tables ( https://xkcd.com/327/ ) - classic XKCD comic. * Multi-Stage Builds in Docker ( https://docs.docker.com/develop/develop-images/multistage-build/ ) * Mike Cannon-Brookes: TED Talk on How you can use impostor syndrome to your benefit ( https://www.ted.com/talks/mike_cannon_brookes_how_you_can_use_impostor_syndrome_to_your_benefit ) * WTFs per minute ( https://blog.codinghorror.com/whos-your-coding-buddy/ ) - Coding Horror comic on code quality. * 1 Corinthians 10:12 ( https://biblehub.com/1_corinthians/10-12.htm ) - "Therefore let him who thinks he stands be careful that he does not fall." * GoTime podcast ( https://changelog.com/gotime ) - one of the ChangeLog podcasts. * Mythical Man Month ( https://amzn.to/3mowUIU ) - iconic essays on software engineering. * 99 Bugs in the code ( https://imgur.com/a/sZLJB ) - grumpy cat's take on the 99 Bottles song. * Perfect is the enemy of the good ( https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good ) - trap that many product companies fall into. * Neil Gaiman's address to the University of the Arts Class of 2012 ( https://www.youtube.com/watch?v=2OwRUyZMKwI ) - "Make good art". * The 10x programmer - toxic programming myth about unicorn developers. * Ruby Rogues EP 220 with Laurent Bossavit ( https://devchat.tv/ruby-rogues/226-rr-the-leprechauns-of-software-engineering-with-laurent-bossavit/ ) - discusses the book, "The Leprechauns of Software Engineering", which covers among other things the myth of the 10x programmer. * Radio Lab: Lying to Ourselves ( https://www.wnycstudios.org/podcasts/radiolab/segments/91618-lying-to-ourselves ) * The "Peter Principle" ( https://en.wikipedia.org/wiki/Peter_principle ) - people in a hierarchy tend to rise to their "level of incompetence". * The Dunning-Kruger Effect ( https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect ) - a cognitive bias in which people with low ability at a task overestimate their ability.
https://github.com/betagouv Se former dans la maison des compagnons : https://maison.artisandeveloppeur.fr Rejoindre la communauté des artisans développeurs : https://artisandeveloppeur.fr
https://beta.gouv.fr/ https://www.dossiersco.fr/stats Pour rejoindre la communauté : http://artisandeveloppeur.fr Se former dans la maison des compagnons : http://maison.artisandeveloppeur.fr
Greater Than Code Episode 001: Taking Payments on the Web with Noel Rappin (https://www.greaterthancode.com/2016/09/28/episode-001-noel-rappin-2/) 02:58 – Noel’s Superpower: Extrapolating and Explaining Consequences of Tech Decisions to Others 06:24 – Cultural Patterns of How Organizations Develop Software; Should this process be standardized? 16:07 – Agile Adoption: Pros and Cons The Leprechauns of Software Engineering: How folklore turns into fact and what to do about it by Laurent Bossavit (https://leanpub.com/leprechauns) The Journal of Irreproducible Results (http://www.jir.com/) 26:40 – Making Decisions Without No Scientific Evidence 32:05 – Metaphors for Software Engineering and Legitimizing the Profession 38:33 – Trust-Driven Development 44:12 – Decision Making Among Teams Reflections: Rein: We are working with systems that we can’t fully define and the idea that we’re acting on systems that we’re a part of. Therefore, it changes the observer effect. Jessica: Getting the ships to all go in the same direction. Coraline: The understanding of our place in a given context. Noel: Aligning process, values, culture, and goals, and doing that to make teams work better. This episode was brought to you by @therubyrep (https://twitter.com/therubyrep) of DevReps, LLC (http://www.devreps.com/). To pledge your support and to join our awesome Slack community, visit patreon.com/greaterthancode (https://www.patreon.com/greaterthancode). To make a one-time donation so that we can continue to bring you more content and transcripts like this, please do so at paypal.me/devreps (https://www.paypal.me/devreps). You will also get an invitation to our Slack community this way as well. Amazon links may be affiliate links, which means you’re supporting the show when you purchase our recommendations. Thanks! Special Guest: Noel Rappin.
Summary Laurent Bossavit talks about the myths like the 10x developer that have grown in the software industry. Details Who he is, what he does. His book - "The Leprechauns of Software Engineering", why he wrote it. The 10x developer, literary archeology. The telephone game, examples in the software world, cost of when defects are discovered. Industry does not have interest exposing faults, why is the word "belief" used in software, is software an engineering discipline, opinions over measurements, how did we end up with manifestos. What should we measure when judging software quality, why measuring bugs are like eating from the garbage can. How to make things better. How to get Laurent's book. Laurent's book recommendations.
In this episode, we interview Laurent Bossavit on the morning after the Joy of Coding conference, May 30th 2015 in Rotterdam. Laurent has over 20 years of experience around computers, spending most of it in startup environments. He consults with software companies on implementing agile processes in their organizations. As a Francophone, you may know him as the co-translator of Kent Beck's Extreme Programming Explained's French edition. Interview by @freekl and @daan_van_berkel Links for this podcast Laurent's presentation on Joy of Coding: The joy of debugging ourselves Laurent's Book: The leprechauns of software engineering The BuildStuff conference The 1968 NATO conference on Software Engineering
02:03 - Laurent Bossavit Twitter GitHub Institut Agile 03:11 - The Leprechauns of Software Engineering by Laurent Bossavit 04:52 - The 10x Programmer Code Complete: A Practical Handbook of Software Construction, Second Edition by Steve McConnell 13:07 - The Custom Defects Curve 15:33 - Leprechauns and Local Truths (Does Needing to Prove Others Wrong = Fear?) 22:53 - The Feedback Cycles 25:09 - Agile, Waterfall, and The Software Crisis Thinking, Fast and Slow by Daniel Kahneman “Bugs in the brain” = Cognitive Biases 32:30 - Estimations, Calibration and Assessments How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard Expert Political Judgment: How Good Is It? How Can We Know? by Philip E. Tetlock Software Estimation: Demystifying the Black Art by Steve McConnell 38:16 - Starting Points/Research Skills for Identifying Leprechauns 1. Skepticism 2. Curiousity 3. Tenacity 43:14 - The Value of Leprechauns 46:46 - “Most of our job is learning.” 50:44 - The Definition of “Insanity” => Experimentation QWERTY vs Dvorak Picks The Leprechauns of Software Engineering by Laurent Bossavit (Avdi) The Crystal Programming Language (Avdi) Zojirushi (Avdi) The Elm Programming Language (Laurent) Smarter Every Day 133: The Backwards Brain Bicycle (Laurent) Station Eleven by Emily St. John Mandel (Laurent) How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard (Jessica)
02:03 - Laurent Bossavit Twitter GitHub Institut Agile 03:11 - The Leprechauns of Software Engineering by Laurent Bossavit 04:52 - The 10x Programmer Code Complete: A Practical Handbook of Software Construction, Second Edition by Steve McConnell 13:07 - The Custom Defects Curve 15:33 - Leprechauns and Local Truths (Does Needing to Prove Others Wrong = Fear?) 22:53 - The Feedback Cycles 25:09 - Agile, Waterfall, and The Software Crisis Thinking, Fast and Slow by Daniel Kahneman “Bugs in the brain” = Cognitive Biases 32:30 - Estimations, Calibration and Assessments How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard Expert Political Judgment: How Good Is It? How Can We Know? by Philip E. Tetlock Software Estimation: Demystifying the Black Art by Steve McConnell 38:16 - Starting Points/Research Skills for Identifying Leprechauns 1. Skepticism 2. Curiousity 3. Tenacity 43:14 - The Value of Leprechauns 46:46 - “Most of our job is learning.” 50:44 - The Definition of “Insanity” => Experimentation QWERTY vs Dvorak Picks The Leprechauns of Software Engineering by Laurent Bossavit (Avdi) The Crystal Programming Language (Avdi) Zojirushi (Avdi) The Elm Programming Language (Laurent) Smarter Every Day 133: The Backwards Brain Bicycle (Laurent) Station Eleven by Emily St. John Mandel (Laurent) How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard (Jessica)
02:03 - Laurent Bossavit Twitter GitHub Institut Agile 03:11 - The Leprechauns of Software Engineering by Laurent Bossavit 04:52 - The 10x Programmer Code Complete: A Practical Handbook of Software Construction, Second Edition by Steve McConnell 13:07 - The Custom Defects Curve 15:33 - Leprechauns and Local Truths (Does Needing to Prove Others Wrong = Fear?) 22:53 - The Feedback Cycles 25:09 - Agile, Waterfall, and The Software Crisis Thinking, Fast and Slow by Daniel Kahneman “Bugs in the brain” = Cognitive Biases 32:30 - Estimations, Calibration and Assessments How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard Expert Political Judgment: How Good Is It? How Can We Know? by Philip E. Tetlock Software Estimation: Demystifying the Black Art by Steve McConnell 38:16 - Starting Points/Research Skills for Identifying Leprechauns 1. Skepticism 2. Curiousity 3. Tenacity 43:14 - The Value of Leprechauns 46:46 - “Most of our job is learning.” 50:44 - The Definition of “Insanity” => Experimentation QWERTY vs Dvorak Picks The Leprechauns of Software Engineering by Laurent Bossavit (Avdi) The Crystal Programming Language (Avdi) Zojirushi (Avdi) The Elm Programming Language (Laurent) Smarter Every Day 133: The Backwards Brain Bicycle (Laurent) Station Eleven by Emily St. John Mandel (Laurent) How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard (Jessica)
Check out RailsClips! 02:44 - Alex Wood Introduction Twitter GitHub 03:09 - Trevor Rowe Introduction Twitter GitHub 03:26 - What is offered by Amazon Web Services (AWS)? Elastic Beanstalk OpsWorks Alex's RailsConf 2015 Workshop 06:48 - Setup and Taking Incremental Steps (The Cloud as a Paradigm) Identity and Access Management “Make sure everything works” 12:19 - CloudFormation Tooling aws-sdk-ruby 15:19 - Data-Centric Services (Monitoring, Traceability, Visibility) CloudFormation S3 CloudFront Simple Email Service (SES) Simple Queuing Service (SQS) Simple Notification Service (SNS) DynamoDB AWS Lambda Amazon EC2 Container Service Logging CloudTrail CloudWatch CloudWatch Logs 23:48 - When to Use What (Getting Started) Simplicity vs Control 26:07 - Making Apps Run Better, General Optimizations Route 53 33:43 - Implementing AWS “Eat the elephant one bite at a time” 37:15 - Security Creating Visibility Without Opening an SSH Port CloudWatch CloudWatch Logs Running Inside a Virtual Private Cloud (VPC) Why doesn’t security happen? 47:51 - Maintaining and Continually Improving Within Teams (Scalability) 56:33 - AWS Resources AWS Official Blog AWS Ruby Development Blog [GitHub] AWS Picks Interview with Laurent Bossavit of the 10X Programmer and other Myths in Software Engineering (Jessica) Paracord (Chuck) Alex's RailsConf 2015 Workshop (Alex) Stranger in a Strange Land by Robert A. Heinlein (Alex) Kalzumeus Podcast (Alex) Gitter (Trevor) AWS Ruby Development Blog (Trevor)
Check out RailsClips! 02:44 - Alex Wood Introduction Twitter GitHub 03:09 - Trevor Rowe Introduction Twitter GitHub 03:26 - What is offered by Amazon Web Services (AWS)? Elastic Beanstalk OpsWorks Alex's RailsConf 2015 Workshop 06:48 - Setup and Taking Incremental Steps (The Cloud as a Paradigm) Identity and Access Management “Make sure everything works” 12:19 - CloudFormation Tooling aws-sdk-ruby 15:19 - Data-Centric Services (Monitoring, Traceability, Visibility) CloudFormation S3 CloudFront Simple Email Service (SES) Simple Queuing Service (SQS) Simple Notification Service (SNS) DynamoDB AWS Lambda Amazon EC2 Container Service Logging CloudTrail CloudWatch CloudWatch Logs 23:48 - When to Use What (Getting Started) Simplicity vs Control 26:07 - Making Apps Run Better, General Optimizations Route 53 33:43 - Implementing AWS “Eat the elephant one bite at a time” 37:15 - Security Creating Visibility Without Opening an SSH Port CloudWatch CloudWatch Logs Running Inside a Virtual Private Cloud (VPC) Why doesn’t security happen? 47:51 - Maintaining and Continually Improving Within Teams (Scalability) 56:33 - AWS Resources AWS Official Blog AWS Ruby Development Blog [GitHub] AWS Picks Interview with Laurent Bossavit of the 10X Programmer and other Myths in Software Engineering (Jessica) Paracord (Chuck) Alex's RailsConf 2015 Workshop (Alex) Stranger in a Strange Land by Robert A. Heinlein (Alex) Kalzumeus Podcast (Alex) Gitter (Trevor) AWS Ruby Development Blog (Trevor)
Check out RailsClips! 02:44 - Alex Wood Introduction Twitter GitHub 03:09 - Trevor Rowe Introduction Twitter GitHub 03:26 - What is offered by Amazon Web Services (AWS)? Elastic Beanstalk OpsWorks Alex's RailsConf 2015 Workshop 06:48 - Setup and Taking Incremental Steps (The Cloud as a Paradigm) Identity and Access Management “Make sure everything works” 12:19 - CloudFormation Tooling aws-sdk-ruby 15:19 - Data-Centric Services (Monitoring, Traceability, Visibility) CloudFormation S3 CloudFront Simple Email Service (SES) Simple Queuing Service (SQS) Simple Notification Service (SNS) DynamoDB AWS Lambda Amazon EC2 Container Service Logging CloudTrail CloudWatch CloudWatch Logs 23:48 - When to Use What (Getting Started) Simplicity vs Control 26:07 - Making Apps Run Better, General Optimizations Route 53 33:43 - Implementing AWS “Eat the elephant one bite at a time” 37:15 - Security Creating Visibility Without Opening an SSH Port CloudWatch CloudWatch Logs Running Inside a Virtual Private Cloud (VPC) Why doesn’t security happen? 47:51 - Maintaining and Continually Improving Within Teams (Scalability) 56:33 - AWS Resources AWS Official Blog AWS Ruby Development Blog [GitHub] AWS Picks Interview with Laurent Bossavit of the 10X Programmer and other Myths in Software Engineering (Jessica) Paracord (Chuck) Alex's RailsConf 2015 Workshop (Alex) Stranger in a Strange Land by Robert A. Heinlein (Alex) Kalzumeus Podcast (Alex) Gitter (Trevor) AWS Ruby Development Blog (Trevor)