Title: Rapid Application Development
1Rapid Application Development
2Overivew
- What is RAD?
- What are the four pillars of Rapid Development?
- Efficient Development
- Schedule-oriented practices
3What 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
4Schedule-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
5RAD 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
74 dimensions of development speedWhat you
canleverage
People
Product
Process
Technology
8IDENTIFY TWO ATTRIBUTES OF EACH DIMENSION
9Leveraging 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.)
10Leveraging 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!
11Leveraging 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
12Leveraging Technology
- Language choice
- Other kinds of technology choices that
- increase development speed
- Product quality
- Technologies depend on nature of product
13Leveraging 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
14Fast 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)
15Efficient Development
- Means establishing first 3 pillars of Best
Possible Schedule Structure, which are? - 1 ____________________
- 2 ____________________
- 3 ____________________
- Optimize
- Cost
- Schedule
- Product characteristics
16Once 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
17Avoid 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!
18Classic 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
19Classic 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
20Classic 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
21Classic 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)
22Review of Software Development Fundamentals
- Management fundamentals
- Estimation scheduling
- Planning
- Tracking
- Measurement
- Technical fundamentals
- Requirements management
- Design before coding
- Construction
- Software configuration management
23Review of Software Development Fundamentals
- Technical reviews
- Design reviews
- Walkthroughs
- Code reviews or reading
- Code inspections
- Error-prone modules
- Testing
- Following the requirements
24Levels 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!
25Risk 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?
26Risk Assessment
- Risk identification - list of potential risks to
project schedule - Risk analysis - estimation of risk probabilities
- Risk prioritization - list of risks by impact
27Risk Control
- Risk-management planning -- plan for dealing
with each risk - Risk resolution - for each risk
- Risk monitoring of progress toward resolving each
risk item
28Most 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
29Risk 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
30Risk Prioritization
- Sort risks in order of risk exposure
- Fix the 80 that will yield the biggest results
31Risk 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
32Means 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
33Plan 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