Date post: | 24-Dec-2015 |
Category: |
Documents |
Upload: | kevin-bailey |
View: | 221 times |
Download: | 0 times |
Rapid DevelopmentRapid Development(Part 1)(Part 1)
Mihail V. MihaylovMihail V. Mihaylov
RammSoftRammSoft
22
In The Beginning Was…In The Beginning Was…The TriangleThe Triangle
Time Cost
Scope
33
The Holy Triangle of PMThe Holy Triangle of PM
QA
RM
Time Cost
Scope
44
The Holy Triangle of PMThe Holy Triangle of PM
55
The Holy Triangle of PMThe Holy Triangle of PM
QA
RM
Time Cost
Scope
66
In Software Development Time In Software Development Time Is the Most Critical FactorIs the Most Critical Factor
QA
RM
Time Cost
Scope
77
What Rapid Development What Rapid Development is not?is not?
It isn't Rapid Development™ —a It isn't Rapid Development™ —a magic phrase or buzzwordmagic phrase or buzzword
It isn't a glitzy Blaze-O-Matic® or It isn't a glitzy Blaze-O-Matic® or Gung-HO-OO™ rapid-development Gung-HO-OO™ rapid-development methodologymethodology
88
What is Rapid Development?What is Rapid Development?
It is a generic term that means It is a generic term that means "speedy development" or "shorter "speedy development" or "shorter schedules"schedules"
It means developing software faster It means developing software faster than you do nowthan you do now
99
QuotesQuotes I wish I had a simple solution to the I wish I had a simple solution to the
development-speed problem. I also wish development-speed problem. I also wish I had five million dollars.I had five million dollars.
But simple solutions tend to work only But simple solutions tend to work only for simple problems, and software for simple problems, and software development isn't a simple problem.development isn't a simple problem.
Rapid development of software is even Rapid development of software is even less simple. (Steve McConnell)less simple. (Steve McConnell)
For every complex problem, there is an For every complex problem, there is an answer that is short, simple, and wrong. answer that is short, simple, and wrong. (H. L. Mencken)(H. L. Mencken)
1010
Who Invented it?Who Invented it?
Steve McConnellSteve McConnell
http://www.stevemcconnell.com/http://www.stevemcconnell.com/
1111
Who Is Steve McConnell?Who Is Steve McConnell?
CEO and Chief Software Engineer CEO and Chief Software Engineer at Construx Software at Construx Software ((http://www.construx.com/http://www.construx.com/))
Technical book writerTechnical book writer
Editor in Chief Emeritus of IEEE Editor in Chief Emeritus of IEEE Software magazineSoftware magazine
1212
Steve McConnell’s BooksSteve McConnell’s Books
Code Complete (1993) / (2004)Code Complete (1993) / (2004)
Rapid Development (1996)Rapid Development (1996)
Software Project Survival Guide (1997)Software Project Survival Guide (1997)
After The Gold Rush (1999) / Professional After The Gold Rush (1999) / Professional Software Development (2003)Software Development (2003)
Software Estimation: Demystifying the Software Estimation: Demystifying the Black Art (2006)Black Art (2006)
1313
More Steve McConnell FactsMore Steve McConnell Facts
In 1998 named one of the 3 most In 1998 named one of the 3 most influential people in the software influential people in the software industryindustry
Won twice Software Development Won twice Software Development magazine's Jolt Excellence award for magazine's Jolt Excellence award for outstanding SD book of the yearoutstanding SD book of the year
1414
Rapid-Development StrategyRapid-Development Strategy
Avoid classic mistakesAvoid classic mistakes
Apply development fundamentalsApply development fundamentals
Manage risks to avoid catastrophic Manage risks to avoid catastrophic setbackssetbacks
Apply schedule-oriented practicesApply schedule-oriented practices
1515
The Four Pillars Of RDThe Four Pillars Of RD
1616
Efficient DevelopmentEfficient Development
Efficient Development
1717
The Four Pillars Of RDThe Four Pillars Of RD
1818
Efficient DevelopmentEfficient Development
Risk Management
Development Fundamentals
Classic Mistakes Avoidance
1919
Software-Development Software-Development FundamentalsFundamentals
Management fundamentalsManagement fundamentals
Technical fundamentalsTechnical fundamentals
Quality-assurance fundamentalsQuality-assurance fundamentals
2020
Management FundamentalsManagement Fundamentals
PlanningPlanning
TrackingTracking
MeasurementMeasurement
2121
Technical FundamentalsTechnical Fundamentals
Requirements managementRequirements management
DesignDesign
ConstructionConstruction
Configuration managementConfiguration management
2222
QA PracticesQA Practices
Error-prone modules analysisError-prone modules analysis
TestingTesting
Technical reviewsTechnical reviews
– Walkthroughs, Code reading, Inspections (find 60-90% of the defects)
2323
Risk ManagementRisk Management
Levels of risk managementLevels of risk management
– Crisis management (Fire-fighting)Crisis management (Fire-fighting)
– Risk mitigationRisk mitigation
– PreventionPrevention
– Elimination of root causesElimination of root causes
2424
Four Dimensions of Four Dimensions of DevelopmentDevelopment
PeoplePeople
ProcessProcess
ProductProduct
TechnologyTechnology
2525
PeoplePeople
Peopleware issues have the biggest Peopleware issues have the biggest impact on software productivity and impact on software productivity and software qualitysoftware quality
10-to-1 difference in productivity 10-to-1 difference in productivity among developersamong developers
5-to-1 difference in productivity 5-to-1 difference in productivity among teamsamong teams
2626
Ways to MaximizeWays to MaximizeHuman PotentialHuman Potential
Staff selectionStaff selection
– Top talent, Job matching, Career Top talent, Job matching, Career progression, Team balance, Misfit progression, Team balance, Misfit eliminationelimination
Team organizationTeam organization
MotivationMotivation
2727
ProcessProcess Includes management and technical Includes management and technical
methodologiesmethodologies
– Development fundamentalsDevelopment fundamentals
– Risk managementRisk management
Quality assuranceQuality assurance
– Rework avoidanceRework avoidance
Customer orientationCustomer orientation
2828
ProductProduct
Product size and complexityProduct size and complexity
Product’s business areaProduct’s business area
Product goalsProduct goals
2929
TechnologyTechnology
Programming languagesProgramming languages
FrameworksFrameworks
IDE’sIDE’s
Other toolsOther tools
– DesignersDesigners
– DebuggersDebuggers
3030
Which Dimension Matters Which Dimension Matters The Most?The Most?
It dependsIt depends
3131
Classic MistakesClassic Mistakes
What is so “classic” in them?What is so “classic” in them?
What are the reasons for them?What are the reasons for them?
3232
People-Related MistakesPeople-Related Mistakes1.1. Undermined motivationUndermined motivation
2.2. Weak personnelWeak personnel
3.3. Uncontrolled problem employeesUncontrolled problem employees
4.4. Heroics (Wishful thinking)Heroics (Wishful thinking)
5.5. Adding people to a late projectAdding people to a late project
6.6. Noisy, crowded officesNoisy, crowded offices
3333
People-Related MistakesPeople-Related Mistakes7.7. Friction between developers and Friction between developers and
customerscustomers
8.8. Unrealistic expectationsUnrealistic expectations
9.9. Lack ofLack of
– effective project sponsorshipeffective project sponsorship
– stakeholder buy-instakeholder buy-in
– user inputuser input
10.10. Politics placed over substancePolitics placed over substance
3434
Process-Related MistakesProcess-Related Mistakes
1.1. Overly optimistic schedulesOverly optimistic schedules
2.2. Insufficient risk managementInsufficient risk management
3.3. Abandonment of planning under Abandonment of planning under pressurepressure
4.4. Wasted time during the fuzzy front endWasted time during the fuzzy front end
5.5. Insufficient management controlsInsufficient management controls
6.6. Planning to catch up laterPlanning to catch up later
3535
Product-Related MistakesProduct-Related Mistakes
1.1. Requirements gold-platingRequirements gold-plating
2.2. Feature creepFeature creep
3.3. Developer gold-platingDeveloper gold-plating
4.4. Push-me, pull-me negotiationPush-me, pull-me negotiation
5.5. Research-oriented developmentResearch-oriented development
3636
Technology-Related MistakesTechnology-Related Mistakes
1.1. Silver-bullet syndromeSilver-bullet syndrome
2.2. Overestimated savings from new Overestimated savings from new tools or methodstools or methods
3.3. Switching tools in the middle of a Switching tools in the middle of a projectproject
4.4. Lack of automated source-code Lack of automated source-code controlcontrol
3737
ConclusionConclusion
Avoid classic mistakes if possibleAvoid classic mistakes if possible
Explain the potential threat when Explain the potential threat when forced to make classic mistakesforced to make classic mistakes
Actively manage the risksActively manage the risks
QuitQuit
3838
Thank You!Thank You!
Google: Google: Спри и помисли!Спри и помисли!
Email: Email: [email protected]@gmail.com
Personal blogs:Personal blogs:
– http://mikeramm.blogspot.comhttp://mikeramm.blogspot.com
– http://http://spriipomisli.blogspot.comspriipomisli.blogspot.com