cse 7315 - sw project management / module 2 – facts and myths about software copyright ©...
Post on 19-Jan-2016
229 Views
Preview:
TRANSCRIPT
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about Software Copyright © 1995-2005, Dennis J. Frailey, All Rights Reserved CSE7315M02
January 8, 2005 Slide # 1
SMU CSE 7315 / NTU SE 584-N
Planning and Managing a Software Project
Module 02Facts and Myths about Software
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 2
CSE7315M02
The “Super Programmer” Myth
Software is a creative and artistic endeavor. All you need to do it
right are highly creative individuals (the GURUs & Super Programmers),
whom you leave alone.
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 3
CSE7315M02
The “Creative Genius” Myth
Creative people (like myself) need freedom, not constraints
and “discipline”
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 4
CSE7315M02
Fact: The Essence of Art is Working in a Disciplined
Manner Within the Constraints of a Medium
• Sculptor - chisels statues out of stone, not putty– The characteristics of the stone
make it a challenge for the artist rather than a hobby for everyone
• The strength of the stone is what makes statues possible and what makes them valuable when the artist is complete
“The granite is
my enemy and my friend.”
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 5
CSE7315M02
All Artistic Media Have Constraints
• Painter - works with a specific painting medium (oils, watercolors, charcoal, etc.)– Each medium has its challenges, possibilities
and limitations
• Musician - works with a specific instrument– A trumpet is hard to play well and it cannot
replicate the sound of a piano– But a really accomplished trumpeter can
make wonderful music
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 6
CSE7315M02
Art Happens When You Excel Within the Constraints
We measure an artist both by creativity and by technical skill
Producing beauty within the constraints of the medium
Discipline makes this possible– Discipline enables you to focus on the things that
matter (the critical few) rather than the things that don’t (the trivial many)
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 7
CSE7315M02
Promising Young Artists
“... have technical skills but have not yet developed insight ...”
“... have brilliantly creative ideas but cannot bring them to fruition because of a lack of discipline ...”
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 8
CSE7315M02
Established, Respected Artist
“... plays effortlessly, with deep insight, yet with the control and discipline that can only come with experience and extraordinary talent”
“... has defied the traditional rules in a brilliant display of creativity, yielding wonderful new possibilities for the medium. ... [He] has devised a new technique that brings forth the depth of color of oils in the watercolor medium.”
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 9
CSE7315M02
Structure and Discipline Apply to the Process for Producing the Product
• Cost-effective systems result from applying creativity and discipline to both the design of the product and the design of the system used to produce it
• Extending this to the process used to design the system is a focal point for software, since the development of software is largely a matter of design
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 10
CSE7315M02
Example - Airplane Flight Crews
• Very well defined process• Extensive training
• Can handle unexpected, emergency situations• Can function well when individuals are replaced
on short notice (illness, etc.)
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 11
CSE7315M02
Note
• This does not mean that they are not highly qualified
• This does not mean that they are poorly paid
• This does not mean that they are non-heroes
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 12
CSE7315M02
Another ExampleProfessionals vs. Amateurs
• Professional baseball vs. Sandlot baseball• Professional drivers vs. Average drivers• Professional software developers vs.
Amateurs
Consider highly skilled sports teams that never win the championships
The difference is:Well defined processExtensive trainingSkill and determination
The difference is:Well defined processExtensive trainingSkill and determination
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 13
CSE7315M02
The “Development Tools” Myth
(office version)The best development
tools are the main thing you need to get high
productivity.
Super Mega Hyper
Workstation
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 14
CSE7315M02
The “Development Tools” Myth(home version)
My grades will be higher if you get me a faster
computer
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 15
CSE7315M02
The “Development Tools” MythFacts
• Lack of tools is rarely the root cause of a problem. – If you don’t know what to do, a tool
will not help you– Data from real programs show that
knowledge & procedures are more important than tools
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 16
CSE7315M02
The “Development Tools” MythFacts
• A good musician can make a poor instrument sound wonderful
• But a poor musician cannot make a good instrument sound right
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 17
CSE7315M02
The “Development Tools” Myth
Conclusion• Good tools can make a big
difference when used by people who know what to do with them– But you have to use the right tool at
the right time and in the right place– Which means you have to know what
you are doing and where a tool can help you
– ... and why it can help you
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 18
CSE7315M02
The Gunslinger Myth:“Planning Wastes Time – Just Do
It!”Do you want me to plan or to
build software?
Do you want a plan or a product?
This is e-commerce – we don’t have a long time to do the job!
This example is taken from Cusumano and Yoffie, Competing on Internet Time, 1998.
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 19
CSE7315M02
The Gunslinger Myth: Another Opinion
“This is sheer b*** s*** … The way you hit the bull’s eye the first time is by planning things [properly]…”
David Stryker, shared component software manager at Netscape in 1996-97
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 20
CSE7315M02
Planning:Netscape’s Stryker Continues
“You can’t plan everything down to the atoms. The art of planning is articulating your goals and nongoals … really clearly and picking the things that have to be planned down to the atoms … goals [must be] measurable and concrete.”
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 21
CSE7315M02
More on Goals and Nongoals: Netscape’s Stryker Continues
“The nongoals are more important than the goals because, when you’re doing midcourse correction, which you do on a 72-hour basis, the best guidance you can get is to remember what you weren’t trying to do.”
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 22
CSE7315M02
Some Facts about SoftwareFact #1: Software products are increasingly
more complex and therefore must be managed accordingly
• Armies of people or expensive tools will not suffice.– Studies show that complexity and management
problems grow disproportionately as size increases
– Consider biological systems -- the larger the organism, the more complex it must be in order to function
– This stems from fundamental laws of physics
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 23
CSE7315M02
Some Facts about Software
• Talented people can only handle so much– Picasso and DaVinci could not paint the
Golden Gate Bridge• It is too large.
• Talented people have no backups– What if one of them becomes ill?– What if one of them quits?– Even if they don’t, do you want your
success to depend on a few talented but temperamental heroes?
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 24
CSE7315M02
Strawberry Shortcake Example
• Strawberry shortcake recipe makes 4 servings
• Easy to modify for 2 or 8 servings• But what do you do for 1,000 servings?
–acquisition of strawberries, cream, flour, etc.
–adequate tools for baking, mixing, keeping cold, etc.
–proper procedures for production
–storage and serving facilities
–etc.0
20
40
60
80
100
2 4 8 16 32 64 128
Good Manageme
nt Essential
Good Manageme
nt Nonessent
ial
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 25
CSE7315M02
Ford Clutch Story• Assignment: write a manual on how to
design a clutch• Problem: there is only one person in the
company who can design a clutch, and he is in failing health - will soon be retiring
• Additional Problem: “Mr. Clutch” has always been treated as a hero, and he does not want to lose his stature by giving away his secrets
“The first task of a new manager should be to identify all the people you cannot live without and figure out how to survive without them.”
“The first task of a new manager should be to identify all the people you cannot live without and figure out how to survive without them.”
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 26
CSE7315M02
More Software Facts Fact #2: Software has unique characteristics
that make it more difficult to develop than many other technical artifacts
• Software has no natural physical laws– Example: with a mechanical device, increased
force will have results within specifiable limits– But software can be made to behave in any
fashion
• Discontinuities are the rule in software, whereas they are the exception in other disciplines– Interpolation, extrapolation, etc. do not always
apply to software
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 27
CSE7315M02
How to Deal with Software’s Lack of Physical Constraints• Must understand the architecture
and design of the software in order to understand the impact of changes
• Must preserve accurate design descriptions when the software is in a maintenance mode
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 28
CSE7315M02
Possible Exam Question
Cite and explain at least one aspect of software that makes it harder to develop correctly than other technical artifacts
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 29
CSE7315M02
More Software Facts
Fact #3: Software development is fun
• Finding an elusive bug• Figuring out how to gain access to
obscure files• Adding an attractive feature to a new
product that is under development
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 30
CSE7315M02
“Fun” Can Be Costly
It is too easy for software to end up costing a lot more money, taking a lot more time, and having a lot of excess baggage (unwanted features)
The manager must focus the developers’ creativity on the parts that really need creative input
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 31
CSE7315M02
More Software FactsFact #4: Change is a constant in software
development• The hardware capabilities change frequently– Memory capacity doubles roughly every 2 years– Processor speed does roughly the same– 1950’s - Mainframe; Assembly Language– 1960’s - Time Sharing; Cobol and Fortran– 1970’s - Minicomputer; Pascal– 1980’s - Personal Computer & Workstations; Lisp and
C– 1990’s - Laptops; Information Highway; Object
Oriented, Java– 2000’s - UML, new digital devices, ???
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 32
CSE7315M02
Fact #4 (change) - continued• The infrastructure for software development
changes with a 5-10 year horizon– languages (Assembly-Fortran-Pascal-Ada-Lisp-C-C+
+-??)• GUIs and 4GLs are becoming the dominant languages today
– tools (assembler, compiler, linker, CASE, integrated tools)
– design methods (flow chart, data flow, information engineering, object oriented methods, ...???)
– recommended procedures and methods– debugging methods– testing approaches
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 33
CSE7315M02
Technical Obsolescence
• Technical obsolescence for software occurs roughly every 5 years, according to Yourdon and others
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 34
CSE7315M02
Dealing with Change• The software manager must keep abreast
of change and keep his or her software staff abreast of change to avoid getting left behind– Alternative -- a career spent maintaining 30
year old Cobol programs
• But must also avoid change for change sake– Fads are common in software– Programmers like to be pioneers, but pioneers
get a lot of arrows in their backs - and their managers get crucified!
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 35
CSE7315M02
Dealing with Change
• Some fundamental principles do not change– Human nature– Basic theory of computer science– Principles of management– The nature of software (?)
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 36
CSE7315M02
Summary of Module
• Distinguish the software myths from the true facts about software
• Discipline plays a critical role in any artistic endeavor, including software development
• Whether artists, engineers, or something in between, software developers can benefit from processes and knowledge
January 8, 2005
CSE 7315 - SW Project Management / Module 2 – Facts and Myths about
SoftwareCopyright © 1995-2005, Dennis J. Frailey,
All Rights Reserved
Slide # 37
CSE7315M02
END OFMODULE 02
top related