/
Robert Lockyer Robert Lockyer

Robert Lockyer - PowerPoint Presentation

ellena-manuel
ellena-manuel . @ellena-manuel
Follow
377 views
Uploaded On 2016-02-24

Robert Lockyer - PPT Presentation

Summary The Tar Pit The Mythical Man Month The Surgical Team Aristocracy Democracy and System Design Passing the word The Whole and the parts The Tar Pit Large systems programming is a tar pit ID: 230264

months system surgeon men system months men surgeon design aristocracy implementers pit mythical man month task team scaffolding democracy

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Robert Lockyer" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Robert LockyerSlide2

SummaryThe Tar PitThe Mythical Man MonthThe Surgical Team Aristocracy, Democracy and System Design

Passing the word

The Whole and the partsSlide3

The Tar PitLarge systems programming is a tar pitMost emerge with running systemsFew meet goals, schedules and budgetsSmall groups seem much more efficientThey only build Programs, not Programming Systems ProductsSlide4

AProgram

A

Programming

System

A

Programming

Product

A

Programming

SystemsProduct

3X

3XSlide5

The Mythical Man-MonthCost varies as a function of the number of men and months, progress does not.Men and months are not interchangeable in software development.Men and months are interchangeable only when a task can be partitioned among many workers with no communication among them. Slide6

Months

Men

p

erfectly

partitionable

taskSlide7

Months

Men

u

npartitionable

taskSlide8

Months

Men

partitionable

task requiring communicationSlide9

Months

Men

t

ask with complex interrelationships

Brooks’s

Law: Adding manpower to a late software project makes it laterSlide10

ScheduleRule of thumb1/3 for design1/6 for coding1/4 for component testing1/4 for system

testing

As

a discipline we lack estimating dataSlide11

The Surgical TeamThere are major productivity variations between good programmers and poor ones (on the order of 10x)We want to build a system using as few minds as possible, to avoid unnecessary communication and maintain structural coherence.The problem is that large projects require many hands.

The solution may lie in how we organize people

Key is to reduce needed communication Slide12

Mills’s ProposalThe SurgeonChief programmerThe CopilotAlter ego of surgeon, can do any job but less experienced

Surgeon gets final say on all decisions

The Administrator

Surgeon is boss, but shouldn’t be involved in the bureaucratic detailsSlide13

Mills’s ProposalThe Program Clerk (automate?)Keeper of program input/output dataThe EditorSurgeon writes docs, editor criticizes, reworks, etc

Two Secretaries

Admin and Editor need one eachSlide14

Mills’s ProposalThe Tool SmithBuilds custom tools and processes for the surgeon The Tester

Surgeons adversary, builds tests based on specs and helps devise test data for debugging

The Language Lawyer

Delights in the obscurities of a programming language

One can serve two or three surgeonsSlide15

Problem: How do we maintain conceptual integrity of a project?Small architecture team alone should alone write all external specificationsArchitecture means: Complete and detailed specification of the user interface

Aristocracy, Democracy, and System DesignSlide16

Aristocracy, Democracy, and System DesignThe implementers raise three objections:The specs will be too rich in function, will not be practicalThe architects will get all the creative fun and shut out the inventiveness of the implementers

The many implementers will have to sit idly by while specifications are writtenSlide17

Passing the wordArchitecture specs must not only describe what the user can see, must refrain from describing what the user does not see.Must define what is not prescribed as carefully as what is.“Never go to sea with two chronometers, take one or three”A

lways have

one

definition

as standard. All others are subservient.Slide18

Passing the wordChanges to the manual should be made clear to developers implementing that functionality. Highlight in logbook/wiki whatever system in useImplementers must be able to easily contact architect for clarification. These conversations must be made available to anyone concerned.Slide19

The Whole and the PartsBuild plenty of scaffolding

It’s not unreasonable for there to be half as much code in scaffolding as there is in product

Add one component at a time

Laziness temps us to violate it, requires extensive scaffolding, maybe there are no bugs…

There ARE

bugs, so it’s worth building the scaffolding. Slide20

ReviewThe Tar PitThe Mythical Man MonthThe Surgical Team Aristocracy, Democracy and System Design

Passing the word

The Whole and the PartsSlide21

ReferencesThe Mythical Man-Month: Essays on Software Engineering, Frederick P. Brooks, Jr. (University of North Carolina at Chapel Hill) 1986Wikipedia: IBM System/360http://en.wikipedia.org/wiki/IBM_System/360Slide22

Questions?