Rapid Application Development - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Rapid Application Development

Description:

Schedule-oriented set of effective practices. RAD is used ... Adding people to a late project. Noisy, crowded offices. Friction between developers & customers ... – PowerPoint PPT presentation

Number of Views:922
Avg rating:3.0/5.0
Slides: 35
Provided by: louis9
Category:

less

Transcript and Presenter's Notes

Title: Rapid Application Development


1
Rapid Application Development
  • Rad.ppt

2
Overivew
  • What is RAD?
  • What are the four pillars of Rapid Development?
  • Efficient Development
  • Schedule-oriented practices

3
What is RAD?
  • Schedule-oriented set of effective practices
  • RAD is used when project requires development
    speed
  • There are 3 types of schedule-oriented practices
  • Speed-oriented practices
  • Schedule-Risk-Oriented Practices
  • Visibility-Oriented practices

4
Schedule-Oriented Practices
  • Speed-oriented practices
  • faster product delivery
  • Schedule-Risk-oriented practices
  • avoidance of schedule overruns
  • Visibility oriented practices
  • keep the user from thinking youre not doing
    anything

5
RAD Strategy
  • 1. Avoid classic mistakes
  • 2. Apply development fundamentals
  • 3. Manage risks to avoid catastrophic setbacks
  • 4. Apply schedule-oriented practices, which are
    ..?

6

4 pillars of Rapid Development
BEST Possible Schedule
Classic- Mistake Avoidance
Development Fundamentals
Risk Management
Schedule- Oriented Practices
Efficient Development
Special thanks to Dr. Soe for developing this and
the next slide
7
4 dimensions of development speedWhat you
canleverage
People
Product
Process
Technology
8
IDENTIFY TWO ATTRIBUTES OF EACH DIMENSION
9
Leveraging People (Boehm, 1981)
  • Selection / recruitment Get the top talent -
    fewer better people people are the source of
    your competitive advantage
  • Match people jobs - skills motivation
  • Career development - help people move ahead
  • Team balance - team members complement
    harmonize with each other
  • Misfit elimination - replace problem people ASAP
    (personality conflicts, free riders, etc.)

10
Leveraging Process
  • Avoiding rework
  • Quality assurance - build quality in from start -
    how?
  • Development fundamentals
  • Standard software engineering practices
  • Risk Management - What risks?
  • Lifecycle planning suited to the project - What
    are the key lifecycle planning strategies?
  • Customer orientation is a MUST, always!

11
Leveraging Product
  • Product size
  • The bigger the product the longer it takes
  • Appropriate feature set
  • Product characteristics
  • Products with high goals for performance, memory
    use, robustness reliability will take longer to
    develop
  • Trade-offs between features and development speed

12
Leveraging Technology
  • Language choice
  • Other kinds of technology choices that
  • increase development speed
  • Product quality
  • Technologies depend on nature of product

13
Leveraging Process
  • Robust design planning helps avoid rework
  • Quality assurance - build quality in from the
    beginning by focusing on it at every stage
  • Use standard software-engineering practices
  • Manage risks
  • Focus resources to contribute to productivity
  • Lifecycle planning suited to project
  • Customer orientation

14
Fast Development Approaches
  • Average practice (average cost, schedule,
    product)
  • Efficient development (balance cost, schedule and
    functionality of the product -- better than
    average alternative)
  • Efficient development best schedule (enhanced
    schedule, better cost and functionality)
  • speed-oriented vs. schedule-risk oriented vs
    visability-oriented
  • All-out development (fastest schedule, BUT brings
    increased risk and/or reductions in product
    quality and/or cost)

15
Efficient Development
  • Means establishing first 3 pillars of Best
    Possible Schedule Structure, which are?
  • 1 ____________________
  • 2 ____________________
  • 3 ____________________
  • Optimize
  • Cost
  • Schedule
  • Product characteristics

16
Once Efficient Development is Achieved
  • Then tilt toward the goals beyond
  • for all-out Rapid Development (fastest speed)-
  • brings increased risk and/or reductions in
    product quality and/or cost
  • e.g. add more people to decrease schedule
  • for fewest defects
  • for maximum user satisfaction
  • for lowest development costs

17
Avoid Class Mistakes
  • Even if you use modern programming practices
  • mistakes will lower your productivity
  • One really big mistake will trap you into
  • SLOW APPLICATION DEVELOPMENT!
  • Case 3.1 Giga-Quote Program. Prepare to discuss
    next time. Identify all the mistakes!

18
Classic People Mistakes
  • Undermine motivation
  • Weak personnel
  • Uncontrolled problem employees
  • Heroics - promoting can-do attitudes
  • Adding people to a late project
  • Noisy, crowded offices
  • Friction between developers customers
  • Unrealistic expectations - project time reduction
  • Lack -of sponsorship
  • -of stakeholder buy-in
  • -of user input
  • Politicsgtsubstance
  • Wishful thinking

19
Classic Process Mistakes
  • Overly optimistic schedules
  • Insufficient risk management
  • Contractor failure
  • Insufficient planning
  • Abandoning planning under pressure
  • Wasted time during fuzzy front end
  • Shortchanged upstream activities (design, etc.)
    Inadequate design
  • Shortchanged QA
  • Insufficient management controls
  • Premature convergence
  • Forgetting tasks
  • Plan to catch up later
  • Code-like-hell programming

20
Classic Product Mistakes
  • Requirements gold-plating
  • making the system complex
  • Feature Creep
  • Developer gold-plating
  • Push-me Pull-me negotiation -- manager
    negotiates shorter time frame then adds to
    project requirements
  • Research oriented development

21
Classic Technology Mistakes
  • Silver Bullet Syndrome
  • Overestimated savings from new tools or methods
  • Switching tools in middle of the project
  • Lack of automated source-code control
    (overwriting each others work)


22
Review of Software Development Fundamentals
  • Management fundamentals
  • Estimation scheduling
  • Planning
  • Tracking
  • Measurement
  • Technical fundamentals
  • Requirements management
  • Design before coding
  • Construction
  • Software configuration management

23
Review of Software Development Fundamentals
  • Technical reviews
  • Design reviews
  • Walkthroughs
  • Code reviews or reading
  • Code inspections
  • Error-prone modules
  • Testing
  • Following the requirements

24
Levels of Risk Management for Which You Can
Strive
  • Crisis management
  • Fix on failure
  • Risk mitigation
  • Prevention
  • Elimination of root causes
  • The last two are the most important!

25
Risk Management (Boehm, 1989)
Risk Identification Risk Analysis Risk
Prioritization
Risk Assessment
Risk Management
Risk-Management Planning Risk Resolution Risk
Monitoring
Risk Control
How do you do this?
26
Risk Assessment
  • Risk identification - list of potential risks to
    project schedule
  • Risk analysis - estimation of risk probabilities
  • Risk prioritization - list of risks by impact

27
Risk Control
  • Risk-management planning -- plan for dealing
    with each risk
  • Risk resolution - for each risk
  • Risk monitoring of progress toward resolving each
    risk item

28
Most Common Schedule Risks (Review Table 5-3)
  • Feature creep
  • Requirements or developer gold-plating
  • Shortchanged quality
  • Overly optimistic schedules
  • Inadequate design
  • Silver-bullet syndrome
  • Research-oriented development
  • Weak personnel
  • Contractor failure
  • Friction between developers customers

29
Risk Analysis
  • Determine the risk exposure of each risk
  • Risk exposure (weeks) Probability of loss ()
    size of loss (weeks)
  • Estimate size of loss per schedule
  • Have team estimate probability
  • The size of the expected overrun (all the
    probable losses) overall risk level
  • Do risk management plans, then recompute risk
    exposure add to your schedule

30
Risk Prioritization
  • Sort risks in order of risk exposure
  • Fix the 80 that will yield the biggest results

31
Risk Control
  • Risk management planning - high-priority risks
  • Risk Resolution
  • Avoid the risk
  • Transfer the risk to another part of system
  • Buy information about the risk (investigate)
  • Eliminate the root causes of the risk
  • Assume the risk (especially if small
    consequences)
  • Control the risk (extra resources, planning)
  • Remember the risk for future projects


32
Means of controlling Risks
  • Read review Tables 5-6 5-7
  • Create a Top-10 Risks list for future projects
  • Include post-mortems
  • Appoint a risk officer
  • Dont schedule so aggressively that the project
    is a desperate gamble

33
Plan for our JAD 1
  • Issues to consider
  • Classic mistake avoidance
  • Development fundamentals
  • Risk management
  • Schedule oriented practices
  • What do we need to plan? (next class session)
  • Agenda with Times order of presentations
  • JAD leadership
  • Process
  • Deliverables

34
  • Assignment of Sub-Projects
  • Review JAD 1 requirements
Write a Comment
User Comments (0)
About PowerShow.com