software development methodologies
play

Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 - PowerPoint PPT Presentation

Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: DSDM Sharif University of Technology Department of Computer Engineering 1 Software Development Methodologies Lecture 8 Agile Methodologies: Brief


  1. Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: DSDM Sharif University of Technology Department of Computer Engineering 1

  2. Software Development Methodologies – Lecture 8 Agile Methodologies: Brief History g g y � First appeared in 1995. pp � The once-common perception that agile methodologies are nothing but controlled code-&-fix approaches but controlled code & fix approaches, with little or no sign of a with little or no sign of a clear-cut process, is only true of a small – albeit influential – minority. � Essentially based on practices of program design, coding and testing that are believed to enhance software development flexibility and productivity productivity. � Most agile methodologies incorporate explicit processes, although striving to keep them as lightweight as possible. t i i t k th li ht i ht ibl Sharif University of Technology Department of Computer Engineering 2

  3. Software Development Methodologies – Lecture 8 Agile Methodologies: Evolution Map g g p [Abrahamsson et al. 2003] Sharif University of Technology Department of Computer Engineering 3

  4. Software Development Methodologies – Lecture 8 Agile Methodologies: Agile Manifesto g g g Sharif University of Technology Department of Computer Engineering 4

  5. Software Development Methodologies – Lecture 8 Agile Methodologies: Principles g g p � Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. � Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. � Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. � Business people and developers must work together daily throughout the project. � Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. � The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Sharif University of Technology Department of Computer Engineering 5

  6. Software Development Methodologies – Lecture 8 Agile Methodologies: Principles (Contd.) g g p ( ) � Working software is the primary measure of progress. � Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. indefinitely. � Continuous attention to technical excellence and good design enhances agility. agility. � Simplicity—the art of maximizing the amount of work not done—is essential. essential. � The best architectures, requirements, and designs emerge from self- organizing teams. organizing teams. � At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly. then tunes and adjusts its behaviour accordingly. Sharif University of Technology Department of Computer Engineering 6

  7. Software Development Methodologies – Lecture 8 Dynamic Systems Development Method (DSDM) y y p ( ) � First introduced in 1995 by a consortium of UK companies. � Motivated by an ever-increasing need for a standard, generally- accepted RAD methodology. accepted RAD methodology. Produced as an iterative-incremental generic framework based on � evolutionary prototyping and principles that are nowadays attributed evolutionary prototyping and principles that are nowadays attributed to agile development. Starting with 16 UK companies, the consortium now has more than St ti ith 16 UK i th ti h th � 1000 members, including industry giants such as IBM, Microsoft and Siemens. � The framework proposed by DSDM is now considered the de facto standard for RAD. Sharif University of Technology Department of Computer Engineering 7

  8. Software Development Methodologies – Lecture 8 DSDM: Process DSDM: Process 1. Pre-project: providing the necessary resources for starting the project, along with preliminary planning p y p g 2. Project-proper, during which the five main phases of the DSDM are applied; the first two sequentially at the start of the project, and the remaining three as interwoven cycles: as interwoven cycles: 1. Sequential Phases: studying the business domain and performing a preliminary analysis of the system: 1. Feasibility Study y y 2. Business Study 2. Iterative Phases (The Development Cycle): iterative and incremental analysis, design, coding and deployment of the system through e ol tiona evolutionary prototyping: p otot ping 1. Functional Model Iteration 2. Design-and-Build Iteration 3. Implementation 3 Implementation 3. Post-project: system maintenance through further iterations of the main phases phases Sharif University of Technology Department of Computer Engineering 8

  9. Software Development Methodologies – Lecture 8 DSDM: Process – Sequential Phases DSDM: Process Sequential Phases 1. Feasibility Study : analogous to the classic feasibility analysis, albeit with a special focus on analyzing the suitability of DSDM for the project and coming up with an outline plan for the for the project, and coming up with an outline plan for the subsequent phases. 2. Business Study : with the focus on identifying system-relevant processes and information entities in the business domain, defining and prioritizing the high-level requirements of the g p g g q system, developing the system architecture, and producing a development plan. Sharif University of Technology Department of Computer Engineering 9

  10. Software Development Methodologies – Lecture 8 DSDM: Process – Iterative Phases DSDM: Process Iterative Phases 1 1. Functional Model Iteration : with the focus on selecting F ti l M d l It ti ith th f l ti requirements according to their priority, and performing detailed analysis and modeling of the selected requirements through prototyping. th h t t i 2 2. Design-and-Build Iteration : with the focus on evolving the Design-and-Build Iteration : with the focus on evolving the prototypes into final deliverable increments of the system. 3. Implementation : with the focus on deploying the deliverable increments into the operational environment, and reviewing and validating the system built so far. g y Sharif University of Technology Department of Computer Engineering 10

  11. Software Development Methodologies – Lecture 8 DSDM: Process [DSDM Consortium 2003] Sharif University of Technology Department of Computer Engineering 11

  12. Software Development Methodologies – Lecture 8 DSDM: A Configurable Process Framework DSDM: A Configurable Process Framework � � DSDM is referred to as a configurable process DSDM is referred to as a configurable process framework , since the developers can tailor the process to fit the project in hand: � The three iterative phases form an outer interwoven cycle; the selection of the number of iterations in each cycle; the selection of the number of iterations in each cycle, and the way the iterations should interact, is completely dependent on the project and up to the development team to decide. development team to decide. � The introduction of multiple development sub-teams working in parallel enables the phases to overlap, adding ki i ll l bl th h t l ddi another configurable dimension to the process. Sharif University of Technology Department of Computer Engineering 12

  13. Software Development Methodologies – Lecture 8 DSDM: Phases DSDM: Phases – Feasibility Study Feasibility Study 1. Acquire high-level knowledge as to the nature of the project, its g g j scope, and the risks and constraints involved. d h k d l d 2. Check whether DSDM is the suitable approach for the project in Check whether DSDM is the suitable approach for the project in 2 hand. This is done by applying a list of project and organizational criteria (called the Suitability Filter ) to the project. project 3. Perform the traditional activities of feasibility analysis, paying e o t e t ad t o a act t es o eas b ty a a ys s, pay g 3 special attention to technical, schedule, and managerial feasibilities. 4. Develop rough estimates and an overall Outline Plan for the project. Sharif University of Technology Department of Computer Engineering 13

  14. Software Development Methodologies – Lecture 8 DSDM: Feasibility Study - Suitability Filter DSDM: Feasibility Study Suitability Filter 1. The system to be developed should be interactive, with the functionality amply visible at the user interface level (screens reports functionality amply visible at the user interface level (screens, reports and controls). 2. The system should have a clearly defined user group, so that well- informed representatives (called Ambassador Users) can be identified informed representatives (called Ambassador Users) can be identified and involved as active participants in the project. 3. The system should not be computationally complex (more business- oriented rather than scientific). oriented rather than scientific) 4. The requirements should not be too complex to elicit, delineate, prioritize, or implement individually. 5. There should be no constraint or criticality issue compelling the developers to fully specify the requirements before any coding can commence. 6. If the system is large, it should lend itself to partitioning. 7. The sponsor/senior-management should understand and accept the principles and practices of DSDM. p p p Sharif University of Technology Department of Computer Engineering 14

Recommend


More recommend