1 / 25

Chapter 2 3

Chapter 2 3. Rapid Development Methodologies. Rapid development methodologies. Objective: to speed up the development process in order to cope with rapidly changing business needs Business environment: increasingly competitive customer-focused international

joanncooper
Télécharger la présentation

Chapter 2 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 23 Rapid Development Methodologies

  2. Rapid development methodologies • Objective: to speed up the development process in order to cope with rapidly changing business needs • Business environment: • increasingly competitive • customer-focused • international • and therefore continuously changing • Methodologies:- • James Martin Rapid Application Development -JMRAD • Dynamic System Development Method – DSDM • Extreme Programming – XP • Web IS Development Methodology - WISDM

  3. Rapid development methodologies • to meet the goal to develop IS quickly • general characteristics • incremental development & prototyping • timeboxing (suggestions vary from 90days to 6 months) • IS is divided up into a number of components that are developed in a prioritized order (according to functions) • time & resources are fixed, functionalities vary (opposite to traditional development) • 80/20 rule • 80% of the functionalities can be delivered with 20% of resources • MoSCoW rules • requirements are prioritized: M=must haves; S=the should haves; C=the could haves; W=the won’t have • Joint Application Development workshops for user participation • sponsor and champion committed • tools to speed up the development process

  4. RAD and IE

  5. James Martin’s RAD (JMRAD) • Key characteristics • prototyping/evolutionary approach • identifying and involving the users at early stages of development • obtaining commitment from the business users • requires a toolset with a sophisticated repository • Four phases • Requirements Planning (joint requirements planning) • User Design (joint applications development) • Construction (user design to detailed design and concrete programming; prototyping) • Cutover (comparison between old and new system)

  6. Phases of the RAD approach

  7. Dynamic Systems Development Method (DSDM) • “an approach to building and maintaining computer-based systems, which combines effective use of tools and techniques, prototyping and tight project delivery timetables” • to fix RAD’s image of “quick and dirty” to proper method (1994), yet it is more like a framework than a method

  8. Dynamic Systems Development Method (DSDM) • Seen as more of a framework than a methodology it leaves much of the detail of how things should be done to the user. • DSDM defines nine principles that are critical to project success in the rapid development domain. • Underlying development concepts appear to be closely linked to familiar hard systems concepts of feasibility, concept of operations, functional modelling, design and implementation.

  9. Dynamic Systems Development Method (DSDM) • Active user involvement is imperative. • Teams must be empowered to make decisions. The four key variables of empowerment are: authority, resources, information and accountability. • Frequent delivery of products is essential. • Fitness for business purpose is the essential criterion for acceptance of deliverables. • Iterative and incremental development is necessary to converge on an accurate business solution. • All changes during development are reversible, i.e. you do not proceed further down a particular path if problems are encountered, you backtrack to the last safe or agreed point, and then start down a new path. • Requirements are baselined at a high level, i.e. the high-level business requirements, once agreed, are frozen. This is essentially the scope of the project. • Testing is integrated throughout the life cycle, i.e. ‘test as you go’ rather than testing just at the end where it frequently gets squeezed. • A collaborative and co-operative approach between all stakeholders is essential.

  10. DSDM three pizzas and a cheese diagram

  11. DSDM development lifecycle – five phases • Feasibility study • Business study • Functional model iteration • System design and build iteration • Implementation

  12. DSDM and users • the role of people in the process is emphasized • project manager; all skills but focus on speed • user side: ambassador user (understanding and representing the needs of a user community); visionary user (having a vision of how the IS would benefit the organization) • IT side: no special roles • at least one representative from both sides should be present all the time

  13. Timeboxes for DSDM project - example

  14. Extreme Programming (XP) • Particularly suitable for small and medium-sized applications (works best when the whole project requires 3-10 programmers) • It is a series of principles for developing software rapidly • XP is a lightweight methodology: • few rules and practices • minor attention to documentation • It stresses customer satisfaction: it is designed to deliver the software the customer needs when it is needed • It empowers developers to respond to changing customer requirements, even late in the life cycle

  15. Extreme Programming (XP) • User stories • Architectural spike • Paired programming

  16. Extreme Programming (XP) • Planning • Designing • Developing • Productionalising (testing)

  17. XP: planning • Write user stories • Produce a release plan (plan for frequent small releases) • Measure the project velocity • Divide the project into iterations and start each one with iteration planning • Have a stand-up meeting every day to communicate problems and solutions and promote team focus

  18. XP: designing • Keep design simple; always do the simplest thing that could work and never add functionality before it is scheduled • Choose a suitable system of names for your objects that everyone can relate to • Use Class, Responsibilities, and Collaboration (CRC) cards to design the system as a team. • Create architectural spikes: simple programs to explore the potential solution, i.e. programs that address only the problem under examination and ignore all other concerns • Turn a blind eye towards future requirements and extra flexibility. Concentrate on what is scheduled for today only • Re-factor obsolete designs that are hard to understand, maintain, or have unused functionality

  19. XP: coding • The Customer continues to be available through in coding and testing (ask for experts not trainees) • Code must be written to agreed standards • Code the unit test first (before the actual code) • Paired programming: 2 people working at the same workstation • Sequential code integration: only one pair of programmers integrates code at a time • Integrate code often in a common repository • Collective code ownership is encouraged • Avoid optimizing code • Avoid working overtime or adding programmers

  20. XP: testing • All code must have unit tests • All code must pass all unit tests before it can be released • When a bug is found more tests are created • Acceptance tests (created from user stories in each iteration) are run and the score is published

  21. Web IS Development Methodology (WISDM) • WISDM is a framework and methodology for the development of web-based information systems. The framework recognizes that a methodology in practice emerges from the triad of situation, human agents, and methods.

  22. Web IS Development Methodology (WISDM) Reference: http://www.wisdm.net/wisdm/index.htm

  23. Indicative methods for WISDM include: Organizational Analysis: Soft Systems Methodology (SSM), e-business strategyInformation Analysis: Unified Modeling Language (UML)Work Design: ETHICS, Participative Design, Web Quality (WebQual)Technical Design: UML plus physical design as indicated by the target implementation environment

  24. WebQual question

  25. End of Chapter 23 Thank You for Your Attention

More Related