Rapid Development
Download
Report
Transcript Rapid Development
Rapid Development
(Part 1)
Mihail V. Mihaylov
RammSoft
In The Beginning Was…
The Triangle
Scope
Time
Cost
2
The Holy Triangle of PM
Scope
QA
RM
Time
Cost
3
The Holy Triangle of PM
4
The Holy Triangle of PM
Scope
QA
RM
Time
Cost
5
In Software Development Time
Is the Most Critical Factor
Scope
QA
RM
Time
Cost
6
What Rapid Development
is not?
It
isn't Rapid Development™ —a
magic phrase or buzzword
It
isn't a glitzy Blaze-O-Matic® or
Gung-HO-OO™ rapid-development
methodology
7
What is Rapid Development?
It
is a generic term that means
"speedy development" or "shorter
schedules"
It
means developing software
faster than you do now
8
Quotes
I wish I had a simple solution to the
development-speed problem. I also
wish I had five million dollars.
But simple solutions tend to work only
for simple problems, and software
development isn't a simple problem.
Rapid development of software is even
less simple. (Steve McConnell)
For every complex problem, there is an
answer that is short, simple, and wrong.
(H. L. Mencken)
9
Who Invented it?
Steve McConnell
http://www.stevemcconnell.com/
10
Who Is Steve McConnell?
CEO
and Chief Software Engineer
at Construx Software
(http://www.construx.com/)
Technical
book writer
Editor
in Chief Emeritus of IEEE
Software magazine
11
Steve McConnell’s Books
Code Complete (1993) / (2004)
Rapid Development (1996)
Software Project Survival Guide (1997)
After The Gold Rush (1999) / Professional
Software Development (2003)
Software Estimation: Demystifying the
Black Art (2006)
12
More Steve McConnell Facts
In
1998 named one of the 3 most
influential people in the software
industry
Won
twice Software Development
magazine's Jolt Excellence award
for outstanding SD book of the year
13
Rapid-Development Strategy
Avoid
classic mistakes
Apply
development fundamentals
Manage
risks to avoid catastrophic
setbacks
Apply
schedule-oriented practices
14
The Four Pillars Of RD
15
Efficient Development
Efficient
Development
16
The Four Pillars Of RD
17
Efficient Development
Risk Management
Development Fundamentals
Classic Mistakes Avoidance
18
Software-Development
Fundamentals
Management fundamentals
Technical fundamentals
Quality-assurance fundamentals
19
Management Fundamentals
Planning
Tracking
Measurement
20
Technical Fundamentals
Requirements management
Design
Construction
Configuration management
21
QA Practices
Error-prone modules analysis
Testing
Technical reviews
– Walkthroughs, Code reading,
Inspections (find 60-90% of the
defects)
22
Risk Management
Levels of risk management
– Crisis management (Fire-fighting)
– Risk mitigation
– Prevention
– Elimination of root causes
23
Four Dimensions of
Development
People
Process
Product
Technology
24
People
Peopleware
issues have the biggest
impact on software productivity and
software quality
10-to-1
difference in productivity
among developers
5-to-1
difference in productivity
among teams
25
Ways to Maximize
Human Potential
Staff
selection
– Top talent, Job matching, Career
progression, Team balance, Misfit
elimination
Team
organization
Motivation
26
Process
Includes
management and technical
methodologies
– Development fundamentals
– Risk management
Quality
assurance
– Rework avoidance
Customer
orientation
27
Product
Product
size and complexity
Product’s
Product
business area
goals
28
Technology
Programming
languages
Frameworks
IDE’s
Other
tools
– Designers
– Debuggers
29
Which Dimension Matters
The Most?
It depends
30
Classic Mistakes
What
is so “classic” in them?
What
are the reasons for them?
31
People-Related Mistakes
1.
Undermined motivation
2.
Weak personnel
3.
Uncontrolled problem employees
4.
Heroics (Wishful thinking)
5.
Adding people to a late project
6.
Noisy, crowded offices
32
People-Related Mistakes
7.
Friction between developers and
customers
8.
Unrealistic expectations
9.
Lack of
10.
–
effective project sponsorship
–
stakeholder buy-in
–
user input
Politics placed over substance
33
Process-Related Mistakes
1.
Overly optimistic schedules
2.
Insufficient risk management
3.
Abandonment of planning under
pressure
4.
Wasted time during the fuzzy front end
5.
Insufficient management controls
6.
Planning to catch up later
34
Product-Related Mistakes
1.
Requirements gold-plating
2.
Feature creep
3.
Developer gold-plating
4.
Push-me, pull-me negotiation
5.
Research-oriented development
35
Technology-Related Mistakes
1.
Silver-bullet syndrome
2.
Overestimated savings from new
tools or methods
3.
Switching tools in the middle of a
project
4.
Lack of automated source-code
control
36
Conclusion
Avoid
classic mistakes if possible
Explain
the potential threat when
forced to make classic mistakes
Actively
manage the risks
Quit
37
Thank You!
Google: Спри и помисли!
Email: [email protected]
Personal blogs:
– http://mikeramm.blogspot.com
– http://spriipomisli.blogspot.com
38