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