Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

1.

Introduction to RSD

2008, University of Colombo School of Computing

What is Rapid Development?


Developing software in a shorter time period without harming the quality, cost, performance or maintainability. It is a generic term with the meaning speedy development or shorter schedule

2008, University of Colombo School of Computing

Some of the Principles behind the definition


20/80 rule - Sometimes a usable 80% solution can be produced in 20% of the time required to produce a total solution. Sometimes the business requirements for a system can be fully satisfied even if some of its operational requirements are not satisfied. Some times the acceptability of a system can be assessed against the agreed minimum useful set of requirements
2008, University of Colombo School of Computing

Issues in Traditional Software Development


Cost and schedule overruns Cancelled projects High turn over Friction between managers, developers and customers Product not fit for business

2008, University of Colombo School of Computing

Typical reasons for software projects failure


a) Risks associated with teams. If a team of developers, end users, and systems maintainers have not worked together before and do not learn to communicate effectively, they are not likely to develop a successful system without schedule delays or cost overruns. Other risks are associated with the lack of well-defined or well-understood processes.
2008, University of Colombo School of Computing

Typical reasons for software projects failure cont.


b) Risks associated with technology. Teams that pursue a new technical approach (for example, the first venture into client-server computing) finds that the lack of experience with a new technology, architecture, or development approach contributes to failure.

2008, University of Colombo School of Computing

Typical reasons for software projects failure cont.


c) Risk associated with requirements. Most often-cited reason for failure is poor management of requirements characterized by frequently changing requirements, requirements that are not well understood, and requirements explosion.

2008, University of Colombo School of Computing

Problems Addressed by RSD


With Conventional methods,
there is a long delay before the customer sees any results developments can take a long time and some times a business may change during that period there is nothing until 100% of the process is finished.

2008, University of Colombo School of Computing

Classic mistakes
To achieve rapid development you need to avoid making any big mistakes. Some inefficient development practices have been chosen so often with such predictable bad results that they deserve to be called classic mistakes. They have been made so often and their consequences have become easy to predict. The classic mistakes rarely produces the results that people hope for.
2008, University of Colombo School of Computing

Project was riddled with mistakes and all the kings managers and tech leads couldnt rescue the project for any ones sake

2008, University of Colombo School of Computing

10

People related classic mistakes


Undermined motivation Weak personnel Uncontrolled problem employees Heroics
Mid-level management placing a higher premium on can-do attitude than steady and consistent progress and meaningful progress reporting. As a result, impending schedule slips, acknowledged or reported up the management chain at the last minute.
2008, University of Colombo School of Computing

11

People related classic mistakes cont.


Adding people to a late project Noisy, crowded offices Friction between developers and customers Unrealistic expectations

2008, University of Colombo School of Computing

12

People related classic mistakes cont.


Lack of effective project sponsorship
Without executive sponsor, the higher management may force to accept unrealistic deadlines.

Lack of stakeholder buy-in Lack of user input

2008, University of Colombo School of Computing

13

Politics placed over substance

People related classic mistakes cont.


Politics placed over substance : Politicians concentrating on relationships with their managers. Isolationists keeping to themselves, creating project boundaries kept close to non-team members.

Wishful thinking
Closing eyes and hoping some thing works when there is no reasonable basis for the thinking. Undermines meaningful planning.

2008, University of Colombo School of Computing

14

Product Related Classic Mistakes


Requirements Gold Plating
Some projects can have more requirements than they needs.

Feature Creep
Average project goes through about 25% change in requirements over the project life. Such changes can be fatal to RSD.

Developer gold plating


Developers are fascinated by new technology and some times keen to try out new features of a language or environment etc irrespective of the real need.
2008, University of Colombo School of Computing

15

Product Related Classic Mistakes cont.


Push-me, pull-me negotiation
A manager approves a schedule slip on a project that is progressing slower than expected and then adds completely new tasks.

2008, University of Colombo School of Computing

16

Product Related Classic Mistakes cont.


Research Oriented Development
If the project strains the limits of computer science by requiring the creation of new algorithms or new computing practices, it is software research. Software development schedules are predictable; software research schedules are not even theoretically predictable.

2008, University of Colombo School of Computing

17

Technology Related Classic Mistakes


Silver Bullet Syndrome
Jack and the magic beanstalk! Did the CASE tool grow into a magic beanstalk? The Nave belief that a single tool or technology will by itself dramatically reduce development time. Too much reliance on the advertised benefits of previously unused technologies.

2008, University of Colombo School of Computing

18

Technology Related Classic Mistakes cont.


Overestimated savings from new tools or methods
Organizations rarely improve productivity by giant leaps irrespective of the new tools they acquire. New tools are associated with learning curves.

2008, University of Colombo School of Computing

19

Technology Related Classic Mistakes cont.


Switching tools in the middle of the project
Learning curve, rework, and mistakes with a new tool cancel out benefits in the middle of a project.

Lack of automated source-code control


Failure to use automated source code control exposes projects to unnecessary risks.

2008, University of Colombo School of Computing

20

Process related classic mistakes


Overly optimistic schedules
Setting an overly optimistic schedule sets a project up for failure by underscoping the project, undermining effective planning, and abbreviating critical upstream development activities.

Insufficient risk management Contractor failure

2008, University of Colombo School of Computing

21

Process related classic mistakes cont.


Insufficient planning Abandonment of planning under pressure Wasted time during fuzzy front end
Time normally spent in the approval and budgeting process.

2008, University of Colombo School of Computing

22

Process related classic mistakes cont.


Shortchanged upstream activities
Disastrous example: When project schedule is in trouble and the team was asked to show the design- We didnt have time to do a design!!!

Inadequate Design
Rushed projects sometimes undermine design by not allocating enough time.

2008, University of Colombo School of Computing

23

Process Related Classic Mistakes cont.


Shortchanges Quality Assurance
Shortcutting 1 day of QA activity early in the project is likely to cost you from 3 to 10 days of activity downstream.

Insufficient Management Controls


Provide timely warnings of possible schedule slips. Some times controls abandoned once schedule slip occurs.
2008, University of Colombo School of Computing

24

Process Related Classic Mistakes cont.


Premature or Overly frequent convergence
Shortly before a product is scheduled to be released, there is a push to prepare the product for release . On rush projects there is a technology to force convergence early. This wastes time and prolong the schedule.

2008, University of Colombo School of Computing

25

Process Related Classic Mistakes cont.


Omitting necessary tasks from estimates
Lack of record keeping in previous projects. Less visible tasks gets omitted and they may add up to 20-30 percent.

Planning to Catch up later Code-like-hell programming

2008, University of Colombo School of Computing

26

Different Life Cycle Models


Waterfall model Spiral Model Evolutionary prototyping RAD Agile Development Etc.

2008, University of Colombo School of Computing

27

Choosing the most effective life cycle model for a project depends on, How well the customer and client understand the requirements at the beginning of the project? How well the system architecture is understood? How much reliability is needed? How much planning ahead and designing ahead is needed during a project for future versions?
2008, University of Colombo School of Computing

Choosing most rapid life cycle model

28

Choosing most rapid life cycle model cont.


How much risk does this project entail? Is it constrained to a predefined schedule? Does it need to be able to make midcourse corrections? Does it need to provide the customers with visible progress throughout the project? How much sophistication is needed to use the lifecycle model successfully?

2008, University of Colombo School of Computing

29

You might also like