Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman

Slides:



Advertisements
Similar presentations
Chapter: 3 Agile Development
Advertisements

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
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 Methods.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Software engineering Process models Pavel Agejkin.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter-3 Agile Development
Software Engineering Modern Approaches
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
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.
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
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Chapter 3 Agile Development
Software Engineering (CSI 321) An Agile View of Process 1.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
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.
Agile Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
TIK 302 Rekayasa Perangkat Lunak Agile Proses. Agile View of Process Represents a reasonable compromise between conventional software engineering for.
1 The economies of ALL developed nations are dependent on software The economies of ALL developed nations are dependent on software More and more systems.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
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
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter 4 & Chapter 5 Important Concepts
Chapter 3 An Agile view of process.
Introduction to Agile Software Development
Principles for Agile Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
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
How to Successfully Implement an Agile Project
Chapter 3 Agile Development
Agile Software Processes
Agile Process: Overview
Chapter 3 Agile Development
Chapter 3 Agile Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
The Manifesto for Agile Software Development
Projects, Assignments, and other Assessments
Chapter 3 Agile Development
Agile Development.
Presentation transcript:

Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman Teknik Informatika & Fakultas Imu Komputer

An Agile View of Process Chapter 4 An Agile View of Process Software Engineering: A Practitioner’s Approach 6th Edition Roger S. Pressman

The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.” Kent Beck et al

What is Agility? Effective response to change Effective communication among all stakeholders Drawing the customer onto the team; eliminate the “us and them” attitude Organizing a team so that it is in control of the work performed Rapid, incremental delivery of software

Principles to achieve agility – by the Agile Alliance (1) Highest priority -> satisfy the customer Welcome changing requirements Deliver working software frequently Business people and developers must work together Build projects around motivated individuals Emphasize face-to-face conversation

Principles to achieve agility – by the Agile Alliance (2) Working software is the primary measure of progress Agile processes promote sustainable development Continuous attention to technical excellence and good design enhances agility Simplicity – the art of maximizing the amount of work not done – is essential The best designs emerge from self-organizing teams The team tunes and adjusts its behavior to become more effective

Agile Software Process – Three Key Assumptions Difficulty in predicting changes of requirements and customer priorities For many types of s/w, design and construction are interleaved Analysis, design, construction, and testing are not as predictable as we might like

Agile Software Process An agile process must be adaptable It must adapt incrementally Requires customer feedback An effective catalyst for customer feedback is an operational prototype

The Politics of Agile Development There is considerable debate about the benefits and applicability of agile software development No one is against agility. The real question is: What is the best way to achieve it?

Human Factor Key point: The Process molds to the needs of the people and team, not the other way around A number of key traits must exist among the people on an agile team and the team itself Competence Common focus Collaboration Decision-making ability Fuzzy problem-solving ability Mutual trust and respect Self-organization

Agile Process Models Extreme Programming (XP) Adaptive Software Development (ASD) Dynamic Systems Development Method (DSDM) Scrum Crystal Feature Driven Development (FDD) Agile Modeling (AM)

Extreme Programming (XP) - 1 The most widely used agile process, originally proposed by Kent Beck [BEC99] XP uses an object-oriented approach as its preferred development paradigm Defines four (4) framework activities Planning Design Coding Testing

Extreme Programming (XP) - 2 spike solutions prototypes simple design CRC cards user stories values acceptance test criteria iteration plan design planning coding refactoring test pair programming Release unit test continuous integration software increment project velocity computed acceptance testing

XP - Planning Begins with the creation of a set of stories (also called user stories) Each story is written by the customer and is placed on an index card The customer assigns a value (i.e. a priority) to the story Agile team assesses each story and assigns a cost Stories are grouped to for a deliverable increment A commitment is made on delivery date After the first increment “project velocity” is used to help define subsequent delivery dates for other increments

XP - Design Follows the KIS (keep it simple) principle Encourage the use of CRC (class-responsibility-collaborator) cards (Chapter 8) For difficult design problems, suggests the creation of “spike solutions”—a design prototype Encourages “refactoring”—an iterative refinement of the internal program design Design occurs both before and after coding commences

XP - Coding Recommends the construction of a series of unit tests for each of the stories before coding commences Encourages “pair programming” Mechanism for real-time problem solving and real-time quality assurance Keeps the developers focused on the problem at hand Needs continuous integration with other portions (stories) of the s/w, which provides a “smoke testing” environment (Chapter 13)

XP - Testing Unit tests should be implemented using a framework to make testing automated. This encourages a regression testing strategy. Integration and validation testing can occur on a daily basis Acceptance tests, also called customer tests, are specified by the customer and executed to assess customer visible functionality Acceptance tests are derived from user stories

http://www.extremeprogramming.org/map/project.html http://www.extremeprogramming.org/map/project.html

Refs Introduction, 4.1 – 4.3.1 http://www.extremeprogramming.org/map/project.html