SEG4911 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Thoughts about Agile Design and Release Management Timothy C. Lethbridge.

Slides:



Advertisements
Similar presentations
SEG4910 – Projet génie logiciel en fin détudes / Software Engineering Capstone Project Syllabus, Rules, Process and Deliverables Timothy C. Lethbridge.
Advertisements

Feb Alten Group Started in France in 1988 Currently more than people Presence in 10 countries Active in The Netherlands since 2002.
Agile Software Development Robert Moore Senior Developer Curtin University.
Agile Architecture Prabhu Venkatesan for COMP-684.
DiscoverDefineDesignDevelopDeliver PROCESS TM. Intelligaia Technology confidential & proprietary Discover Overview: Gather information, brainstorm, competitive.
Agile 101.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile and Medical Device Software
1 The Database Application Development Process The Database Application Development Process.
Agile development By Sam Chamberlain. First a bit of history..
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Agile
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Agile Programing Methods Drew Arrigoni. The Agile Manifesto ● Individual Interactions over Processes and Tools ● Working Software over Comprehensive Documentation.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
COMP 350: Object Oriented Analysis and Design Lecture 2
Managing a Project Using an Agile Approach and the PMBOK® Guide
Programming with eyes wide open. Your host today Subby Angelov Team
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
..OR SOMETHING THAT LOOKS LIKE IT SCOTT TURNBULL SOFTWARE ENGINEERING MANAGER EMORY UNIVERSITY LIBRARIES Agile Development.
Current Trends in Systems Develpment
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Project Workflow. How do you do it? -Discussion-
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 8 - Approaches to System Development.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
1 SEG4910 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Review of Analysis and Iterative Development Timothy C. Lethbridge.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Agile: Lessons Learned (a retrospective) Tony
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,
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Agile Software Development By Kshitij Limaye CSC 532.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
SEG4911 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project The Final Drive to Your A+ Timothy Lethbridge University of Ottawa.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Cultivating Agile Requirements
Test-Driving ASP.NET Development Tampa Code Camp – July 15 th, 2006 Cory Foy
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.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
TargetProcess - AGILE Project tracking tool Shashwat Gupta CS
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Agile Manifesto Values. Agile Manifesto - Values In 2001, a group of expert software development professionals met to agree on a common set of guiding.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
1 SEG4910 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Review of Quality Assurance Timothy C. Lethbridge Derived from.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Embedded Systems Software Engineering
Agile/XP Introduction
AGILE SCRUM METHODOLOGY
Software Engineering Process
Agile Software Development Brian Moseley.
Approaches to Systems Development
Applied Software Implementation & Testing
COMP 350: Object Oriented Analysis and Design Lecture 2
How to Successfully Implement an Agile Project
Project Lifecycle and IT Product Life Cycle
Agile Development – a new way of software development?
CSCI 360: Software Architecture & Design
Presentation transcript:

SEG4911 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Thoughts about Agile Design and Release Management Timothy C. Lethbridge

The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 2

Design in an Agile Environment Some ‘agile’ proponents downplay design But  design is not the same thing as documentation  All the manifesto downplays is comprehensive documentation 3

How should design be expressed in an agile environment? What is the minimum the team needs to properly structure the next sprint?  Use cases/stories & test cases  UI sketches / storyboards  Class diagrams  APIs  Non-obvious Architecture Elements: Components, layers, dependencies, patterns and mechanisms 4

Agile Design 2 All of the above for the current sprint only  i.e. don’t design much beyond the current sprint except the list of user stories (backlog)  Update your design in each sprint As you tackle new user stories As you refactor Avoid recording design elements that can be rapidly found by looking in the code or using tools 5

Agile Design 3 What information will other software engineers need when they try to modify your software?  All of the above plus: How is the code laid out?  Readme files in each directory  Headings at the top of each file  Possibly: Package diagram with textual descriptions How to make anticipated types of changes  Create a high-level ‘developers guide’ for everything that can’t be put on code 6

Agile Design 4 Beware of keeping design elements that will have to be changed whenever code is changed  Storyboards (discard after use?)  Use cases (perhaps just keep a list, not details after they are implemented?)  UML diagrams (can they be generated from code or can you use a tool that generates code from diagrams?) 7

Agile Design 5 As you create or maintain a document  Ask yourself if the effort of creating and maintaining it is worth it? Will anyone actually read it (again)?  Will the cost of deleting it or throwing out detail be more than the cost of not being able to find information? 8

Agile Release Management Key: Releasing something functional to the user by the end of every sprint Methods  Test-driven driven development  Managing quality vs. scope vs. time Drop features from the release to ensure quality requirements and deadline are met 9

Agile Release Management 2 Methods continued  Continuous build Every submit to the repository triggers a build  Bug tracking With measurement of how well you are doing at reducing the backlog of bugs 10