Agile Software Development Principles at University of Malta

 
CIS1107/1207 – RAD 
(batch 5)
 
Rapid Application Development (RAD)
 
In this part we look at the agile approach taken to software
development. Agile, or rapid, development techniques are an
attempt to maintain software quality while making development
faster to increase competitiveness in today’s software development
market.
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
Agile Development Principles
 
1.
Priority given to individuals and interaction, rather than to
processes and tools 
(trust, personal communication, quality of work,
responsibility, self-management at micro-level)
2.
Attention to working parts of solution, rather than to
comprehensive documentation 
(tangible results, client reassurance,
evident solution parts)
3.
Importance to customer involvement, rather than contractual
detachment 
(stakeholder participation, transparency, collaboration, feedback,
client acceptance)
4.
Reactive to change, rather than railed into a rigid plan 
(flexibility,
relevance, result effectiveness, client satisfaction)
 
General points only taken from www.agilealliance.org
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
RAD Principles
 
1.
All stakeholders
 
- must take active part in decision taking
 
- can take binding decisions
2.
Deliverables
 
- are frequent
 
- must clearly map on to the business process
 
- are bite-sized
3.
All development effort is reversible
4.
Requirements are agreed upon at a high level
-  the method of their actual implementation is not that important
5.
Testing permeates the SDLC
6.
Collaboration, not competition between stakeholders is of
essence
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
Main RAD Features
 
User involvement
Strict (and usually fast) delivery times
Prototyping
Effective use of modern development tools
Reduction of the requirements capture and analysis effort
Incremental development
The next slides will go through each feature
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
User Involvement
 
JAD
Decision taking
Sign-offs
Prototype demos
Bite size development focus
Problem detection and correction
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
Strict Delivery Times
 
Timebox approach
2 to 6 weeks
Prioritisation (MoSCoW rules)
M
ust, 
S
hould, 
C
ould, 
W
ant to have
User agreement
Power of decision
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
Prototyping
 
The main communication tool in RAD
Requires planning
Serve as milestones
Should be measureable
Can take any form horizontal or vertical
Is generally evolutionary in nature
 
Ernest Cachia Department of Computer
Information Systems
 
Faculty of ICT
 
Effective use of Modern Techniques
 
The “educated” use of:
Models
Methods
Techniques
Technologies
Environments
 
Ernest Cachia Department of Computer
Information Systems
 
Faculty of ICT
 
Reduction of Requirements Capture and
Analysis Effort
 
Less time on getting every part right as early as possible at
model level, producing a “ready” solution.
More time on doing smaller bits, asking for feedback,
combining the bits to “grow” the solution.
Shift of some analysis effort from developer to user.
 
Ernest Cachia Department of Computer
Information Systems
 
Faculty of ICT
 
Incremental Development
 
The current version of evolves from a simpler previous version
Development can be subdivided into manageable parts
Requires good configuration management to work
Small development chunks are a must
Frequent deliverables are a must
 
Ernest Cachia Department of Computer
Information Systems
 
Faculty of ICT
 
DSDM- An SDLC based on RAD
 
Dynamic Systems Development Method (DSDM)
Is a standard used throughout the UK and a number of other
countries. Yet others, use it sparingly
Is an “open” method – i.e. non-commercialised
Is supported by a consortium also called the “DSDM
Consortium”
   
see site: dsdm.org (registration might be required)
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
The DSDM Framework
 
From http://dsdm.org
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
DSDM
 
Does not specify a particular method of development to use in
its phases
Just offers a framework upon which development may proceed
and at which points and what sort of milestone to produce
Really only covers analysis, design and implementation phases
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
RAD Principles (9 in all) 
(1/2)
 
1.
Win-Win (my addition)
2.
All stakeholders must take active part
3.
All stakeholders can take binding decisions
4.
Deliverables are frequent
5.
Deliverables must clearly map on to the business process
6.
Deliverables are bite-sized
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
RAD Principles (9 in all)
 
(2/2)
 
7.
All development effort is reversible
8.
Requirements are agreed upon at a high level – i.e. the
method of their actual implementation is not that important
9.
Testing permeates the SDLC
10.
Collaboration, not competition between stakeholders is of
essence
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
The DSDM Filter
 
When to use DSDM? Answer these…
Is the functionality visible through the UIs?
Can all end user classes be identified?
Is the system heavy on computation?
Is the system “large” and can it be sensibly split up?
How time-constrained is the project?
Are requirements abstract enough and can they change
within limits?
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
Systems that can benefit from DSDM
 
Interactive
Based on UIs (functionally)
User groups are clearly defined
Not too complex
Can be incrementally developed
Time-wise guaranteed
Requirements can be prioritised
Requirements can undergo changes
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
Examples of Agile Methodologies
 
XP (Taken to be generically representative of all the “agile”
methodologies)
This method was outlined in the previous slides
Scrum (first created in 1994, commercially used in 2002/3)
This method is based on iterative (usually 30-day) segments called “sprints”.
Autonomous teams work in parallel on pre-prioritised requirements and
synchronise through short daily meetings called “Scrums”.
Crystal (2002)
This method is developer-centric. It assumes that the main project quality driver is
the quality of people. Also relies on frequent communication and less
intermediate deliverables.
Adaptive Software Development (2000)
This is a feature-oriented method that is driven by the development of features as
understood by the client. Change is expected and risk is tackled “head-on” by
tackling the most complex issues first.
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
 
Summary
 
The concepts behind agile development methods
Rapid Application Development (RAD)
Examples of some agile methodologies
 
Faculty of ICT
 
Ernest Cachia Department of Computer
Information Systems
Slide Note
Embed
Share

University of Malta follows Agile software development principles to prioritize individuals and interactions over processes and tools, focus on working solutions rather than comprehensive documentation, involve customers throughout the process, and remain adaptable to changes. The Rapid Application Development (RAD) approach includes active stakeholder participation, frequent and business-aligned deliverables, reversibility of development efforts, high-level requirements agreement, pervasive testing, and collaborative decision-making. Main RAD features at University of Malta include user involvement, strict delivery timelines, prototyping, effective use of modern development tools, reduced requirements analysis effort, and incremental development.

  • Agile software development
  • University of Malta
  • RAD principles
  • User involvement
  • Rapid Application Development

Uploaded on Oct 05, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. University of Malta CIS1107/1207 RAD (batch 5) Rapid Application Development (RAD) In this part we look at the agile approach taken to software development. Agile, or rapid, development techniques are an attempt to maintain software quality while making development faster to increase competitiveness in today s software development market. Ernest Cachia Department of Computer Information Systems Slide 1 of 22 Faculty of ICT

  2. University of Malta Agile Development Principles 1. Priority given to individuals and interaction, rather than to processes and tools (trust, personal communication, quality of work, responsibility, self-management at micro-level) 2. Attention to working parts of solution, rather than to comprehensive documentation (tangible results, client reassurance, evident solution parts) 3. Importance to customer involvement, rather than contractual detachment (stakeholder participation, transparency, collaboration, feedback, client acceptance) 4. Reactive to change, rather than railed into a rigid plan (flexibility, relevance, result effectiveness, client satisfaction) General points only taken from www.agilealliance.org Ernest Cachia Department of Computer Information Systems Slide 2 of 22 Faculty of ICT

  3. University of Malta RAD Principles 1. 2. 3. 4. All stakeholders - must take active part in decision taking - can take binding decisions Deliverables - are frequent - must clearly map on to the business process - are bite-sized All development effort is reversible Requirements are agreed upon at a high level - the method of their actual implementation is not that important Testing permeates the SDLC Collaboration, not competition between stakeholders is of essence 5. 6. Ernest Cachia Department of Computer Information Systems Slide 3 of 22 Faculty of ICT

  4. University of Malta Main RAD Features User involvement Strict (and usually fast) delivery times Prototyping Effective use of modern development tools Reduction of the requirements capture and analysis effort Incremental development The next slides will go through each feature Ernest Cachia Department of Computer Information Systems Slide 4 of 22 Faculty of ICT

  5. University of Malta User Involvement JAD Decision taking Sign-offs Prototype demos Bite size development focus Problem detection and correction Ernest Cachia Department of Computer Information Systems Slide 5 of 22 Faculty of ICT

  6. University of Malta Strict Delivery Times Timebox approach 2 to 6 weeks Prioritisation (MoSCoW rules) Must, Should, Could, Want to have User agreement Power of decision Ernest Cachia Department of Computer Information Systems Slide 6 of 22 Faculty of ICT

  7. University of Malta Prototyping The main communication tool in RAD Requires planning Serve as milestones Should be measureable Can take any form horizontal or vertical Is generally evolutionary in nature Ernest Cachia Department of Computer Information Systems Slide 7 of 22 Faculty of ICT

  8. University of Malta Effective use of Modern Techniques The educated use of: Models Methods Techniques Technologies Environments Ernest Cachia Department of Computer Information Systems Slide 8 of 22 Faculty of ICT

  9. Reduction of Requirements Capture and Analysis Effort University of Malta Less time on getting every part right as early as possible at model level, producing a ready solution. More time on doing smaller bits, asking for feedback, combining the bits to grow the solution. Shift of some analysis effort from developer to user. Ernest Cachia Department of Computer Information Systems Slide 9 of 22 Faculty of ICT

  10. University of Malta Incremental Development The current version of evolves from a simpler previous version Development can be subdivided into manageable parts Requires good configuration management to work Small development chunks are a must Frequent deliverables are a must Ernest Cachia Department of Computer Information Systems Slide 10 of 22 Faculty of ICT

  11. University of Malta DSDM- An SDLC based on RAD Dynamic Systems Development Method (DSDM) Is a standard used throughout the UK and a number of other countries. Yet others, use it sparingly Is an open method i.e. non-commercialised Is supported by a consortium also called the DSDM Consortium see site: dsdm.org (registration might be required) Ernest Cachia Department of Computer Information Systems Slide 11 of 22 Faculty of ICT

  12. University of Malta The DSDM Framework From http://dsdm.org Ernest Cachia Department of Computer Information Systems Slide 12 of 22 Faculty of ICT

  13. University of Malta DSDM Does not specify a particular method of development to use in its phases Just offers a framework upon which development may proceed and at which points and what sort of milestone to produce Really only covers analysis, design and implementation phases Ernest Cachia Department of Computer Information Systems Slide 13 of 22 Faculty of ICT

  14. University of Malta RAD Principles (9 in all) (1/2) 1. Win-Win (my addition) 2. All stakeholders must take active part 3. All stakeholders can take binding decisions 4. Deliverables are frequent 5. Deliverables must clearly map on to the business process 6. Deliverables are bite-sized Ernest Cachia Department of Computer Information Systems Slide 14 of 22 Faculty of ICT

  15. University of Malta RAD Principles (9 in all)(2/2) 7. All development effort is reversible 8. Requirements are agreed upon at a high level i.e. the method of their actual implementation is not that important 9. Testing permeates the SDLC 10. Collaboration, not competition between stakeholders is of essence Ernest Cachia Department of Computer Information Systems Slide 15 of 22 Faculty of ICT

  16. University of Malta The DSDM Filter When to use DSDM? Answer these Is the functionality visible through the UIs? Can all end user classes be identified? Is the system heavy on computation? Is the system large and can it be sensibly split up? How time-constrained is the project? Are requirements abstract enough and can they change within limits? Ernest Cachia Department of Computer Information Systems Slide 16 of 22 Faculty of ICT

  17. University of Malta Systems that can benefit from DSDM Interactive Based on UIs (functionally) User groups are clearly defined Not too complex Can be incrementally developed Time-wise guaranteed Requirements can be prioritised Requirements can undergo changes Ernest Cachia Department of Computer Information Systems Slide 17 of 22 Faculty of ICT

  18. University of Malta Examples of Agile Methodologies XP (Taken to be generically representative of all the agile methodologies) This method was outlined in the previous slides Scrum (first created in 1994, commercially used in 2002/3) This method is based on iterative (usually 30-day) segments called sprints . Autonomous teams work in parallel on pre-prioritised requirements and synchronise through short daily meetings called Scrums . Crystal (2002) This method is developer-centric. It assumes that the main project quality driver is the quality of people. Also relies on frequent communication and less intermediate deliverables. Adaptive Software Development (2000) This is a feature-oriented method that is driven by the development of features as understood by the client. Change is expected and risk is tackled head-on by tackling the most complex issues first. Ernest Cachia Department of Computer Information Systems Slide 18 of 22 Faculty of ICT

  19. University of Malta Summary The concepts behind agile development methods Rapid Application Development (RAD) Examples of some agile methodologies Ernest Cachia Department of Computer Information Systems Slide 19 of 22 Faculty of ICT

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#