Unit-2 - Agile Development - Darshan Institute of Engineering ...

Unit-2 - Agile Development - Darshan Institute of Engineering ...

2160701 Software Engineering Unit-2 Agile Development Prof. Pradyumansinh Jadeja 9879461848 [email protected] Outline Agility and Agile Process Model Extreme Programming Other Process Model of Agile Development and Tools Adaptive Software Development (ASD) Dynamic Systems Development Method (DSDM) Scrum Feature Driven Development (FDD) Crystal Agile Modelling (AM) Unit-2: Unit-2: Agile Agile Development Development 2 Darshan Darshan Institute

Institute of of Engineering Engineering & & Technology Technology Agility Agility is ability to move quickly and easily. It is a property consisting of quickness, lightness, & ease of movement; The ability to create and respond to change in order to profit in a turbulent global business environment The ability to quickly reprioritize use of resources when requirements, technology, and knowledge shift A very fast response to sudden market changes and emerging threats by intensive customer interaction Use of evolutionary, incremental, and iterative delivery to converge on an optimal customer solution Maximizing BUSINESS VALUE with right sized, just- enough, and just-in-time processes and documentation Unit-2: Unit-2: Agile Agile Development Development 3 Darshan

Darshan Institute Institute of of Engineering Engineering & & Technology Technology What is Agility? Current Functionality Change Request Effective response to change Organizing a team so that it is in control to perform the work Unit-2: Unit-2: Agile Agile Development Development 4

Effective communication among all stakeholders Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology What is Agility? Cont. Software Development Team Rapid and Incremental delivery of software Customer Drawing the customer onto the team Eliminate the us and them attitude Unit-2: Unit-2: Agile Agile Development

Development 5 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Agile Process Agile software process addresses few assumptions Difficulty in predicting changes of requirements and customer priorities. For many types of software; design and construction are interleaved (mixed). Analysis, design, construction and testing are not as predictable as we might like. An agile process must be adaptable Requires customer feedback Unit-2: Unit-2: Agile Agile Development Development 6

Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Agility Principles Highest priority is to satisfy the customer through early & continuous delivery if software Welcome changing requirements Deliver working software frequently Business people and developers must work together Build projects around motivated individuals Emphasize face-to-face conversation Working software is the measure of progress Continuous attention to technical excellence and good design Simplicity the art of maximizing the amount of work done The best designs emerge from self-organizing teams The team tunes and adjusts its behaviour to become more effective Unit-2: Unit-2: Agile Agile Development Development 7

Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Where agile methodology not work Project plan & requirements are clear & unlikely to change Unit-2: Unit-2: Agile Agile Development Development Unclear understanding of Agile Approach among Teams 8 Darshan Darshan Institute Institute of of Engineering Engineering &

& Technology Technology Where agile methodology not work Big Enterprises where team collaboration is tough Unit-2: Unit-2: Agile Agile Development Development 9 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Agile Process Models

Extreme Programming (XP) Adaptive Software Development (ASD) Dynamic Systems Development Method (DSDM) Scrum Feature Driven Development (FDD) Crystal Agile Modelling (AM) Unit-2: Unit-2: Agile Agile Development Development 10 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Extreme Programming (XP) The most widely used approach to agile software development A variant of XP called Industrial XP (IXP) has been proposed to

target process for large organizations It uses object oriented approach as its preferred development model Unit-2: Unit-2: Agile Agile Development Development 11 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology XP Values Communication: To achieve effective communication, it emphasized close & informal (verbal) collaboration between customers and developers Simplicity: It restricts developers to design for immediate needs not for future needs Feedback: It is derived from three sources the implemented software, the customer and other software team members, it uses Unit testing as primary testing Courage: It demands courage (discipline), there is often significant

pressure to design for future requirements, XP team must have the discipline (courage) to design for today Respect: XP team respect among members Unit-2: Unit-2: Agile Agile Development Development 12 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology The XP Process It considers four framework activities 1. 2. 3. 4. Planning

Design Coding Testing Unit-2: Unit-2: Agile Agile Development Development 13 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology The XP Process cont. User Stories Planning Customers assigns value (priority) Developers assigns cost (number of development weeks)

Project velocity Design CRC card Unit-2: Unit-2: Agile Agile Development Development Computed at the end of first release Number of stories implemented in first release Estimates for future release Guard against over-commitment Keep-it-Simple (Design of extra functionality is discouraged) Preparation of CRC card is work project CRC cards identify and organize object oriented classes

Spike Solutions Operational prototype intended to clear confusion Refactoring Modify internals of code, No observable change 14 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology The XP Process cont. Coding Develops a series of Unit test for stories included in current release Complete code perform unit-test to get immediate feedback XP recommend pair-programming, Two heads are better than one Integrate code with other team members, this continuous integration helps to avoid compatibility & interfacing problems, smoke testing environment to uncover errors early Testing

Unit-2: Unit-2: Agile Agile Development Development Unit test by developers & fix small problems Acceptance tests - Specified by customer 15 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology What is Scrum? A scrum is a method of restarting play in rugby that involves players packing closely together with their heads down and attempting to gain possession of the ball. ... Unit-2: Unit-2: Agile Agile Development Development

16 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Scrum Scrum is an agile process model which is used for developing the complex software systems. It is a lightweight process framework. Lightweight means the overhead of the process is kept as small as possible in order to maximize the productivity. Daily Scrum Meeting Sprint Product Backlog Product Product Owner Unit-2: Unit-2: Agile Agile Development

Development 17 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Scrum framework at a glance Inputs from Customers, Team, Managers Team Selects starting at top as much as it can commit to deliver by end of sprint Scrum Master Sprint Review Product Owner Product Backlog

Daily Scrum Meetings Sprint Sprint Planning Backlog Meeting Prioritized list of what is required: features, bugs to fix... Unit-2: Unit-2: Agile Agile Development Development Sprint end date and team deliverable do not change 18 Finished Work Sprint Retrospective Darshan Darshan Institute Institute of of Engineering

Engineering & & Technology Technology Scrum cont. 1. Backlog It is a prioritized list of project requirements or features that must be provided to the customer. The items can be included in the backlog at any time. The product manager analyses this list and updates the priorities as per the requirements. 2. Sprint These are the work units that are needed to achieve the requirements mentioned in the backlogs. Typically the sprints have fixed duration or time box (of 2 to 4 weeks, 30 days). Change are not introduced during the sprint. Thus sprints allow the team members to work in stable and short-term environment. Unit-2: Unit-2: Agile Agile Development Development 20 Darshan Darshan Institute Institute of

of Engineering Engineering & & Technology Technology Scrum cont. 3. Scrum Meetings There are 15 minutes daily meetings to report the completed activities, obstacles and plan for next activities. Following are three questions that are mainly discussed during the meetings. 1. What are the tasks done since last meeting ? 2. What are the issues that team is facing ? 3. What are the next activities that are planned? The scrum master leads the meeting and analyses the response of each team member. Scrum meeting helps the team to uncover potential problems as early as possible It leads to knowledge socialization & promotes self-organizing team structure Unit-2: Unit-2: Agile Agile Development Development 21 Darshan Darshan Institute

Institute of of Engineering Engineering & & Technology Technology Scrum cont. 4. Demo Deliver software increment to customer Implemented functionalities are demonstrated to the customer Unit-2: Unit-2: Agile Agile Development Development 22 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Adaptive Software development (ASD) This is a technique for building complex software systems using iterative approach.

ASD focus on working in collaboration and team self-organization. ASD incorporates three phases 1. Speculation 2. Collaboration 3. Learning Unit-2: Unit-2: Agile Agile Development Development 23 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Speculation (ASD) The adaptive cycle planning is conducted. In this cycle planning mainly three types of information is used Customers mission statement Project constraints Delivery date, budgets etc Basic requirements of the project

Unit-2: Unit-2: Agile Agile Development Development 24 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Collaboration (ASD) In this, collaboration among the members of development team is a key factor. For successful collaboration and coordination it is necessary to have following qualities in every individual Assist each other without resentment (offense) Work hard Posses the required skill set Communicate problems and help each other Criticize without any hate Unit-2: Unit-2: Agile Agile Development

Development 25 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Learning (ASD) Emphasize is on learning new skills and techniques. There are three ways by which the team members learn Focus groups The feedback from the end-users is obtained. Formal technical review This review is conducted for better quality. Postmortems Team analyses its own performance and makes appropriate improvements. Unit-2: Unit-2: Agile Agile Development Development 26

Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology DSDM Dynamic Systems Development Methods (DSDM) Various phases of this life cycle model Feasibility study By analysing the business requirements and constraints the viability of the application is determined Business study The functional and informational requirements are identified and then the business value of the application is determined Functional model iteration The incremental approach is adopted for development Design and build iteration If possible design and build activities can be carried out in parallel Implementation

The software increment is placed in the working environment Unit-2: Unit-2: Agile Agile Development Development 27 Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology Feature Driven Development (FDD) Unit-2: Unit-2: Agile Agile Development Development 28 Darshan Darshan Institute Institute of

of Engineering Engineering & & Technology Technology FDD cont. It is practical process model for object oriented software engineering. In FDD, the feature means client valued function. Various phases in the FDD life cycle 1. Develop overall model The high-level walkthrough of scope and detailed domain walkthrough are conducted to create overall models. 2. Build feature list List of features is created and expressed in the following form the a(n) For Ex. Display product-specifications of the product Unit-2: Unit-2: Agile Agile Development Development 29

Darshan Darshan Institute Institute of of Engineering Engineering & & Technology Technology FDD cont. 3. Plan by feature After completing the feature list the development plan is created 4. Design by feature For each feature the sequence diagram is created 5. Build by feature Finally the class owner develop the actual code for their classes Unit-2: Unit-2: Agile Agile Development Development 30 Darshan Darshan Institute Institute of of Engineering

Engineering & & Technology Technology

Recently Viewed Presentations

  • Point de dpart The verbs savoir and connatre

    Point de dpart The verbs savoir and connatre

    Title: PowerPoint Presentation Last modified by: Ibti Hadri Created Date: 6/8/2006 3:36:16 PM Document presentation format: On-screen Show (4:3) Other titles
  • U.S. General Services Administration Purchase Management Essentials 2017

    U.S. General Services Administration Purchase Management Essentials 2017

    Please remember that both the Contracting Officer / Ordering Officer authority limits and cardholder limits apply. For example, if a Contracting Officer holds a $10M warrant but only has a $250K single transaction limit, they are still held to the...
  • Technical Training Program on IMPULSE AC Drives Chris

    Technical Training Program on IMPULSE AC Drives Chris

    Applying Wound Rotor Motor. Wound Rotor Motors. Wound rotor motors had been common place in the crane and hoist industry. When their secondary winding slip rings are shorted, their speed/torque curve is very similar to that of a NEMA Design...
  • Diapositive 1 - catherine-cyrot.net

    Diapositive 1 - catherine-cyrot.net

    Title: Diapositive 1 Author: CATHERINE CYROT Last modified by: CATHERINE CYROT Created Date: 11/28/2003 2:35:22 PM Document presentation format: Affichage à l'écran
  • LAWATAN QATAR UNIVERSITY KE UTM - FORUM EMPOWERMENT

    LAWATAN QATAR UNIVERSITY KE UTM - FORUM EMPOWERMENT

    lawatan qatar university ke utm - forum "empowerment of muslim women in higher education" - 14 januari 2011(jumaat) 11.30 pagi. kediaman rasmi naib canselor, utm johor bahru
  • Space News Update - March 20, 2018 In

    Space News Update - March 20, 2018 In

    Kepler's Almost Out of Fuel. It'll Make its Last Observation in a Few Months . In this computer graphic, NASA's Voyager 1 probe, moving toward upper left, nears the edge of the sun's influence, flying through a region of space...
  • Nishan Sahib The Sikh Flag - Guru Gobind Singh Study Circle

    Nishan Sahib The Sikh Flag - Guru Gobind Singh Study Circle

    Nishan Sahib The Flag of Sikh Nation The Nishan Sahib is the flag of the Sikh Nation and plays an important role in our community. Every Gurdwara must have a Nishan Sahib either outside or on top of the building....
  • Propaganda Techniques

    Propaganda Techniques

    Who uses propaganda? Propaganda Techniques Bandwagon Technique Testimonial Loaded Word Misuse of Statistics Name Calling or stereotyping Snob Appeal Plain Folks Transfer PRACTICE: What type of propaganda technique is used in the following ad? What type of propaganda technique is...