"Stranger than Fiction Case Studies in Software Engineering Judgment," Steve McConnell
摘要
TLDRACM's webinar med Steve McConnell fokuserer på software engineering judgment. Han præsenterer case-studier som healthcare.gov for at demonstrere forskellen mellem fejlagtig analyse og nødvendigheden af god domsførelse i projekter, introducerer konceptet med Bloom's taksonomi og de fire faktorer, der påvirker software projekter: størrelse, usikkerhed, defekter og menneskelig variation. Formålet er at hjælpe fagfolk med at udvikle evnen til at tage bedre beslutninger i komplekse softwareprojekter.
心得
- 📚 Bloom's taksonomi hjælper med at forstå niveauer af forståelse i uddannelse.
- 🛠 Brugen af checklister kan effektivisere beslutningstagning.
- 🔍 Projektdynamik afhænger af fire faktorer: størrelse, usikkerhed, defekter og menneskelig variation.
- 🤔 Dom er en højtudviklet færdighed over analyse i software engineering.
- 📉 Fejl i projektdom kan føre til store fejl, som set med healthcare.gov.
- 👥 Menneskelige faktorer kan have en stor indvirkning på projektets succes eller fiasko.
- 🚦 Projekter med flere 'røde flag' sandsynligvis mislykkes uanset en enkelt god faktor.
- 💡 Bedre dom i beslutningstagning kan udvikles ved at anvende erfaring og modeller.
- 🗣 God kommunikation mellem teknisk personale og ledelse kan forbedre projektresultater.
- 📊 Bedre projektskøn og risikostyring kan forhindre budgetoverskridelser.
时间轴
- 00:00:00 - 00:05:00
ACM's læringswebinar præsenteres som en mulighed for professionelle og studerende at forbedre deres færdigheder og fremme deres karriere inden for datalogi. Organisationen tilbyder forskellige uddannelsesressourcer og professionelle udviklingsmuligheder, der hjælper medlemmer med at navigere i det hurtigt skiftende felt.
- 00:05:00 - 00:10:00
Steve McConnell introduceres som dagens foredragsholder med erfaring inden for software engineering. Hans præsentation omhandler vurderingsevne inden for softwareudvikling. Han planlægger at adressere det gennem Bloom's taksonomi som en model til at forbedre dømmekraften.
- 00:10:00 - 00:15:00
Bloom's taksonomi anvendes til at forstå niveauer af læring og erkendelse. Den baseres på et hierarki fra viden og forståelse til anvendelse og evaluering. Steve diskuterer, hvordan dette hierarki kan bruges til at forbedre vurderingsevnen i softwareudvikling.
- 00:15:00 - 00:20:00
Bloom's taksonomi indeholder niveauer fra husken af faktuel viden til anvendelse og praksis af denne viden i software engineering. Steve illustrerer dette med eksempler som design og implementering af software.
- 00:20:00 - 00:25:00
Analyse i software engineering indebærer kritisk tænkning og at opbryde problemer for at forstå deres relationer. Dette er ofte en overudviklet evne i softwareindustrien, hvilket kan føre til "analyseparalyse" og en besættelse af detaljer.
- 00:25:00 - 00:30:00
Syntese eller skabende tænkning involverer at sammensætte forskellige dele for at forme noget nyt. Steve argumenterer for vigtigheden af dette i ledelse og design og adresserer bias imod denne kompetence blandt tekniske ansatte.
- 00:30:00 - 00:35:00
Vurdering, øverst i Bloom's hierarki, handler om at evaluere ideer og koncepter. Steve nævner eksempler fra software engineering og bemærker hvor sjælden denne evne er sammenlignet med analyse og syntese.
- 00:35:00 - 00:40:00
Steve introducerer en model kaldet firefaktormodellen som en ramme til at fremme bedre vurdering i softwareprojekter. Denne omfatter faktorer som størrelsen af projektet, usikkerhed, defekter og menneskelig variation.
- 00:40:00 - 00:45:00
Gennem anvendelsen af firefaktormodellen gennemgår Steve case-studier af softwareprojekter for at illustrere, hvordan vurdering kan forudsige projektets succes eller fiasko. Hans første case handler om problemerne med healthcare.gov.
- 00:45:00 - 00:50:00
Analyser af fejlslagne projekter som healthcare.gov antyder, at problemerne stammer fra hurtige tidsplaner, skiftende krav og manglende planlægning, snarere end blot "ikke nok test","I modsætning til fejlede projekter viser vellykkede projekter som Cheyenne Mountain ATAMS, hvordan risiko styring, tidlig testning og dygtige teams kan lede til succes ved at håndtere de fire faktorer effektivt.
- 00:50:00 - 01:04:00
Afsluttende diskuterer Steve vigtigheden af at udvikle god vurderingsegenskab hos softwareprofessionelle, ved hjælp af eksempler og modeller som firefaktormodellen til at træffe bedre beslutninger i projekter.
思维导图
常见问题
Hvad er Bloom's taksonomi?
Bloom's taksonomi er en ramme, der klassificerer læringsmål i seks niveauer: viden, forståelse, anvendelse, analyse, syntese og vurdering.
Hvad er formålet med at bruge de fire faktorer i evalueringsmodellen?
De fire faktorer hjælper med at forstå projektdynamik, der kan støtte domskræfter i software engineering.
Hvem er Steve McConnell?
Steve McConnell er CEO og chefsoftwareingeniør hos Construx Software og forfatter af flere bøger om software engineering.
Hvordan kan man forbedre dom i software engineering?
Dom kan forbedres gennem erfaring, anvendelse af evalueringsmodeller som de fire faktorer, og ved at analysere casestudier.
Hvad er udfordringerne med projekter som healthcare.gov?
Udfordringerne inkluderede komprimeret tidsplan, ændrede krav i sidste øjeblik og manglende effektiv planlægning og opsyn.
查看更多视频摘要
- 00:00:06hello and welcome to today's ACM
- 00:00:08learning webinar this webcast is part of
- 00:00:11acm's commitment to lifelong learning
- 00:00:13and serving the over a 100,000 Computing
- 00:00:16professionals and students who are ACM
- 00:00:18members I'm will Trace Lui Martin fellow
- 00:00:21Emeritus and cheer of ACM sigsoft the
- 00:00:24special interest group on software
- 00:00:27engineering I'm also a member of the ACM
- 00:00:30professional development committee and
- 00:00:31have served as the editor of ACM six off
- 00:00:33software engineering
- 00:00:36notes for those of you who may be
- 00:00:38unfamiliar with ACM or what it has to
- 00:00:40offer ACM offers educational and
- 00:00:42professional development resources that
- 00:00:44booster skills and enhance career
- 00:00:47opportunities our members can stay
- 00:00:49competitive in the constantly changing
- 00:00:51world of computing with a range of ACM
- 00:00:54learning research at learning. acm.org
- 00:00:57you can see some of those highlights on
- 00:00:59your screen
- 00:01:00ACM recognizes the role of computing and
- 00:01:02driving the innovations that sustain
- 00:01:04competitiveness in global environment as
- 00:01:06such ACM provides timely Computing
- 00:01:09information published by ACM including
- 00:01:11Communications of ACM and Q magazines
- 00:01:14access to the ACM Digital Library the
- 00:01:16world's most comprehensive database on
- 00:01:18Computing literature and international
- 00:01:20conferences that draw leading experts on
- 00:01:22a broad spectrum of computing topics
- 00:01:25furthermore we support Education and
- 00:01:27Research including curriculum
- 00:01:29development teacher training and the ACM
- 00:01:31turning touring and ACM infosis
- 00:01:34Foundation Awards ACM enables its
- 00:01:37members to solve critical problems using
- 00:01:39new technology that enriches our lives
- 00:01:41and advances our society in the digital
- 00:01:43age and I might add two things first
- 00:01:46Google generously has increased the
- 00:01:47Turning award to $1 million that's a lot
- 00:01:50of money and second ACM membership is
- 00:01:53really inexpensive that's not a lot of
- 00:01:55money and if you can't afford a full
- 00:01:57membership you might look into joining
- 00:01:59one of the 30 seven special interest
- 00:02:01groups of course I'm biased about ACM
- 00:02:03sigsoft uh where student memberships
- 00:02:06start at $10 and professional membership
- 00:02:09start at
- 00:02:12$20 okay housekeeping before we get
- 00:02:15started once again for those who are
- 00:02:18first timers I'd like to quickly mention
- 00:02:20a few housekeeping iters this show on
- 00:02:22the slide in front of you in the top
- 00:02:24right hand corner of the slide area of
- 00:02:25your screen there is a button that will
- 00:02:27allow you to enlarge the slides you may
- 00:02:29want to largest slides at any time by
- 00:02:31dragging the corner of the slide window
- 00:02:33the slides will advance automatically
- 00:02:35throughout the event during the
- 00:02:37presentation you can minimize the slide
- 00:02:39area question and answer and bio screens
- 00:02:42using the buttons on the bottom panel
- 00:02:44you can also use a number of widgets
- 00:02:46also found at the bottom panel including
- 00:02:47Facebook Twitter Wikipedia and a
- 00:02:49resource list where you can get copies
- 00:02:51of the slides if you're experiencing
- 00:02:54problems with our web interface please
- 00:02:56refresh your console by pressing the F5
- 00:02:58key and Windows command plus r if you're
- 00:03:00on a Mac uh refresh your browser if
- 00:03:03you're on a mobile device or close and
- 00:03:05relaunch the presentation you can also
- 00:03:07visit the webcast help guide by clicking
- 00:03:09on the help widget below the slide
- 00:03:11window obviously to control volume
- 00:03:13please adjust the master volume on your
- 00:03:15computer and at the end of the
- 00:03:17presentation as usual we will have time
- 00:03:19for questions and we hope you have
- 00:03:20several if you think of a question
- 00:03:22during the presentation please type it
- 00:03:24into the Q&A box and click on the submit
- 00:03:27button you don't need to wait until the
- 00:03:28end of the presentation begin submitting
- 00:03:30questions you may also use a Q&A box uh
- 00:03:33and the survey at the end to suggest
- 00:03:35topics for future webinars at the end of
- 00:03:37the prev at the end of the presentation
- 00:03:40you will see a survey open in your
- 00:03:42browser please take a minute to fill it
- 00:03:44out and help us improve our webinars the
- 00:03:46session is being recorded and will be
- 00:03:49archived you will receive an automatic
- 00:03:51email notification when it is available
- 00:03:53and you can check learning. acm.org in a
- 00:03:56few days for updates
- 00:04:01you can also use Facebook and the
- 00:04:03Twitter widgets on the bottom panel to
- 00:04:05share the presentation link with your
- 00:04:06friends as well as to tweet comments and
- 00:04:08questions using the hashtag poundside
- 00:04:11ACM webinar judge Jud
- 00:04:15dge uh we'll be watching for those treat
- 00:04:19tweets today's presentation is Stranger
- 00:04:22Than Fiction case studies and software
- 00:04:25engineering judgment by Steve McConnell
- 00:04:28Steve is the CEO and chief software
- 00:04:31engineer at construct software where he
- 00:04:33consults to a broad range of Industries
- 00:04:35and
- 00:04:36overseas constructs Consulting and
- 00:04:39training offerings Steve is the
- 00:04:41bestselling author of the industry
- 00:04:44classic Cod code complete as well as
- 00:04:48software estim
- 00:04:50estim estimation demystifying the black
- 00:04:54art rapid development and other titles
- 00:04:58Steve has served as editorinchief of It
- 00:05:01software magazine and chair of the it
- 00:05:03computer society's professional
- 00:05:04activities board finally readers of
- 00:05:07software development magazine voters
- 00:05:09Steve one of the three most influential
- 00:05:13people in the software industry along
- 00:05:16with such guys as Bill Gates and
- 00:05:19lionist I can't pronounce this last name
- 00:05:21t vaals yes uh Steve we look forward to
- 00:05:26your presentation here today
- 00:05:30will uh thank you for that great
- 00:05:32introduction uh and I'll put in a second
- 00:05:34plug uh from will for joining uh sigsoft
- 00:05:37uh that's how I got to uh became aware
- 00:05:39of will in the first place I've enjoyed
- 00:05:41his writings uh in that uh uh capacity
- 00:05:43for a long time and I'm really happy to
- 00:05:46be here today to talk about uh case
- 00:05:48studies in software engineering judgment
- 00:05:50uh Stranger Than Fiction uh we have a
- 00:05:53fairly ambitious agenda for the talk
- 00:05:55today and uh the title should be taken
- 00:05:58quite literally uh case studies in
- 00:06:00software engineering judgment uh that
- 00:06:02means that we're going to talk some
- 00:06:03about judgment uh maybe more than you
- 00:06:05would have expected uh but we're going
- 00:06:07to talk some about that I'm going to
- 00:06:09present a model uh that is one possible
- 00:06:11way to support better judgment in
- 00:06:12software engineering uh and then uh we
- 00:06:16will uh uh look at a few case studies in
- 00:06:18applying software engineering judgment I
- 00:06:21I think that uh this is a pretty
- 00:06:23important topic uh we're going to just
- 00:06:24really hit the tip of the iceberg today
- 00:06:26but I think you'll at least get enough
- 00:06:28of a flavor of it to see there actually
- 00:06:30is a pretty important uh issue
- 00:06:33here so turning then to that first topic
- 00:06:35the topic of judgment uh I think a good
- 00:06:38way to look at judgment is through
- 00:06:40something known as Bloom's taxonomy uh
- 00:06:43Bloom's taxonomy is often used in uh I
- 00:06:46think primarily used in education
- 00:06:47circles typically for the design of
- 00:06:49class materials or perhaps exam
- 00:06:51questions uh I think it actually is
- 00:06:54often treated as though it's kind of
- 00:06:56just a superficial description of
- 00:06:57something but I think if you really
- 00:06:59study Bloom's taxonomy it yields some
- 00:07:02really significant insights uh for
- 00:07:04software engineering uh Bloom's taxonomy
- 00:07:07basically uh uh lists uh levels of of of
- 00:07:11understanding uh going from knowledge
- 00:07:13and comprehension and application down
- 00:07:15to analysis synthesis and judgment or
- 00:07:18valuation we will talk about each of
- 00:07:19those in some detail um so as I as now
- 00:07:24we officially see on the slide I think
- 00:07:26Bloom's taxonomy is often treated almost
- 00:07:28superficially or even flippantly uh but
- 00:07:31I I don't think it's an overstatement to
- 00:07:33say that a real understanding especially
- 00:07:35of the upper levels of the taxonomy uh
- 00:07:37which is to say uh uh analysis synthesis
- 00:07:41and judgment has profound implications
- 00:07:44for software
- 00:07:46professionals so the first level as you
- 00:07:49see typically represented as the bottom
- 00:07:51level on a pyramid is knowledge or also
- 00:07:53known as recall this is the remembering
- 00:07:55of previously learned material uh we see
- 00:07:58recall or knowledge and software
- 00:08:00engineering when we for example recall
- 00:08:02book learning or we recall personal
- 00:08:04experience or we recall specific details
- 00:08:07needed to implement a particular
- 00:08:08technical practice uh certainly
- 00:08:10recalling patterns of practices would
- 00:08:12fall into that knowledge category and
- 00:08:14recalling successes in design Code test
- 00:08:17project management and so on would also
- 00:08:19be examples of recall or
- 00:08:23knowledge the next level up is
- 00:08:25comprehension comprehension refers to
- 00:08:27grasping the meaning of of material this
- 00:08:31would be the lowest level of
- 00:08:33understanding according to Bloom's
- 00:08:34taxonomy examples in software
- 00:08:36engineering uh would include summarizing
- 00:08:39a methodology so not just recalling
- 00:08:41details but summarizing it which would
- 00:08:43show comprehension explaining scrum
- 00:08:45either in words or as a diagram being
- 00:08:47able to explain a concept in different
- 00:08:49forms would be a sign of comprehension
- 00:08:52describe an example of scrum would be uh
- 00:08:54one kind of comprehension explain why
- 00:08:56scrum is not a design approach so you
- 00:08:58can see how that goes beond Beyond
- 00:08:59Simple recall or explain how scrum is
- 00:09:02different from extreme programming those
- 00:09:03are all examples of comprehension and I
- 00:09:06think you can probably see how that
- 00:09:07contrasts with uh recall which is a a
- 00:09:10lower level on Bloom's
- 00:09:12taxonomy the next level up is
- 00:09:14application and in application uh we use
- 00:09:18the knowledge from the recall level as
- 00:09:20well as comprehension to solve problems
- 00:09:22in new and concrete situation so in
- 00:09:25software engineering that would include
- 00:09:27examples like using general design
- 00:09:29knowledge to solve a specific design
- 00:09:32problem so in other words applying our
- 00:09:33general knowledge to a specific case
- 00:09:35that's application or using general
- 00:09:37project planning knowledge to plan a
- 00:09:39specific project or general software
- 00:09:41construction knowledge to write a
- 00:09:42specific piece of code so this is
- 00:09:45considered in Bloom's taxonomy to be
- 00:09:47another level up in the
- 00:09:49taxonomy the next level up is analysis
- 00:09:52and Analysis consists of breaking a
- 00:09:54problem into its part so that its
- 00:09:55relationships and organizational
- 00:09:57structure can be understood
- 00:09:59we do an awful lot of analysis in
- 00:10:02software engineering uh some examples
- 00:10:04would include breaking a large class
- 00:10:06into two smaller classes or breaking a
- 00:10:08class into methods and data uh certainly
- 00:10:10when we allocate functionality and data
- 00:10:12to methods within a class that would be
- 00:10:14another example of breaking a problem
- 00:10:16into its parts uh finding flaws in a
- 00:10:20proposed design basically we use phrases
- 00:10:21like pick something apart that is
- 00:10:23fundamentally describing analysis that
- 00:10:26is breaking something into its parts
- 00:10:28finding the source of a coding error
- 00:10:29tracking into the code I.E looking at
- 00:10:32increasingly fine levels of detail would
- 00:10:35be another example of analysis now I'd
- 00:10:38like to dwell on analysis for a little
- 00:10:40bit because this is really key to the
- 00:10:42practice of software engineering
- 00:10:44analysis is also known as critical
- 00:10:46thinking and in the software field at
- 00:10:48least at the practitioner level we
- 00:10:50screen extensively for analysis skills
- 00:10:53as an entry criteria for entering the
- 00:10:55programming profession uh the whole idea
- 00:10:57of programming identifying the correct
- 00:11:00sequence of operations in a section of
- 00:11:02code is fundamentally an analysis
- 00:11:04activity uh identifying boundary
- 00:11:06conditions identifying off by one errors
- 00:11:09those are fundamentally analysis
- 00:11:10activities now I think it's important to
- 00:11:12understand that these are not common
- 00:11:14human skills most of the human race does
- 00:11:17not find it that easy to identify the
- 00:11:20exact correct sequence of operations and
- 00:11:23uh I don't know how many of you might
- 00:11:24have uh approached programming in your
- 00:11:26younger days but I still remember when I
- 00:11:28was first learning my first programming
- 00:11:30language I remember how brain busting it
- 00:11:33was to have to think through the steps
- 00:11:36in a program line by line keeping in
- 00:11:39mind that certain things had to be done
- 00:11:42before other things and the holistic
- 00:11:44sense of the thing didn't matter uh in
- 00:11:46that it didn't really I couldn't just
- 00:11:47put everything down that needed to be
- 00:11:49done and assume it would be done in the
- 00:11:50correct order I found it to be quite a
- 00:11:52challenge at first to get things uh
- 00:11:55listed step by step so that I didn't do
- 00:11:58the dependent step step until I had done
- 00:12:00the antecedent step and I remember how
- 00:12:03much that hurt my brain at first of
- 00:12:05course you know a couple years later I
- 00:12:07was doing that sort of thing in my sleep
- 00:12:08as is probably everyone on this on this
- 00:12:11uh webinar but I think it's good to
- 00:12:13understand that these are not common
- 00:12:14human skills and most of the human race
- 00:12:17uh doesn't really possess these skills
- 00:12:19to any significant degree uh and the
- 00:12:21interesting thing is that most software
- 00:12:23professionals are really really good at
- 00:12:26analysis and that is partly a strength
- 00:12:29that partly a weakness as it turned out
- 00:12:31I would say that analysis often
- 00:12:33constitutes an overdeveloped muscle for
- 00:12:36many technical staff uh developed is
- 00:12:38fine but overdeveloped really means that
- 00:12:41it's out of balance or overly strong
- 00:12:43compared to the next two highest levels
- 00:12:45on blooms taxonomy of synthesis and
- 00:12:47evaluation when we have overdeveloped
- 00:12:49analysis skill that can lead to the
- 00:12:51common problem that's so common it has a
- 00:12:53name analysis paralysis uh it can also
- 00:12:56lead to excessive focus on individual
- 00:12:59details and I think this is almost a
- 00:13:01cliche in software that people who can
- 00:13:04be quite excellent in some respects
- 00:13:06actually can have an inability to see
- 00:13:07the forest for the trees they become
- 00:13:09excessively preoccupied with uh things
- 00:13:12that are very specific and really maybe
- 00:13:14don't have that much General
- 00:13:16importance so let's talk about synthesis
- 00:13:19for a moment we'll come back and revisit
- 00:13:21analysis in a little bit uh synthesis is
- 00:13:24the uh the next highest level on Bloom's
- 00:13:26taxonomy and this is putting Parts
- 00:13:28together to form a new organization or
- 00:13:30whole that requires original or creative
- 00:13:33thinking and in software engineering
- 00:13:35some examples would include things like
- 00:13:36combining two classes into a new class
- 00:13:39into one new class that provides an
- 00:13:41interface at a different level of
- 00:13:42abstraction so that would be a good
- 00:13:44example of synthesis I think uh making
- 00:13:47Global versus local trade-offs in design
- 00:13:49of a system to create a better overall
- 00:13:51design the whole idea that the
- 00:13:53considerations globally might not simply
- 00:13:55be enumerating the entire list of local
- 00:13:58tradeoffs but the we might get into
- 00:13:59something that's qualitatively different
- 00:14:01at the global level would be a synthesis
- 00:14:04kind of idea assembling a team based on
- 00:14:06strengths and weaknesses of a particular
- 00:14:08set of individuals rather than thinking
- 00:14:10there is one archetypal best contributor
- 00:14:12in trying to have as many of those
- 00:14:14people as we can the idea that we would
- 00:14:16assemble a team Based On A diversity of
- 00:14:18strengths and weaknesses and that the
- 00:14:19whole would somehow be greater than the
- 00:14:21parts would be a synthesis activity
- 00:14:23adjusting overall project plans based on
- 00:14:26progress of a set of individual teams so
- 00:14:28this is really at the executive
- 00:14:30management level would be a synthesis
- 00:14:32activity in Bloom's taxonomy synthesis
- 00:14:34or create crate is one of the highest
- 00:14:37levels of
- 00:14:38understanding uh let's H dwell a little
- 00:14:41bit more on synthesis so synthesis is
- 00:14:44also known as creative thinking and uh
- 00:14:47under Bloom's taxonomy as you can see
- 00:14:49from the way it's represented as a
- 00:14:50pyramid this is a higher level skill and
- 00:14:53not as many people are good at it uh I
- 00:14:55find I found over the years that
- 00:14:57technical people often discount account
- 00:14:59the value of synthesis uh for example
- 00:15:02it's very common for technical staff to
- 00:15:03be skeptical of upper management which
- 00:15:05really by its nature needs to be more
- 00:15:07more focused on synthesis and creation
- 00:15:10than on analysis and so we actually see
- 00:15:12not just an under appreciation but often
- 00:15:14a disrespect for the whole synthesis
- 00:15:17activity I think the bottom line here is
- 00:15:19that software industry does a much
- 00:15:20better job of recruiting and screening
- 00:15:23for analysis skill than we do for
- 00:15:25synthesis or creative skill despite the
- 00:15:27fact that you could see from the list of
- 00:15:29activities that I listed under synthesis
- 00:15:31that there are some really important
- 00:15:32activities uh that fall under that
- 00:15:36umbrella the top level in Bloom's
- 00:15:39taxonomy uh is Judgment or evaluation uh
- 00:15:42and that means uh evaluate the value of
- 00:15:45ideas Concepts principles or solution
- 00:15:47methods for a given purpose and like
- 00:15:50synthesis evaluation is one of the
- 00:15:52highest levels of understanding um now
- 00:15:56interestingly enough judgment or value
- 00:15:59ation has been applied to Bloom's
- 00:16:00taxonomy itself uh in the original
- 00:16:02version of Bloom's taxonomy created in
- 00:16:051956 uh the terms were nouns going from
- 00:16:08knowledge to evaluation with the two top
- 00:16:11levels being synthesis second and
- 00:16:13evaluation first the taxonomy was
- 00:16:15revised in 2001 to revise the terms to
- 00:16:18be verbs rather than nouns and the two
- 00:16:20top levels were essentially switched so
- 00:16:22that in 2001 the thinking was that
- 00:16:24evaluation was the second uh highest
- 00:16:26level and crate was the highest level so
- 00:16:29kind of an interesting application of
- 00:16:30judgment to Bloom's taxonomy itself uh I
- 00:16:34personally interpret it more like this
- 00:16:36to say that I'm not sure that I believe
- 00:16:38that either create or evaluate is the
- 00:16:40thing at the top I think they are both
- 00:16:42at the top I think they both feed off
- 00:16:45each other and they both depend on
- 00:16:47analysis uh so really I think what we
- 00:16:50have is really kind of two things at the
- 00:16:51top um there may be others who know more
- 00:16:53about Bloom's taxonomy than I do who
- 00:16:55would uh dispute that but I think that's
- 00:16:57a a pretty good way to look at
- 00:17:00it so what are some examples of judgment
- 00:17:02and software engineering well choosing
- 00:17:05the better of two technology paths okay
- 00:17:07that's something we need to do fairly
- 00:17:08often uh choosing the best of three
- 00:17:10design approaches that's something we
- 00:17:12need to do very often uh justifying a re
- 00:17:15architecture project kind of interesting
- 00:17:17you know when is the right time to
- 00:17:19actually make that leap well there's a
- 00:17:21lot of judgment involved in that um
- 00:17:23choosing which proposed projects best
- 00:17:25support a business's objectives clearly
- 00:17:27that involves uh uh making some
- 00:17:29judgments or evaluations assessing the
- 00:17:31degree to which a new methodology will
- 00:17:33benefit an organization or harm it uh
- 00:17:36certainly an example predicting the
- 00:17:38likelihood of success of a project plan
- 00:17:40another good example or conducting root
- 00:17:43cause analysis on a failed project
- 00:17:44that's I think actually the one that is
- 00:17:46maybe the most questionable particularly
- 00:17:49because it has the word analysis in it
- 00:17:51so that makes it sound like maybe it has
- 00:17:52more to do with analysis but the point
- 00:17:54here is it's not just about the analysis
- 00:17:56it's also about picking which which
- 00:17:59factor actually or factors are actually
- 00:18:01the ones that made the difference so
- 00:18:03identifying the factors would be
- 00:18:04analysis but then discriminating among
- 00:18:07the factors and picking correctly the
- 00:18:09ones that actually matter that would be
- 00:18:11the uh judgment activity now I think uh
- 00:18:15uh uh the difference between analysis
- 00:18:17and judgment can be sometimes a little
- 00:18:19bit hard to grasp but the basic idea I
- 00:18:22think a way to look at it is that the
- 00:18:24anal analysis is the ability to go very
- 00:18:26far down a decision tree and Ong
- 00:18:29multiple paths so the ability and I
- 00:18:31don't know how well you'll be able to
- 00:18:32see this on your screen but the ability
- 00:18:34to go very way down to a fine level of
- 00:18:36detail and then discriminate by going
- 00:18:38down other branches far down the tree
- 00:18:40going down to other fine levels of
- 00:18:42detail and being able to organize and
- 00:18:44keep those straight and understand
- 00:18:47comprehend uh all those paths a fine
- 00:18:49level of detail would really be
- 00:18:51characteristic of analysis now judgment
- 00:18:54on the other hand really has more to do
- 00:18:57with deciding
- 00:18:59uh which path is the right path to go
- 00:19:01down for a particular purpose and this
- 00:19:04is something where a lot of technical
- 00:19:05people get hung up because they're so
- 00:19:07focused on the analysis that they don't
- 00:19:09look at the very top decision and say
- 00:19:11you know what we can go deep in the tree
- 00:19:13but that very first decision was
- 00:19:15actually the one that was wrong uh and
- 00:19:18from a judgment point of view we might
- 00:19:19very well have a circumstance where any
- 00:19:22path on the right is better than any
- 00:19:25path on the left and further analysis on
- 00:19:27the details of the path path on the L is
- 00:19:30not going to change that fundamental uh
- 00:19:32decision because we actually we actually
- 00:19:36made the right or wrong decision at the
- 00:19:38very very first decision on the tree uh
- 00:19:41and so this is something that a lot of
- 00:19:42technical people who are very
- 00:19:44analytically focused have a really hard
- 00:19:46time wrapping their brains around they
- 00:19:48have a hard time wrapping their brains
- 00:19:50around the idea that in some cases
- 00:19:53further analysis doesn't matter that
- 00:19:55it's okay to ignore details that more
- 00:19:58detail s are actually not going to
- 00:20:00influence the overall outcome of the
- 00:20:02decision and so this would be
- 00:20:04characteristic of judgment not analysis
- 00:20:06but judgment to the degree that
- 00:20:08technical people are uncomfortable with
- 00:20:10that it's symptomatic of that
- 00:20:12overdeveloped analysis muscle and may be
- 00:20:15an underdeveloped judgment
- 00:20:17muscle so uh one of the other uh
- 00:20:20interesting aspects of analysis and
- 00:20:22judgment is because we're so analysis
- 00:20:24heavy in software we often mistake uh
- 00:20:27analysis for judging we uh will we be in
- 00:20:30circumstances that really do call for
- 00:20:31judgment we'll see a heavy application
- 00:20:33of analysis instead and we'll think that
- 00:20:36that's judgment even though it's not so
- 00:20:38examples uh might be uh something like
- 00:20:40criticizing each of two technology paths
- 00:20:43that's not judgment that is analyzing
- 00:20:45each of the two paths uh finding faults
- 00:20:48in three design approaches well you know
- 00:20:50if you're tasked with choosing the best
- 00:20:52of three design approaches then it kind
- 00:20:54of looks like if you were to find faults
- 00:20:55in each of those three that that might
- 00:20:57kind of be sort of like judgment but
- 00:20:59actually finding the faults would be the
- 00:21:00analysis step and that would need to be
- 00:21:02followed by a judgment step depending on
- 00:21:05how blatant The Faults Are there might
- 00:21:06not be a lot of analysis needed actually
- 00:21:08because the right path might actually be
- 00:21:11uh determined much higher in the
- 00:21:13decision tree identifying limitations of
- 00:21:16a current system to justify a re
- 00:21:17architecture project uh identifying the
- 00:21:20limitations fundamentally and Analysis
- 00:21:22task advocacy for projects doesn't get
- 00:21:25Beyond past Beyond advocacy of one
- 00:21:28favored project so that's interesting
- 00:21:30too you know we can advocate for one
- 00:21:32project but that doesn't imply judgment
- 00:21:34it really implies a lower level on
- 00:21:36Bloom's taxonomy assessment of a new
- 00:21:38methodology amounts to religious
- 00:21:40advocacy for one methodology so again
- 00:21:43there assessment is kind of in the same
- 00:21:44family as evaluate or judge uh and uh
- 00:21:48advocacy for one thing is not the same
- 00:21:50as assessment of a set of things
- 00:21:53assessment of project plans focuses on
- 00:21:55minutia that's the whole idea of not
- 00:21:56being able to see the force for the
- 00:21:58reason we certainly see that uh fairly
- 00:22:00often in our field or root cause
- 00:22:03analysis on a failed project consists of
- 00:22:05rehashing unpopular decision same kind
- 00:22:07of issue where uh again rather than
- 00:22:10really doing judgment uh as
- 00:22:13counterintuitive as that might be for
- 00:22:14something called root cause analysis uh
- 00:22:16instead of applying judgment uh we
- 00:22:18actually get hung up on just looking at
- 00:22:21again at details that may or may not
- 00:22:22really
- 00:22:24matter so um judgment capability in my
- 00:22:27view is even rarer than synthesis in
- 00:22:29software engineering and I think we
- 00:22:31hardly screen for judgment in our
- 00:22:33recruiting and uh recruiting practices
- 00:22:35at all uh for example Microsoft's famous
- 00:22:38interview questions are nearly all about
- 00:22:40synthesis uh Which is higher on Bloom's
- 00:22:42taxonomy than typical interview
- 00:22:44questions are which is off which are
- 00:22:45often more about analysis but poor
- 00:22:48business judgment is so common among
- 00:22:50technical staff that it is a cliche uh
- 00:22:52if you spend much time with a C Level
- 00:22:54that is CEO coo CFO Executives in
- 00:22:57companies they just shake their heads at
- 00:23:00the business judgment demonstrated by
- 00:23:01technical staff and I've had numerous
- 00:23:03experiences where I would actually
- 00:23:04confirm that myself so rather than just
- 00:23:08kind of uh saying wow that's terrible
- 00:23:10too bad we have to live with that the
- 00:23:11$64 question is then how do we develop
- 00:23:15good judgment in software professionals
- 00:23:17if they don't come by it naturally and
- 00:23:19if we're not recruiting for it how do we
- 00:23:21develop that good judgment uh so that
- 00:23:24that's not a weakness of our field and
- 00:23:28uh I think there are a variety of ways
- 00:23:29to do that but a way that I will propose
- 00:23:31today is use of what I call the four
- 00:23:32factors model I have another
- 00:23:34presentation that goes into a lot of
- 00:23:36detail on the four factors model uh but
- 00:23:39um I will just summarize this very
- 00:23:41briefly today the four factors model
- 00:23:43basically says that if we have a deep
- 00:23:45understanding of the influence of
- 00:23:47project size or the product size of the
- 00:23:51role of uncertainty in software projects
- 00:23:52of the role that defects play and of
- 00:23:55human variation and of the Myriad
- 00:23:57interactions between between these four
- 00:23:59factors we have a good understanding a
- 00:24:01deep understanding of those uh four
- 00:24:03factors that goes a long way toward
- 00:24:05explaining everything you need to know
- 00:24:07basically about uh software Project
- 00:24:09Dynamics um I'm not going to go through
- 00:24:12these in a huge amount of detail but
- 00:24:13size would include things like the idea
- 00:24:15of diseconomy of scale the notion that
- 00:24:18the larger the project gets the lower
- 00:24:20per person productivity becomes uh
- 00:24:22failure rate of large versus small
- 00:24:24projects specializations of large versus
- 00:24:26small projects mix of different kinds of
- 00:24:28of activities on large versus small
- 00:24:30projects and so on uh uncertainty huge
- 00:24:33topic you know could be spend many hours
- 00:24:35lecturing on that but includes a notion
- 00:24:37of intellectual phases which uh I've
- 00:24:39talked about a lot but otherwise it
- 00:24:41hasn't really achieved much currency
- 00:24:43cone of uncertainty which really has
- 00:24:44achieved some currency uh and other
- 00:24:47topics that you can see on the slide uh
- 00:24:49defects really understanding the notion
- 00:24:51of defect cost increase of the effect of
- 00:24:54a lag between defect insertion and
- 00:24:56defect detection uh the effect of
- 00:24:59different defect removal techniques and
- 00:25:01the consequences of putting those into a
- 00:25:03series of removal techniques and so on
- 00:25:05again lots and lots of details that are
- 00:25:07worth talking about there and then human
- 00:25:09variation I think a huge factor that
- 00:25:11doesn't get emphasized enough especially
- 00:25:13not in a research context frankly
- 00:25:15because the human variation actually
- 00:25:17undermines a lot of the research that's
- 00:25:19been done if we take it seriously and
- 00:25:21yet if we really want to get to a point
- 00:25:23where we have consistently successful
- 00:25:24software projects I think it's really
- 00:25:26important to understand the inss and
- 00:25:28outs of how human variation affects
- 00:25:30software project Dynamic so that's a
- 00:25:32very very brief introduction to uh the
- 00:25:35four factors um so the four factors
- 00:25:39model essentially uh if we spin it the
- 00:25:41right way can provide a set of templates
- 00:25:44against which we compare what we see on
- 00:25:45a project versus what we would expect to
- 00:25:47see on healthy project and I think that
- 00:25:50that can support judgment I mean if we
- 00:25:52think about how people commonly talk
- 00:25:54about judgment we often talk about it as
- 00:25:57though judgment is something that comes
- 00:25:58significantly from experience and
- 00:26:01experience really is actually something
- 00:26:03that kind of if you think about it uh
- 00:26:05involves creating mental templates it
- 00:26:07create it's a process of creating
- 00:26:09expectations based on having seen
- 00:26:11similar things over and over again and
- 00:26:13then judgment can be supported by
- 00:26:15comparing something new to the
- 00:26:17expectations that we have formed based
- 00:26:19on seeing a variety of things in the
- 00:26:21past that would be one way to apply
- 00:26:23judgment so one example of using the
- 00:26:26four factors model to support judg would
- 00:26:28be to create checklists based on the
- 00:26:31four factors and so I'm not going to
- 00:26:33read through every point on these slides
- 00:26:35uh as a uh will set in the introduction
- 00:26:37the slides will the presentation will be
- 00:26:39recorded and archived and available so
- 00:26:42if you're interested you can come back
- 00:26:43and take a look at these details later
- 00:26:46uh but we would have a checklist related
- 00:26:47to size and it would have questions like
- 00:26:49uh is the project estimated close to its
- 00:26:51actual size and that would imply is the
- 00:26:53pro are the project plans really scaled
- 00:26:55appropriately for the size does the
- 00:26:57project schedule permit completion of a
- 00:27:00project of the estimated effort uh other
- 00:27:02questions like uh do we have appropriate
- 00:27:04staff specializations for the size of
- 00:27:06the project do we have appropriate
- 00:27:08management for the size of the project
- 00:27:10uh and so on so basically a cluster of
- 00:27:13issues related to size and we'll get
- 00:27:15into more details on that when we look
- 00:27:17at the case studies uh second of the
- 00:27:19four factors would be uncertainty and
- 00:27:21here too we have questions like do the
- 00:27:23projects estimates and plans account for
- 00:27:25the cone of uncertainty where will the
- 00:27:27projects ch Alles come from in terms of
- 00:27:29the intellectual phase profiles uh are
- 00:27:32we addressing design uncertainty in a in
- 00:27:34an appropriate way are we addressing
- 00:27:35requirements uncertainty and Technology
- 00:27:38uncertainty uh inappropriate ways and uh
- 00:27:41and other questions along these lines
- 00:27:43and again we'll get into the application
- 00:27:45of some of these as we look at uh some
- 00:27:47of the case studies uh we also have a
- 00:27:49defect checklist again uh you can look
- 00:27:52at the details at your leisure perhaps
- 00:27:54uh after the talk has been archived but
- 00:27:56we're really looking at how effective is
- 00:27:58the approach the project is taking to
- 00:28:00detecting and removing defects in a
- 00:28:02timely way uh really these questions
- 00:28:04amount to answering that question uh and
- 00:28:08finally human variation uh again here
- 00:28:11are lots of important questions uh do
- 00:28:12the people on the project have the
- 00:28:14skills needed to complete a project of
- 00:28:16the intended size uh do they have the
- 00:28:18skills needed to complete a project with
- 00:28:20the uncertainty characteristics
- 00:28:21demonstrated on the project uh do they
- 00:28:24have the skills needed to deliver
- 00:28:25software at the intended or Target
- 00:28:27quality level these are the kinds of
- 00:28:29questions we look at when we want to
- 00:28:30talk about human variation so these
- 00:28:33checklists really are intended for
- 00:28:35purposes of illustration I think they
- 00:28:37are uh reasonable uh presentation of
- 00:28:40checklists for presentation purposes
- 00:28:42they aren't necessarily the BL end all
- 00:28:44checklists uh uh somebody who wanted to
- 00:28:47spend a lot more time looking at these
- 00:28:48might be able to come up with better
- 00:28:50checklists but I think they're good
- 00:28:51enough to get the idea across of how we
- 00:28:53could package these up and put them into
- 00:28:56uh a model that would would actually
- 00:28:58allow us to practice using judgment in
- 00:29:00looking at software projects and so
- 00:29:02really what I've done for purposes of
- 00:29:04this talk is to create a simplified
- 00:29:06model where we simply have a red yellow
- 00:29:08green classification for each of the
- 00:29:11four factors size uncertainty defects
- 00:29:13and human
- 00:29:15variation so with all that is prologue
- 00:29:18uh given that the title of the talk is
- 00:29:20case studies in software engineering
- 00:29:21judgment uh that lays some groundwork
- 00:29:24for the Judgment part of the talk now
- 00:29:26let's go ahead and take a look at uh
- 00:29:28case studies part of the talk and here
- 00:29:30uh we will look at a handful of case
- 00:29:32studies some that of projects that went
- 00:29:34well some of projects that didn't go so
- 00:29:35well and apply that four factors model
- 00:29:38and see if we can actually essentially
- 00:29:40practice applying judgment to uh
- 00:29:43software projects the first case study
- 00:29:46uh the value of case studies I think is
- 00:29:49um that we can improve judgment um I
- 00:29:52think understanding the four factors
- 00:29:54model which is really kind of baked into
- 00:29:56the way I'm presenting the case studies
- 00:29:58also support synthesis or creative in
- 00:30:00the blooms taxonomy sense in in that we
- 00:30:03really need to be applying synthesis or
- 00:30:05creative in planning and management uh
- 00:30:07and so really this is all just very
- 00:30:09condensed form of practice of applying
- 00:30:11judgment you know experience can real
- 00:30:13experience can be a great teacher but it
- 00:30:15takes a long time uh I really am a fan
- 00:30:17of case studies for condensing that kind
- 00:30:19of uh experience into a much shorter
- 00:30:21time frame so the first case study I'd
- 00:30:24like to take a look at is healthcare.gov
- 00:30:27certainly the high highest profile uh
- 00:30:29challenge software project we've had in
- 00:30:31recent years and I think one that really
- 00:30:33does benefit from uh a de from a look at
- 00:30:36uh the factors that were in play on that
- 00:30:41project so the background uh for people
- 00:30:44who uh don't read the newspaper every
- 00:30:46day in the US is that the Affordable
- 00:30:48Care Act was passed in December of 2009
- 00:30:51signed into law in March
- 00:30:522010 private sector development
- 00:30:55contracts were awarded in
- 00:30:562011 the original project budget was
- 00:30:59about $100 million um coding by CGI the
- 00:31:02prime contractor began in Spring
- 00:31:052013 for October 1st 2013 go live date
- 00:31:10now if you know anything about software
- 00:31:13Project Dynamics right away you should
- 00:31:15be nervous about that statement coding
- 00:31:17for a100 million project began in Spring
- 00:31:202013 for an October first first go live
- 00:31:23date but we will we will go on cost by
- 00:31:25the time the system went live was almost
- 00:31:27$300 million
- 00:31:29uh and as most of the people who were in
- 00:31:30The us at the time would know when the
- 00:31:32system went live it was plagued by slow
- 00:31:33performance downtime lost data
- 00:31:35incomplete functionality other problems
- 00:31:38one estimate was that only 1% of people
- 00:31:40were able to use the site as intended at
- 00:31:43first so clearly a challenged project in
- 00:31:45many respects now what's interesting
- 00:31:48about this is how the people who were
- 00:31:49involved in the project diagnosed the
- 00:31:52problems with healthcare.gov so
- 00:31:54contemporary newspaper reports meaning
- 00:31:56October of 2013
- 00:31:58characterized the problems with the site
- 00:32:00as being not enough testing so you can
- 00:32:02see from the headline here from USA
- 00:32:04Today the government did not test the
- 00:32:06healthcare site as needed and in case
- 00:32:08you missed the fact that it was about
- 00:32:09testing uh the subheading also says did
- 00:32:12not test the health exchange website as
- 00:32:14much as it needed to and in case it's
- 00:32:16still not clear the first sentence in
- 00:32:17the article says not not enough tests
- 00:32:19were performed and in case you still
- 00:32:21haven't gotten the picture the quote in
- 00:32:23the first sentence of the second
- 00:32:24paragraph says the system just wasn't
- 00:32:26tested enough so it seems pretty clear
- 00:32:29that the people directly involved with
- 00:32:31the project reporting the issues at the
- 00:32:33time thought that the problems had
- 00:32:34something to do with testing now let's
- 00:32:37dig into that a little bit and see uh
- 00:32:39whether we agree that that's the case
- 00:32:41other details reported in articles at
- 00:32:43the time said things like we all know we
- 00:32:45were working under a compressed time
- 00:32:47frame to launch this on October 1st well
- 00:32:50compressed time frame says something
- 00:32:52different to me than not tested enough I
- 00:32:54wrote a whole book called rapid
- 00:32:56development about development under
- 00:32:57compr compressed time frames there are
- 00:32:59all kinds of dynamics that come into
- 00:33:01play when you start working under a
- 00:33:02compressed time frame that don't have a
- 00:33:04whole lot to do with not enough testing
- 00:33:07another report another comment said that
- 00:33:09during house hearing contractors said
- 00:33:11CMS decided at the last minute not to
- 00:33:14allow people to shop for plans now
- 00:33:16that's interesting decided at the last
- 00:33:18minute what does that mean well to me
- 00:33:20with my software guy hat on that says
- 00:33:22there were late requirements changes in
- 00:33:24the project which again doesn't really
- 00:33:25have anything to do with testing another
- 00:33:28comment officials were still changing
- 00:33:29features of the website as late as the
- 00:33:31last week of September for an October 1
- 00:33:34release absolutely crazy and nothing to
- 00:33:36do with testing absolutely has to do
- 00:33:38with
- 00:33:39requirements uh and then here's one they
- 00:33:41had just two weeks to test the site
- 00:33:42before all the pieces from several
- 00:33:44contractors had to work together the day
- 00:33:46of the launch now I could do a whole
- 00:33:48talk on that one sentence uh this I
- 00:33:50think is characteristic of projects that
- 00:33:52start out being behind schedule
- 00:33:54basically uh there's work going on in
- 00:33:56the project that no one wanted to admit
- 00:33:58needed to be done namely significant
- 00:34:01integration work from the several
- 00:34:03contractors but basically uh because
- 00:34:05everyone was under so much schedule
- 00:34:06pressure nobody took ownership of that
- 00:34:09work and the work just didn't happen the
- 00:34:11idea that they were going to just put
- 00:34:12the pieces together at the last minute
- 00:34:14and see if they worked on the day of the
- 00:34:16launch is just laughable that's
- 00:34:18something that people would have
- 00:34:20reported uh as a bad practice in the 80s
- 00:34:23we certainly should know better today uh
- 00:34:25and then interestingly enough
- 00:34:28determining many of the problems the
- 00:34:29system would have after the various
- 00:34:31parts were integrated was difficult
- 00:34:32until the site actually went online wow
- 00:34:35that's quite a statement too so they
- 00:34:37weren't going to actually know whether
- 00:34:38it worked until it went online uh a very
- 00:34:41scary statement it was the agency's
- 00:34:42responsibility to make sure all the
- 00:34:44parts work together so again basically
- 00:34:47uh there was too little time on the
- 00:34:49project nobody wanted to take
- 00:34:50responsibility by default it was the
- 00:34:52agency's responsibility to make sure all
- 00:34:54the parts work together but the agency
- 00:34:55didn't have the expertise to do that
- 00:34:57which is why they hired a contractor for
- 00:34:59this project in the first place um the
- 00:35:02technology is there to do that it just
- 00:35:04requires foresight now this is goves me
- 00:35:07more than anything else on this uh on
- 00:35:09this slide which is it just requires
- 00:35:11foresight is basically saying it just
- 00:35:13requires an adequate amount of planning
- 00:35:15which of course I would completely agree
- 00:35:17with but it's sort of implying that they
- 00:35:19didn't have an adequate amount of
- 00:35:20planning which I think is actually quite
- 00:35:22clear from the results so bottom line is
- 00:35:25how does all this add up to not enough
- 00:35:27testing it doesn't add up to not enough
- 00:35:30testing it has very little to do with
- 00:35:31not enough testing yet the people
- 00:35:33intimately involved with the project
- 00:35:35thought that testing was the culprit uh
- 00:35:37when I think quite clearly just from
- 00:35:39reading the newspaper reports at the
- 00:35:41time you could tell that it really
- 00:35:43didn't have very much to do with testing
- 00:35:45now interestingly enough if we appli the
- 00:35:47four factors model uh which is
- 00:35:50essentially what I did at uh my
- 00:35:52executive uh Summit in 2013 if we look
- 00:35:55at the size of the project it's a short
- 00:35:57schedule it's a huge budget $100 million
- 00:36:01huge staff ramp up there's a good
- 00:36:02argument to be made that you cannot
- 00:36:05meaningfully spend $100 million worth of
- 00:36:08development effort in the amount of time
- 00:36:09they had to do the project and clearly
- 00:36:11the planning was not matched to the
- 00:36:13project size I think this gets a pretty
- 00:36:15good good red circle on the size uh size
- 00:36:18uh Factor uncertainty we had numerous
- 00:36:21immovable requirements or laws and so uh
- 00:36:25those uh put some constraints on the
- 00:36:27project but had massive and late
- 00:36:29requirements changes and we also had
- 00:36:31some significant unprecedented this in
- 00:36:33the nature of the application that was
- 00:36:34being built I would actually give this
- 00:36:36uh uh characterize this as red on the
- 00:36:38uncertainty Factor as well on the defect
- 00:36:41front the approach to QA was not matched
- 00:36:44the size of the project or the nature of
- 00:36:46the uncertainty we don't really even
- 00:36:48have to talk about the details we can
- 00:36:50just tell from the reports that it
- 00:36:52really doesn't have to do with testing
- 00:36:53it has to do with endtoend quality
- 00:36:55assurance practices and here too I give
- 00:36:57this a red circle now human variation
- 00:37:00interestingly enough what was that we
- 00:37:02don't get a lot of information about how
- 00:37:04good or bad the staff was on the project
- 00:37:06and you know what it doesn't matter
- 00:37:08because when we're talking about
- 00:37:09software engineering judgment as opposed
- 00:37:11to analysis if we've got red light on
- 00:37:14the first three factors it doesn't
- 00:37:16really matter whether the final factor
- 00:37:18is red yellow or green we know that
- 00:37:20we're going to have a failed project and
- 00:37:22that goes back to that whole idea of
- 00:37:23judgment not needing to know every
- 00:37:25single detail
- 00:37:27all right now interestingly enough uh
- 00:37:29the GAO the government Accounting Office
- 00:37:31issued a report in July of
- 00:37:332014 that concluded substantially the
- 00:37:36same thing uh nine months after I gave
- 00:37:39my talk in October of
- 00:37:412013 uh is that nine months maybe it was
- 00:37:43November of 2013 that concluded
- 00:37:45basically the same thing that
- 00:37:46healthcare.gov suffered from Rush
- 00:37:47schedule changing requirements lacks
- 00:37:50oversight of contractors lack of
- 00:37:52effective planning and oversight
- 00:37:53practices and so the interesting thing
- 00:37:56is I think that uh that I gave a very
- 00:37:59similar assessment just a few days after
- 00:38:01it went live just from reading the
- 00:38:03newspaper and I believe that anyone can
- 00:38:06do this if they understand the four
- 00:38:08factors model so I'm not saying I have
- 00:38:10any particular unique attributes in this
- 00:38:12area or skills in this area but I do
- 00:38:14think that I have a way of understanding
- 00:38:16projects through the four factors model
- 00:38:18that if others can apply that they would
- 00:38:20understand things just as well now let's
- 00:38:22turn to a more recent example uh as if
- 00:38:24we didn't get enough problems with
- 00:38:26Healthcare websites and
- 00:38:282013 in 2013 we had similar issues with
- 00:38:31a healthc care website in Oregon called
- 00:38:33cover Oregon and uh the background on
- 00:38:36cover Oregon is that in 2011 Oregon
- 00:38:39decided to develop its own State Level
- 00:38:41Health exchange rather than use the
- 00:38:42federal government's exchange and work
- 00:38:45began on cover Oregon in 2012 for that
- 00:38:47same October 1st 2013 go live date uh
- 00:38:51Oregon contracted with Oracle to develop
- 00:38:53the exchange uh they receiv received
- 00:38:55$300 million in Federal Grant money to
- 00:38:57develop the site now from a judgment
- 00:39:00point of view that's interesting too uh
- 00:39:02the federal government budgeted their
- 00:39:04project for the entire country at $100
- 00:39:06million but for some reason they gave
- 00:39:08the state of Oregon $300 million to
- 00:39:10develop the site just for the one state
- 00:39:12um I'll leave that as an exercise to the
- 00:39:14reader to figure out how how that logic
- 00:39:16worked out um so the exchange was still
- 00:39:19not working in December 2013 and Oregon
- 00:39:22reassigned 500 staff to process paper
- 00:39:25applications by April 20 2014 the
- 00:39:28exchange was still not working cover
- 00:39:30Oregon was closed and Oregon adopted the
- 00:39:32federal program or the federal website
- 00:39:33of healthcare.gov uh beginning at the
- 00:39:36beginning of this year
- 00:39:382015 um the interesting thing about this
- 00:39:41is that there was some business judgment
- 00:39:42here that was about as bad as the
- 00:39:44software judgment uh they spent
- 00:39:46two-thirds of their $300 million budget
- 00:39:48about $200 million they had signed up
- 00:39:50more than 63,000 people uh for private
- 00:39:54exchange for private insurance which
- 00:39:55generated a per member per month fee of
- 00:39:58n a little over $9 now if we look at
- 00:40:00that $200 million divided by 63,000
- 00:40:03people means it costs them over $3,000
- 00:40:06per enrol Le to enroll people in this
- 00:40:09system and that's to just to access the
- 00:40:11exchange that doesn't include the cost
- 00:40:13of the actual Healthcare now if we do
- 00:40:15some math on that they're getting
- 00:40:16$9.38 per month per enrol and that
- 00:40:19implies that they would pay off the
- 00:40:21system in 28 years so again just the
- 00:40:25business judgment here is just kind of
- 00:40:26aoll and really goes to show that
- 00:40:29absence of judgment is by no means
- 00:40:31unique to software professionals uh and
- 00:40:34all that is interesting except for the
- 00:40:36fact that none of those people were
- 00:40:37actually signed up using the exchange
- 00:40:39The Exchange never actually worked so
- 00:40:41the 63,000 people were actually signed
- 00:40:44up on paper so essentially all that
- 00:40:46money went to sign up no one uh which is
- 00:40:49an even worse matter still all right so
- 00:40:52uh reported problems with cover Oregon
- 00:40:54included code quality is subpar there is
- 00:40:57no impact analysis prior to coding no
- 00:40:59peer review details on software check-in
- 00:41:02checkout and merge processes are lacking
- 00:41:05no skilled software development
- 00:41:06engineering manager um they lacked the
- 00:41:09status reporting lacked basic
- 00:41:10information including number of calendar
- 00:41:13days had poor design even worse code the
- 00:41:15quality of work was atrocious they broke
- 00:41:18every single development best practice
- 00:41:19that Oracle themselves have defined and
- 00:41:21these are all direct quotes from the the
- 00:41:23assessment of the project uh OHA and
- 00:41:26cover Oregon the skills knowledge or
- 00:41:28ability to be successful so how would
- 00:41:30this stack up using our four factors
- 00:41:32model well the size factor that huge
- 00:41:34budget huge staff ramp up and apparently
- 00:41:38no aspect of the development was matched
- 00:41:40to the large size of the project none of
- 00:41:42it so we have to give that a red a red
- 00:41:44rating a red light rating uncertainty
- 00:41:46we're going to skip for now defects they
- 00:41:49had zero meaningful QA practices and
- 00:41:50evidence again red light on that pretty
- 00:41:52clearly human variation they were
- 00:41:54massively unders skilled according to
- 00:41:56the report so we give that a red light
- 00:41:58as well going back to uncertainty again
- 00:42:01from a judgment point of view it really
- 00:42:03doesn't matter if we've got three red
- 00:42:05lights on size defects and human
- 00:42:06variation that's pretty much all we need
- 00:42:09to know the the Project's not going to
- 00:42:10be successful with a bad performance in
- 00:42:13those three areas no matter what
- 00:42:15approach is taken to uncertainty now
- 00:42:17there's I also would say that these are
- 00:42:19not just little red lights they're huge
- 00:42:22red lights they were blatant massive
- 00:42:24failures uh really across the board and
- 00:42:27uh I think it's important to understand
- 00:42:30that there is nothing subtle about what
- 00:42:32WR what went wrong with this project if
- 00:42:34it hadn't been a project that was
- 00:42:36performed uh last year I think you could
- 00:42:39argue that it's even contrived for
- 00:42:41purposes of presenting in this
- 00:42:42presentation but this was a project that
- 00:42:44was still ongoing to the tune of $200
- 00:42:46million last year and that's interesting
- 00:42:49in itself uh because what we see here is
- 00:42:53that it isn't just subtleties in
- 00:42:54judgment it's really large grain
- 00:42:56decisions on this project were wrong uh
- 00:43:00and so we don't have to get down into
- 00:43:01the details we should understand that
- 00:43:03the problems on this project were so
- 00:43:05conspicuous that this case study seems
- 00:43:07almost contrived to make a point but
- 00:43:09it's not you would think we would have
- 00:43:11learned these lessons decades ago but
- 00:43:13this project was still ongoing very
- 00:43:16recently now there's a very nice book
- 00:43:18called made to stick which is a
- 00:43:20marketing book but it describes
- 00:43:21something called The Curse of knowledge
- 00:43:23the curse of knowledge is basically
- 00:43:25where you understand something so well
- 00:43:27that you become incapable of explaining
- 00:43:29it to others and I've been doing this
- 00:43:31software development thing for about 30
- 00:43:32years now my first book came out 21
- 00:43:35years ago um and or actually 22 years
- 00:43:38ago so I've been doing this for a long
- 00:43:40time the more time goes by the more
- 00:43:42difficulty I have knowing what is
- 00:43:44obvious to other people and what is not
- 00:43:46the problems with these Pro this project
- 00:43:48seem completely obvious to me and yet
- 00:43:51somehow this project was allowed to go
- 00:43:53wrong by intelligent people and in a
- 00:43:56government Contex where there are
- 00:43:57multiple levels of oversight to the tune
- 00:44:00of $200 million and I find it almost
- 00:44:03inconceivable that this was allowed to
- 00:44:05happen and yet clearly it
- 00:44:08did so I think it's pretty clear that
- 00:44:11the problem in this case was not the
- 00:44:13absence of analysis it wasn't subtle
- 00:44:15miscalculations or subtle errors in
- 00:44:17judgment but it was gross errors in
- 00:44:19judgment I think we end up asking the
- 00:44:21wrong question when we asked the
- 00:44:23question what went wrong with this
- 00:44:24project we assume that it was ever
- 00:44:26positioned for success and something
- 00:44:27specific went wrong really I think the
- 00:44:30more meaningful question to ask is why
- 00:44:31did anyone ever think this project would
- 00:44:34be successful and I think that is
- 00:44:36actually a much harder question to
- 00:44:38answer uh all right so
- 00:44:42uh so let's skip ahead then to uh our
- 00:44:46third case study which is the Chrysler
- 00:44:47C3 project and now we're going to look
- 00:44:50at uh projects that aren't so
- 00:44:51conspicuously bad as the first two
- 00:44:53projects we looked at the C3 project of
- 00:44:56course is the original extreme
- 00:44:57programming project now on this project
- 00:45:00uh Chrysler wanted to replace a number
- 00:45:02of different Legacy Cobalt payroll
- 00:45:04systems with one system um the project
- 00:45:06didn't make much progress from 1993 to
- 00:45:081995 and in 1996 Kent Beck was hired to
- 00:45:11build the system he in turn hired Ron
- 00:45:13Jeff Kent and Ron implemented pair
- 00:45:16programming continuous integration
- 00:45:17on-site customer unit testing
- 00:45:19refactoring you ain't going to need it
- 00:45:21all the practices that eventually became
- 00:45:23extreme programming initial release was
- 00:45:252 months late on a 12 Monon schedule
- 00:45:27which the team considered to be
- 00:45:28basically on time after that progress
- 00:45:31for the next few years was mixed and
- 00:45:32characterized by just one more
- 00:45:34requirement syndrome they had some
- 00:45:36difficulty actually making further
- 00:45:37releases and then further development
- 00:45:39was finally halted when Daimler bought
- 00:45:41Chrysler in
- 00:45:422000 so from the four factors model what
- 00:45:46does this look like well from the size
- 00:45:48point of view this is a pretty small
- 00:45:49project and the plan scope was pretty
- 00:45:52close to the real scope so I give it a
- 00:45:53green light on the size category on the
- 00:45:56UN cty side I think payroll is a well
- 00:45:58understood area but we had this very uh
- 00:46:01kind of rich and possibly contradictory
- 00:46:04set of Legacy system so I think there's
- 00:46:05some uncertainty that arises from that
- 00:46:08uh on the defect side I think the
- 00:46:10practices for removing defects were
- 00:46:12reasonable uh pair programming and so on
- 00:46:14and match to the size of the project I
- 00:46:16think the reality is this is not a high
- 00:46:18defect potential project in the first
- 00:46:20place because it's essentially taking
- 00:46:21existing system or systems and simply
- 00:46:24reproducing them in a different
- 00:46:25technology and on the human variation we
- 00:46:28have to give this a green circle not
- 00:46:30only do we have to give it a green
- 00:46:31circle we have to give it a huge green
- 00:46:33circle because we've got a couple of
- 00:46:35Rockstar programmers we've got Kent Beck
- 00:46:37we've got Ron Jeff you know on a small
- 00:46:40project with this kind of human uh
- 00:46:43high-end of human contribution it's
- 00:46:45actually going to be pretty hard for us
- 00:46:46to be unsuccessful as long as those guys
- 00:46:49are making uh the kinds of contributions
- 00:46:50they're capable of making so um so what
- 00:46:55else can we say about uh the the
- 00:46:57Chrysler C3 Project based on this four
- 00:47:00factors model what would I say surprises
- 00:47:02me about this project my answer is
- 00:47:04nothing nothing surprises me about this
- 00:47:06project uh because of the human
- 00:47:09variation that we see on the project I
- 00:47:10certainly don't think there was any
- 00:47:12secret sauce uh of the extreme
- 00:47:14programming practices that I would
- 00:47:15consider significant on that project uh
- 00:47:18and if I asked the question I asked on
- 00:47:20the cover Oregon why did anyone ever
- 00:47:22think this project would be successful I
- 00:47:24think it's pretty clear why it was
- 00:47:26successful we had great talent we had
- 00:47:28reasonable practices and the lesson here
- 00:47:31is not about extreme programming it's if
- 00:47:33you pay attention to the needs of the
- 00:47:35project and plan and execute accordingly
- 00:47:37uh in terms of uh handling uh variation
- 00:47:40and uncertainty in terms of having good
- 00:47:42people on the project in terms of your
- 00:47:44defect uh uh practices then the project
- 00:47:46will be successful so as I said nothing
- 00:47:49about this project really surprises me I
- 00:47:51think it it at least in the first
- 00:47:53version it worked worked fine uh and I
- 00:47:55think that's easy to explain
- 00:47:58all right the last case study we'll look
- 00:48:00at today is the Cheyenne Mountain atams
- 00:48:02project uh I think pretty clearly a
- 00:48:05successful project and uh and I think uh
- 00:48:07we'll we'll see why um the US Air Force
- 00:48:10had a cheyen mountain upgrade project
- 00:48:12that was originally scheduled to last
- 00:48:13six years and cost just under a billion
- 00:48:16dollars as 13 years later the government
- 00:48:18Accounting Office estimated that CMU the
- 00:48:21shine Mountain upgrade project was a
- 00:48:22billion dollars over budget and 11 years
- 00:48:25behind schedule the new system systems
- 00:48:27had not been completed that had been
- 00:48:28completed were not even usable uh so in
- 00:48:31this context CMU managers commissioned
- 00:48:34Cayman Sciences to conduct a specific
- 00:48:36project called atams and the goal was to
- 00:48:38replace displays on 20 monitors with
- 00:48:41displays on just two monitors and
- 00:48:42improved response time at the same time
- 00:48:45the project constraint was a schedule of
- 00:48:46one year and a budget of $2
- 00:48:49million so the response to this is that
- 00:48:51Cayman Sciences appointed an experienced
- 00:48:53project manager um they conducted
- 00:48:55development with an 11 impact intact
- 00:48:58development team uh the team extensively
- 00:49:00prototyped the user experience and when
- 00:49:03they did that they found that user
- 00:49:04demands turned the two message four
- 00:49:06display system into a 57 message 35
- 00:49:09display system but this was discovered
- 00:49:11very early during prototyping at which
- 00:49:14point the team tackled the riskiest
- 00:49:15elements first and they proceeded to uh
- 00:49:18buy the risk down by working from
- 00:49:19highest risk item to lowest risk item in
- 00:49:21a disciplined way design reviews caught
- 00:49:24more than 200 major defects and 500
- 00:49:26minor defects at design time at a cost
- 00:49:28of slightly less than one staff hour per
- 00:49:30defect found now if we had let those
- 00:49:32defects persist into design or
- 00:49:34construction of course it would have
- 00:49:36cost a lot more than one staff hour per
- 00:49:38defect found so not great news to find
- 00:49:40those but it certainly prevented the
- 00:49:41even worse news of finding them much
- 00:49:43later in the
- 00:49:44project um root cause analysis was
- 00:49:47performed for each defect found uh
- 00:49:49technical peer reviews continued
- 00:49:50throughout the project and active
- 00:49:52management was conducted to ensure the
- 00:49:54peer reviews were performed in a timely
- 00:49:56way uh the team adopted a standard of
- 00:49:58perfecting each component that is
- 00:50:00removing all defects before moving on to
- 00:50:02the next component project status and
- 00:50:05task status were displayed in a graphic
- 00:50:07format that anyone can understand and
- 00:50:09project management used the status
- 00:50:10information to seek out project risks
- 00:50:13and actively address
- 00:50:15them uh the results of this was that
- 00:50:18this project was delivered one month
- 00:50:20early on a 12-month schedule and only
- 00:50:22two defects were found uh within the
- 00:50:24first 16 months of operation and so I
- 00:50:26think really by any measure this has to
- 00:50:29be considered to be a highly successful
- 00:50:33project so how would we score this in
- 00:50:35terms of the four factors model size
- 00:50:38this is actually a pretty small project
- 00:50:4011 people for a year um this is not
- 00:50:42causing me any heartburn in terms of the
- 00:50:44the project challenge related to the
- 00:50:46scope of the project uncertainty well
- 00:50:48clearly there was some uncertainty here
- 00:50:50there were some significant requirements
- 00:50:52changes but those changes were
- 00:50:54discovered early uh and then the project
- 00:50:56actively attacked uncertainty in
- 00:50:58requirements in quality in project plans
- 00:51:00in Risk in general and so while there
- 00:51:02was some inherent uncertainty on the
- 00:51:04project I think the actions of the team
- 00:51:06kept that uncertainty in the yellow zone
- 00:51:09and kept it from drifting into the Red
- 00:51:10Zone which from some of the other
- 00:51:11project teams we've seen today would
- 00:51:14easily have drifted into the Red Zone in
- 00:51:15a big way uh defects I think this is a
- 00:51:19great story early requirements defect
- 00:51:21detection through prototyping detected
- 00:51:23tons of defects and allowed them to be
- 00:51:24fixed early and cheaply they thoroughly
- 00:51:27reviewed uh their work on an ongoing
- 00:51:29basis again detecting defects early
- 00:51:31keeping them under control there was a
- 00:51:33cultural focus in the project on
- 00:51:34maintaining high quality through that
- 00:51:36standard of perfecting each component
- 00:51:38before moving on and consistent
- 00:51:40application of high discipline at the
- 00:51:41team level also reinforced by the
- 00:51:43manager on the project to make sure the
- 00:51:45team followed through on its good
- 00:51:46intentions so I would say another
- 00:51:48another green light here and then human
- 00:51:50variation again pretty good story
- 00:51:52skilled project team intact project team
- 00:51:54so people who are used to working
- 00:51:56together and know how to work with each
- 00:51:57other and skilled management and overall
- 00:52:00this leads to a successful project and
- 00:52:03I'm not sure that I see anything
- 00:52:04terribly surprising here either actually
- 00:52:07so when we compare that to the
- 00:52:09commonalities from some of the other
- 00:52:10projects we've seen the first two case
- 00:52:12studies I mentioned people on the
- 00:52:14project seem unable to identify even
- 00:52:16basic Dynamics on their own projects
- 00:52:18even in hindsight we see quite a
- 00:52:20contrasts here there was an awareness of
- 00:52:22risk and explicit steps taken to address
- 00:52:24the risks and then the project ends up
- 00:52:26being
- 00:52:29successful so if we apply the other
- 00:52:32question I've asked a couple times why
- 00:52:33did anyone ever think this project would
- 00:52:35be successful here again we have an
- 00:52:38affirmative answer there are lots of
- 00:52:39reasons for this project to be
- 00:52:40successful not not really terribly
- 00:52:43mysterious
- 00:52:46actually and then uh another common
- 00:52:48question problems are not subtleties but
- 00:52:50gross errors and judgment I don't think
- 00:52:52we see any gross errors and judgment in
- 00:52:54this project in fact the causes of
- 00:52:56success in this project seem as
- 00:52:58conspicuous as the causes of failure did
- 00:53:00on the other projects which really kind
- 00:53:02of says we're not really talking about
- 00:53:04subtleties in judgment we're really
- 00:53:06talking about fairly coarse judgment uh
- 00:53:09the causes of success are conspicuous
- 00:53:10here the causes of failure on the other
- 00:53:12projects are equally conspicuous and I
- 00:53:14actually think that's that's pretty
- 00:53:16representative of the software World At
- 00:53:18Large my company has spent almost 19
- 00:53:20years uh doing assessments of projects
- 00:53:23that have been successful and of
- 00:53:24projects that have failed or been
- 00:53:25challenged and would say that in general
- 00:53:28this is characteristic of what we find
- 00:53:30that it is not very subtle that if you
- 00:53:31know what to look for once you go in and
- 00:53:33look at it uh you see that the that the
- 00:53:36deficiencies are actually quite uh
- 00:53:38glaring so let's uh summarize what we've
- 00:53:40covered uh today uh I think uh as I said
- 00:53:44earlier most of what I've described
- 00:53:46today seems obvious to me possibly
- 00:53:48because of that curse of knowledge I've
- 00:53:50been doing this for a long time and uh
- 00:53:52I'm just I've kind of lost the ability
- 00:53:54to tell what's obvious to other people
- 00:53:55and what's not
- 00:53:57uh but one common theme in the failed
- 00:53:58projects is that basic Project Dynamics
- 00:54:01were not obvious to the people involved
- 00:54:02in these projects and given credit where
- 00:54:04credit is due these are not stupid
- 00:54:06people these are highly intelligent
- 00:54:07people and they're often missing the key
- 00:54:09points even in hindsight as we saw in
- 00:54:11those comments on healthcare.gov from
- 00:54:13USA Today so the question really arises
- 00:54:16how can people who are so smart make
- 00:54:18such bad decisions and I think the
- 00:54:20answer comes back to that distinction
- 00:54:22between analysis and evaluation or
- 00:54:25judgment the software professional tend
- 00:54:26to be very strong in analysis uh so I
- 00:54:29don't think the deficiency in analysis
- 00:54:31is really the issue but of course I do
- 00:54:33think that the deficiency in judgment is
- 00:54:35the issue which can lead to not just
- 00:54:37subtle errors in judgment but in some
- 00:54:39cases gross errors in judgment and for
- 00:54:42this reason I think that a focus on
- 00:54:43developing judgment in software
- 00:54:45professionals is important uh perhaps
- 00:54:47even more important than professions
- 00:54:49that do not select so strongly for
- 00:54:51analysis skills in the first place with
- 00:54:54that I will turn the microphone back
- 00:54:56over over to Will and see if we have a
- 00:54:57few minutes for comments or
- 00:55:01questions thank you Steve uh yes and we
- 00:55:04do have questions and uh it just shows
- 00:55:08I'm very impressed with the maturity of
- 00:55:10our attendees uh we have some very good
- 00:55:13questions here and let's just move on um
- 00:55:17doesn't the use of checklists reduce
- 00:55:20judgment to
- 00:55:23analysis yeah I think that's a fair
- 00:55:25question doesn't the use of checklist
- 00:55:27reduce judgment to analysis the way I
- 00:55:29would describe it is that it puts the
- 00:55:32first rung of the Judgment ladder uh low
- 00:55:35enough so that someone whose main
- 00:55:37strength is analysis can jump onto that
- 00:55:39first rung of the ladder at least that
- 00:55:40would be the way I would look at it very
- 00:55:43good okay next question what happens if
- 00:55:45you have two Reds and two greens uh does
- 00:55:48the uncertainty on judgment you know
- 00:55:50which one what which one would be the
- 00:55:53highest yeah so the that's a really a
- 00:55:55good question that would require going
- 00:55:57into a lot more detail on the four
- 00:55:59factors model and in particular going
- 00:56:01into the interaction effects between
- 00:56:03each of the four factors because there
- 00:56:05are interactions between the factors in
- 00:56:08every combination of the factors and
- 00:56:11what that means really is that I think
- 00:56:13you would have a really hard time
- 00:56:15constructing even a contrived example
- 00:56:17where you had two Reds and two greens um
- 00:56:20just because of those interactions uh if
- 00:56:23you really did have two Reds there would
- 00:56:25be interaction effects with the thing
- 00:56:27that you want to have two greens and I
- 00:56:29think you would have I don't think
- 00:56:30you're going to see that in practice and
- 00:56:32and I think even if you tried to
- 00:56:33contrive an example you would have a
- 00:56:35hard time contriving an example that
- 00:56:37wasn't just
- 00:56:39absurd very good and uh I just notice
- 00:56:43that uh I in the last two minutes
- 00:56:45received an additional 35 questions
- 00:56:48which obviously in the time that we have
- 00:56:50are not going to be able to get to but
- 00:56:53if Steve is so kind and has the time to
- 00:56:56answer the questions we will post the
- 00:56:58his answers on our website as usual uh
- 00:57:02at least the ones that he thinks would
- 00:57:04uh he'll he'll do the final filtering so
- 00:57:07okay in moving on the four Factor model
- 00:57:11where does the project lifespan fact
- 00:57:15in where is the project lifespan I'm not
- 00:57:18sure what is meant by project lifespan
- 00:57:20do that mean like an ongoing program for
- 00:57:22several years or I'm not I'm not sure
- 00:57:24how to interpret I I would say with is a
- 00:57:26onetime delivery or you know a uh
- 00:57:29something that's going to have
- 00:57:32anticipate several uh versions to roll
- 00:57:35out a product that will live on Beyond
- 00:57:38its initial release yeah okay so that
- 00:57:40would be basically the service life of
- 00:57:42the software that's produced yes yeah so
- 00:57:45um I would um uh basically say that
- 00:57:48comes in particularly on the the defect
- 00:57:52side uh um on the uncertainty side and
- 00:57:56depending you know may or may not come
- 00:57:57in on the size side but um that's kind
- 00:58:00of where I would put that I think
- 00:58:02um you you know will with your
- 00:58:04background you probably are more
- 00:58:05equipped to answer that question than I
- 00:58:07am uh but I would say that I think one
- 00:58:09of the failure modes that people run
- 00:58:11into with projects that are anticipated
- 00:58:13to have a long service life is trying to
- 00:58:15anticipate to too high a degree what uh
- 00:58:19capabilities might be required of that
- 00:58:21system in the future and not focusing
- 00:58:23enough on the requirements of that
- 00:58:25system at the present time um and my you
- 00:58:29know in the agile movement we've had
- 00:58:30this whole idea of yogy or you ain't
- 00:58:32going to need it uh and uh so basically
- 00:58:35focusing on design for today not for
- 00:58:37tomorrow I I think that's the wrong way
- 00:58:40to look at it frankly um and they Al
- 00:58:42agile movement has also criticized big
- 00:58:44design up front they say beu as a
- 00:58:46derogative term um I I don't think
- 00:58:49that's the real issue we've spent quite
- 00:58:50a bit of com time at my company trying
- 00:58:52to really put our finger on exactly what
- 00:58:54is the issue I do think that that's
- 00:58:56circling around an issue and what we've
- 00:58:58really decided is that the issue is what
- 00:59:01we've come to decide come to describe as
- 00:59:03design for speculative requirements and
- 00:59:06anytime you find yourself designing for
- 00:59:08speculative requirements I think that
- 00:59:11creates uh that basically uh gets you
- 00:59:14pretty close to a red circle in the
- 00:59:16uncertainty box um and we have a hard
- 00:59:19enough time coming up with good designs
- 00:59:21for the requirements we know about the
- 00:59:23idea that we're going to speculate about
- 00:59:24requirements correctly and then that
- 00:59:26we're actually going to come up with
- 00:59:28effective designs on top of that for
- 00:59:30those requirements we're speculating
- 00:59:31about I think is a really tall order so
- 00:59:34um you know I think some of that would I
- 00:59:37think most of it as I kind of think out
- 00:59:39loud here uh in terms of a Long Live
- 00:59:41system the success or failure would
- 00:59:43probably be determined most in the
- 00:59:45uncertainty Factor basically how is the
- 00:59:48team addressing the uncertainty of a
- 00:59:50long lifespan of that system are they
- 00:59:52getting overly preoccupied with things
- 00:59:54that aren't pinned down yet that may or
- 00:59:56may not happen at some point in the
- 00:59:57future so I that's the way I would look
- 00:59:59at it very good I I'm going to thank all
- 01:00:04the people you know we're we're
- 01:00:05approaching a 100 questions here and I'm
- 01:00:07just going to try to uh move off Target
- 01:00:10here a bit and talk about
- 01:00:12professionalism because there were
- 01:00:15several questions dealing what what I
- 01:00:17call professionalism the role of the
- 01:00:19software engineer versus how do you
- 01:00:22handle management how do you deal with
- 01:00:24customers how do as professional do you
- 01:00:27as an individual then embrace the model
- 01:00:31uh the the the four factors the Bloom's
- 01:00:34taxonomy in yourself and how do you go
- 01:00:37about becoming a better person and then
- 01:00:39influencing the overall outcome of uh
- 01:00:42you know project
- 01:00:44success yeah you know in philosophy
- 01:00:46there's a concept called the principle
- 01:00:47of Charity and the basic idea of the
- 01:00:49principle of Charity is that if some
- 01:00:53historically significant philosopher
- 01:00:54wrote something down they weren't idiots
- 01:00:57and there was probably some reason for
- 01:00:58it it may not ultimately be correct but
- 01:01:01it's also not just completely stupid and
- 01:01:04uh Jim McCarthy in his book dynamics of
- 01:01:06software development kind of said the
- 01:01:08same thing when he said don't flip the
- 01:01:10bozo bit you know don't just say Okay
- 01:01:12this guy's a bozo so I'm not taking
- 01:01:14anything he says seriously technical
- 01:01:16people tend to flip the bozo bit on
- 01:01:18upper management or non-technical
- 01:01:20managers or sales and marketing people
- 01:01:23pretty readily in my experience and I
- 01:01:25think part of
- 01:01:26uh improving our skills in analysis and
- 01:01:30evaluation not in analysis but rather in
- 01:01:33synthesis or create and judgment or
- 01:01:35evaluation really is actually being more
- 01:01:37charitable in our interactions with
- 01:01:39upper management sales and marketing and
- 01:01:41so on those folks are often very
- 01:01:44intelligent people as well but the
- 01:01:45nature of their intelligence is
- 01:01:47different than the nature of the
- 01:01:48software staff's intelligence they are
- 01:01:50not selected primarily on the basis of
- 01:01:52their analysis skill they may be
- 01:01:53selected primarily on the basis of their
- 01:01:56synthesis skill or their evaluation
- 01:01:58skill and so we can actually learn a lot
- 01:02:01from them if we actually go into those
- 01:02:03interactions with an open mind and don't
- 01:02:05flip the bozo bit on them so that would
- 01:02:06that would be my my knee-jerk reaction
- 01:02:08to that question very good and I'm
- 01:02:10afraid we've run out of time today so
- 01:02:12I'd like to thank Steve once again for
- 01:02:14his informative presentation and
- 01:02:16insightful answers to the many questions
- 01:02:20and a special thanks for you out there
- 01:02:22taking the time to attend and
- 01:02:24participate today this webinar was
- 01:02:26recorded and will be available online in
- 01:02:28a few days at learning. acm.org
- 01:02:32weinar you can find announcements of
- 01:02:34upcoming weinar webinars and other ACM
- 01:02:36activities at learning. acm.org and
- 01:02:39acm.org and then now we're going to ask
- 01:02:42if you wouldn't mind uh filling out a
- 01:02:45quick survey where you can suggest
- 01:02:46future topics or speakers which uh which
- 01:02:49as I said should be on your screen the
- 01:02:52uh so in closing this is Will Trace
- 01:02:54saying goodbye for now now thanks again
- 01:02:56for joining us hope you will join us
- 01:02:58again in the future and in particular
- 01:03:01our next webinar speaker is tentatively
- 01:03:03scheduled to be bertran Meyer speaking
- 01:03:06on agile The Good the hype and the Ugly
- 01:03:11so take care and uh talk to you
- 01:03:24soon e
- ACM
- software engineering
- Bloom's taksonomi
- judgment
- case-studier
- fire faktorer
- Steve McConnell
- teknologiprojekter