Chapter-3 Agile Development

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Chapter: 3 Agile Development
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Agile Project Management with Scrum
Agile Development.
NAUG NAUG Knowledge Evening – th February 2007.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Agile development By Sam Chamberlain. First a bit of history..
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Engineering Lecture No:12. Lecture # 7
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Chapter 4 Agile Development
Chapter 5 Agile Development Chapter 5 Agile Development Moonzoo Kim KAIST 1.
Chapter 4 An Agile View of Process
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
Current Trends in Systems Develpment
Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools.
Chapter 5 애자일 개발 Agile Development
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Chapter 3 Agile Development
Software Engineering (CSI 321) An Agile View of Process 1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Chapter 3 Agile Development
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
TIK 302 Rekayasa Perangkat Lunak Agile Proses. Agile View of Process Represents a reasonable compromise between conventional software engineering for.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(3)
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Software Engineering Principles I (Spring 2017)
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Project Management and the yin & yang of
Chapter 3 An Agile view of process.
Introduction to Agile Software Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Overview What is agility? Agile manifesto
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter 5 Agile Development
Software Engineering (CSI 321)
Chapter 3 Agile Development
Project Management and the Agile Manifesto
What do you need to know about XP?
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Chapter 3 Agile Development
Agile Software Processes
Agile Process: Overview
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
The Manifesto for Agile Software Development
Projects, Assignments, and other Assessments
Chapter 3 Agile Development
Agile Development.
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

Chapter-3 Agile Development “ Style of Software Development, which focus on customer satisfaction” “ where the software developers works in a team” “where the budget is very and time scale is also less” Agile developers continuously communicate with the customers. This continuous communication will welcome the new changes in customer’s requirements. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Agile Process: Agile Software Process is characterized in such a manner that it shows the key assumptions of s/w projects. Key Assumptions: * Difficult to predict which requirements will there till last and which will change. * Difficult to say about that when the priority of users will change. * Analysis, Design, Coding & Testing are difficult to predict in advance. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes How to create a process which has unpredictability Developers have to be ready for making continuous changes in project. Agile Software Process must adapt incrementally so, to create Agile Development, continuous customer feedback is necessary, So incremental Development strategy is introduce. Software increments will be given to customer in short period. So that if changes are there, the remaining time will be utilize in doing the changes. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Agility Principles Highest priority is given to early and continuous delivery of software, to satisfy the customer. Agile process always welcome changes in requirements even at the end of development. Deliver the working software continuously from weekly to monthly. Business people and developers will works together. Build the software in Motivational Environment. Face – to – face conversation between Business People and developers for effective and efficient way to convey the informations. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes 7. Working software is primary measure of progress. 8. Provide sustainable development of the software. Every one involved in to the project should be able to maintain pace. 9. Continuous attention to technical excellence and design increase the working of project. 10. Simple – The amount of work not done is essential. 11. Architecture, requirements and designs develops from team. 12. After completion of every stage, the team of software developers reflects how to become more effective. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Politics of Agile Development Software development process is Agile. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Agile development focus on talent and skills of individuals. Human Factors Agile development focus on talent and skills of individuals. “Process molds (fix) to the needs of the people and team” *Characteristics of the members of Agile Team OR Key traits must exists among the people in agile team 1. Competence - talent - specific software related skills - overall knowledge or process 2. Common Focus - team members have different tasks and skills for project. but all have the single goal - continuous improvement is there by software developers. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes 3. Collaboration - SE consists of Analysis, Designing, Assessing, communication etc., for this all the team members have to work as a team. 4. Decision Making Ability - Every software team is allowed to have freedom. - It means, the team is given the authority for both technical and project issue related decisions. 5. Fuzzy problem solving ability - Agile Team continuously solve the problems they face. - Problem which solves today may not come tomorrow. 6. Mutual trust and respect - Mutual trust and respect is always there between team members. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes 7. Self Organization: - It has three things…. 1. team organize themselves to complete the task 2. team organize the process to complete work. 3. team organize the work schedule. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Extreme Programming (XP) Extreme Programming is one of several popular Agile Processes. It has been already proven very successful. XP empower the developer to make changes in software process as per the requirements. Extreme Programming emphasize on team work XP is used to improve the quality of the software as per the requirements of the customer. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes XP Values XP provides FIVE values: 1. Communication 2. Simplicity 3. Feedback 4. Courage 5. Respect. Communication: Communication between Software Engineer and Customer contains communicating important concepts, continuous feedback etc. Simplicity: Design of the Software is very simple, and is made for only immediate needs of the customer. Feedback: Derived from three different sources…. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes - from the implemented software - from the customer - from other software developer team members. Feedback of out put after every testing, Feedback for functions which are implemented in to the project, Feedback of use case. Courage: Discipline towards successful completion of the project is known as courage. The Agile Software Team have the courage to make design for today (and don’t think for tomorrow). Respect. Respect among members of Agile Team is very important. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes The XP Process 1. Planning 2. Design 3. Coding 4. Testing Planning Design Software Release Testing Coding Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Planning: * Listening – Requirement gathering activity, this listening provides required outputs, features and functionalities of software. This listening also known as “user stories”, through which customer provides priority to the story. After go through with this story, the agile team will decide the cost. If this story is more than three weeks, the customer is asked to split this story in pieces. Stories can be written at any time. Legal Agreement is done betw customer and agile team members to finished this story with in three ways…. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes All the stories will be implemented immediately, Priority is given to the stories which will move up in schedule Story having highest risk also move up in the schedule. After completion of the story, the software is release. So as many number of stories are implemented are known as “project velocity” Project velocity is used to Helps to decide estimated delivery date and schedule If over commitment is there, then the end date of project is changed. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Design: Simple design is always preferred. If any serious problem create at design level, the XP process recommend the immediate creation of prototype of that portion of the design, known as SPIKE SOLUTION. It is used to lower the risk for true implementation. XP focus to use the CRC – Class Responsibility Collaboration cards. CRC helps to identify and organize the current software increments. Design happen before and after the coding. Design is also occur continuously as the system is constructed. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Coding: Coding comes in to the picture after completion of development of stories and preliminary design portion. After completion of this story development and design portion, developers will go for unit testing. Now the developer is very much able to write a code. (It shows KIS principles) After completion of coding, there is unit testing and the feedback from the customer will be taken. Key concept during this coding technique is “Pair Programming” XP recommends that 2 people can works together at same computer to complete the story. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes This simultaneous work at 1 workstation will gives us real time problem solving and quality assurance . After completion of their individual work, their work will be integrated with the works of other. For this integration, there will be a - single team who integrate the work of different software developers, - pair programmers can do this integration, The result of this pair programming is “SMOKE TESTING”. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Testing Unit test is done before the coding during XP process. Regression Testing strategy is used whenever the code is modified. Integration and Validation testing is done on daily basis. Acceptance test is known as customer test. (Features & Functionality) Testing used to decrease the bugs and errors. “ To fix small problems early will take less time than fixing it just before the deadline”. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Industrial XP – (IXP) Features added to XP to create IXP are …. Readiness Assessment * Appropriate environment created for IXP * team is popular by having efficient stockholders. * organizations supports continuous improvement. * organization culture supports new values of agile team. Project Community * these people of IXP are well trained and skilled. * they have proper temperament to contribute. * the roles of IXP community members are well defined. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes 3. Project Chartering. Overall goals and objectives as well as the context of the project is examine. 4. Test Driven Management the progress of the project is test over here. these test will provide mechanism for all the testing. 5. Retrospectives Technical review for all the software increment is there after delivered the software, known as “Retrospective” This Technical Review contains * events, issues and lesson learned across/after software increment. 6. Continuous learning Continuous learning helps to learn methods and techniques. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes The XP Debate Steps which creates problem in XP process: Requirements Volatility. Scope of the project may change and the requirements also may change, and earlier work may be modified. So to control this XP process is also useful. Conflicting customer needs. every customer has his/her own needs regarding software. So to handle the needs of customer is very difficult. Requirements are expressed informally. More formal model and specifications are often needed to ensure the inconsistencies and errors which are uncovered. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Lack of formal design: design’s in XP process are very informal designs. Design must be focused to ensure that quality and maintainability should be maintain. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Adaptive Software Development (ASD) ASD is a technique to build complex software and systems. ASD focused on human collaboration and team self organization. Above is the ASD life cycle which includes three phases - Speculation Collaboration Learning Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes During speculation: - * project is initiated and adaptive cycle planning is conducted. * This cycle includes 1. project initiation information 2. customer’s objectives 3. project constraints & 4. basic requirements * After completion of first cycle, the plan is reviewed, so that plan will better fits the reality in which the ASD team is working. Collaboration: - Collaboration of motivated people will result in to successful completion of the software. Collaboration is very difficult as it includes communication as well as teamwork. Collaboration is a matter of trust between team members. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Development of any software is depends on learning. ASD team focus on three things so that they can easily focus on development of the software. 1. focus groups 2. technical review 3. project postmortems. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Scrum Scrum is an agile software development method created by Jeff Sutherland and his development team in 1990s. Recently development on scrum is going on.. Scrum focus on “requirements, analysis, design, evolution & delivery” Work task within process pattern is known as “sprint”. Work done within a sprint is adapted to solve the problems. Scrum focus on the use of software process pattern which is very effective for tight timelines, changing requirements etc. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Backlogs: - * list of requirements as priority, * Items can be added at any time, * product manager will handle this 8acklogs. Sprints: - * includes work units which are needed to achieve requirements mention in the predefined time-box. (30 days) Changes are not included during sprint, so that sprint will provide stable environment. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Scrum Meetings: - * 15 minutes short meeting of scrum team. 3 questions are asked and everyone gives the answers. What do you do since last team meeting? What obstacles you have encountering? What do you plan to finished by the next team meeting? Team members known as scrum masters who leads the meeting. This meetings helps to find and solve the problems. Demos: - Functionality which are implemented are demonstrated and evaluated by the customer. Demo doesn’t include all the functionalities, but which are covered in time box period only. Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes

Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes Thank you Mr. Pritesh Upadhyaya, MCA Programme,Parul Institutes