ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,

Slides:



Advertisements
Similar presentations
Extreme Programming Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process Lecture.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
Agile
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Agile Software Development Brian Link
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Current Trends in Systems Develpment
Extreme Programming: Introduced Matthew Heusser Excelon Development – xndev.com - Presented to CS 611 at GVSU, 4/6/2005.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Extreme programming overview Agenda  Extreme programming goals  Extreme programming values  Extreme programming practices  The Extreme programming.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Agile
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Extreme Programming Based on and
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Agile Software Development Jeff Sutherland, one of the developers started it In February 2001, 17 Tools: continuous integration, automated or xUnit test,
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
CSC 480 Software Engineering Extreme Programming.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
TIK 302 Rekayasa Perangkat Lunak Agile Proses. Agile View of Process Represents a reasonable compromise between conventional software engineering for.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Project Management Software development models & methodologies
Embedded Systems Software Engineering
CS223: Software Engineering
Software Development.
Methodologies and Algorithms
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Planning User stories are written.
Extreme Programming.
What do you need to know about XP?
Agile Development – a new way of software development?
Agile software development
Presentation transcript:

ITEC 370 Lecture 25 Lifecycles

Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings, Sprints)

Lifecycles Objectives Life cycles –Waterfall, Scrum, now

Lifecycles eXtreme Programmin g Method of developing software geared towards handling changing requirements Frequent releases Testing from day 1 Communication Courage

Lifecycles Rules Planning –User stories / planning for iterations Managing –Communications / workplace / velocity Designing –Spiking, simplicity, refactoring Coding –Unit test first, customer on hand, pair programming Testing –All code must have a unit test –Code can only be added when it passes all tests –Find a bug? Add a unit test…

Lifecycles Process

Lifecycles Code Be a programmer or get out –Write requirements in code, design in code, implement in code –Simplicity 101 –Always write code with a partner In XP, code is the truly important product produced –Documentation (beyond what is necessary for code), who needs it

Lifecycles Testing If a little bit of testing can remove a majority of the flaws, what can a lot of testing do? Unit tests –How can I break the code? Acceptance tests –Customer specified

Lifecycles CS paradise One caveat…you have to listen to the customer Every part of the process is driven by a customer’s goals Use CS coding skills, but hyper-focused on a specific set of problems Small fully functional releases –Command line prototypes, GUI skeletons, etc…

Lifecycles Requirement s Before XP –Document with multiple sections –Clear method of communicating what is known –Customer  Requirements team XP –Every developer must know what the system is supposed to do –Interact with users on a daily basis –Need a common metaphor –Frequent communication and feedback

Lifecycles Requirement s Before you get started writing code, you need to write a story A story that explains the system at a high level Shared, mutual understanding of what the purpose of the system is Guide for the entire process

Lifecycles Requirement s Instead of a formal document you have user stories Description of what the system is going to do User’s perspective Can be simple –I want to be able to search songs based on name and price Goal = To not need maintenance Group several together and you have a goal for your next cycle

Lifecycles Designing Always take the simplest approach No long term designs, planning for if we want to add this later on we need this now… Refactor code –If there is a better way, redo it –If a requirement changed that affects the code, change the code

Lifecycles Coding Focus of XP Always done with another developer Add your code to the main branch continually No over-time

Lifecycles Testing Unit tests Must pass all tests before it can be added Only one pair adds code to a repository at a time Once code is added, it is considered fully functional

Lifecycles Criticisms A method is only as effective as the people involved, Agile does not solve this Often used as a means to bleed money from customers through lack of defining a deliverable Lack of structure and necessary documentation Only works with senior-level developers Incorporates insufficient software design Requires meetings at frequent intervals at enormous expense to customers Requires too much cultural change to adopt Can lead to more difficult contractual negotiations Can be very inefficient—if the requirements for one area of code change through various iterations, the same programming may need to be done several times over. Whereas if a plan were there to be followed, a single area of code is expected to be written once. Impossible to develop realistic estimates of work effort needed to provide a quote, because at the beginning of the project no one knows the entire scope/requirements Can increase the risk of scope creep due to the lack of detailed requirements documentationscope creep Agile is feature driven; non-functional quality attributes are hard to be placed as user storiesuser stories Straight from wikipedia

Lifecycles Review XP –Coder centric –Heavy on communication –Informal