issues in rapid application development

22
2. Issues in Rapid Application Development Kasun Ranga Wijeweera ([email protected])

Upload: kasun-ranga-wijeweera

Post on 18-Nov-2014

60 views

Category:

Engineering


2 download

DESCRIPTION

Describes the issues in Rapid Application Development

TRANSCRIPT

Page 1: Issues in Rapid Application Development

2. Issues in Rapid Application Development

Kasun Ranga Wijeweera

([email protected])

Page 2: Issues in Rapid Application Development

General Characteristics

• Usage of Specialized Support Tools– Visual Development Tools• E.g. RAD Studio XE6

– Application Programming Interfaces (API)• E.g. STL in C++, Java API

– Version Control Tools• E.g. CVS, RCS, PRCS

– Content Management Systems (CMS)• E.g. OpenCms, Joomla, Drupal

Page 3: Issues in Rapid Application Development

General Characteristics

• Usage of Specialized Support Tools…– Pure Simulations• E.g. ASCEND, FreeMat

– Multiple Programming Languages• E.g. Emacs

– Teamwork• E.g. MagicDraw

– Team Scheduling• E.g. schedueit

Page 4: Issues in Rapid Application Development

General Characteristics

• Time Boxing– Development is done iteratively– Each iteration is done in a time box of fixed

duration– Secondary requirements may be ignored in order

to stay on schedule

Page 5: Issues in Rapid Application Development

General Characteristics

• Iteratively Evolutionary Prototyping– Joint Application Development Meeting (JADM)• Generating a rough list of requirements

– Iterative throughout the process• Developers build/refine prototype• Designers review the prototype• Customers tryout the prototype

– Focus group meeting• At some stage exploratory prototypes may evolve into

operational prototypes

Page 6: Issues in Rapid Application Development

Strategy in RAD

• Get rid of classic mistakes• Application of development fundamentals• Proper management of risks to avoid roll

backs• Focus on schedule oriented practices

Page 7: Issues in Rapid Application Development

Dimensions of Speed

• People• Process• Product• Technology

Page 8: Issues in Rapid Application Development

People

• People play the most important role on software productivity and software quality

• The issues are motivation, teamwork, staff selection and training

• Ways to maximize human potential– Staff selection for team projects• Top talent, Job matching, Career progression, Team

balance

– Team organization and motivation

Page 9: Issues in Rapid Application Development

Process

• Process consists of both technical and management methodologies

• A well planned process can help:– Rework avoidance– Quality assurance– Risk management– Customer orientation– Resource targeting

Page 10: Issues in Rapid Application Development

Product

• Development time depends on product size and product characteristics

• Product size– This is the major contributor to the development

time

• Product characteristics– A product with ambiguous goals will take longer

to develop than a product with well defined goals

Page 11: Issues in Rapid Application Development

Technology

• Use of effective tools can enhance the development time

• Choice of effective tools and management of risks are the basic aspects of rapid development

Page 12: Issues in Rapid Application Development

General Constraints of RAD

• The acceptance criterion of deliverables: – “Fit for business”

• All constituencies which can impact requirements must be informed to the development team throughout the process

• Informal deliverables should be accepted by customers and developers– Paper prototypes, Notes of requirements,

Minimum documentation

Page 13: Issues in Rapid Application Development

When RAD works?

• The application is standalone• Heavy use of APIs• Constrained project scope• Performance is not critical• Reliability is not critical• System can be divided into independent

modules• The technology is well established

Page 14: Issues in Rapid Application Development

When RAD fails?

• The application must communicate with existing program

• Minimum resource consumption is required• The system cannot be modularized• Technical risks are high due to the use of

BLEEDING EDGE technology• Higher level of reliability is required

Page 15: Issues in Rapid Application Development

Advantages of RAD

• Early visibility due to prototyping• Greater flexibility due to the developers

involvement in management• Higher user involvement• Reduction of manual coding–Wizards, Code generators, Code reuse

• Fewer defects– Due to the use of third party building blocks

Page 16: Issues in Rapid Application Development

Advantages of RAD…

• Reduction of cost– “Time is money”, Code reuse

• Shorter development cycles– Focus on schedule than economy and quality

• Standard look and feel– APIs and reusable components provide

consistency

Page 17: Issues in Rapid Application Development

Disadvantages of RAD

• Tools can be expensive• Hard to measure the progress– No milestones as in classic way

• Non optimized code• Many defects are possible• Third party components may not provide

required functionality or add unnecessary functionality

Page 18: Issues in Rapid Application Development

Customer Oriented Development

• Not every solution developed is good for customers

• Customer Oriented Development has a big impact on development speed

• Nature of customers vary from project to project

Page 19: Issues in Rapid Application Development

Customer’s Importance to RAD

• User involvement is the number one reason for a successful project– Standish group, 1994

• Easy access to end users is one of the critical factors in RAD projects–Millington and Stapleton, 1995

• Good relation with customers– Improve actual development speed– Improve perceived development speed

Page 20: Issues in Rapid Application Development

Customer Oriented Practices

• Customer oriented practices provide the best way for customer satisfaction

• Categories for RAD purposes– Planning– Requirement– Design– Construction

Page 21: Issues in Rapid Application Development

Criteria for Tool Acquisition

• Estimated gain• Vendor stability• Quality• Maturity• Training time• Applicability• Compatibility

Page 22: Issues in Rapid Application Development

Thank you!