Project Workflow. How do you do it? -Discussion-

Slides:



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

Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
E X treme Programming & Agile Modeling Copyright © 2003 Patrick McDermott UC Berkeley Extension
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
The Role of Project Managers in Agile Darren Wilmshurst ACIB CITP
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Agile Methods.
Applying Agile to Everyday Work Will Oleksy Lead Agile Coach IT Services an ERM IT Center for Excellence.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
Does it work with Data Warehouses?. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we.
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
DE (est) 2. -Joe Justice What does HR output? Exercise.
DE (est) 2. -Steve Denning -Joe Justice What do these groups output? Exercise.
How Agile Are You? Larry Apke Agile Expert
Rally: One Writer’s Perspective. Background 28 years in technical communications including Symantec, Autodesk, and Cisco. Participated in Rally-based.
AgileCamp Presents: Scrum. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution 4.0.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
Agile Methods. Agile Process/Method lightweight processes/methods that can be used to manage and control software and product development using iterative,
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
UX meets XP. Overview of core approaches to creating interactive software Waterfall, iterative design, Agile Hybrid methods of evaluation H&P Chapter.
Why (or When) Agile Fails Creating high performance software delivery teams.
Jeff Briggs Senior Consultant Capstone Consulting.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
#2-What is Agile? Why Agile? Subtopics 1- Agile motivation for software / systems 2- Agile tenets and principles 3- Agile as a risk mitigation strategy.
- 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
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
Agile Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
© 2014 IBM Corporation “Leaders Guide to Radical Management” for DevOps with Steve Denning Chapters 6 and 7: From Bureaucracy to Dynamic Linking by Delivering.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Workflow.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Project Management
Introduction to Agile Software Development
Principles for Agile Development
Project Workflow.
Agile Software Development Paradigms
The Agile Manifesto is based on 12 principles
Introduction to Agile Blue Ocean Workshops.
How Strong is Your Agile Foundation
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Agile Development.
Presentation transcript:

Project Workflow

How do you do it? -Discussion-

Project Workflow If you are anything like every programmer – Think about the project for a bit – Start writing code – Adjust as needed

Is there a better way?

Waterfall Method

Has been used for years Methodology works well in engineering

Waterfall for Software Gather requirements – customer: “This is what we want” – dev team: “Got it. See you in a year!” – Requirements documents Design software architecture – Design documents – Write tasks – Generate timelines – Set deadlines

Waterfall for Software Write code – Implement the functionality set forth in the design documents Test code – Proceed when all features from design document are working properly Deliver final product Maintain Software

Waterfall for Software - A Scenario Deliver final product: – customer: “This isn’t what we wanted” – Dev team: “This is exactly what you asked for!” – customer: “This isn’t what we wanted!”

Now what?

Waterfall for Software And what about all the documents and architecture? Waterfall can work well when the customer very clearly communicates their needscommunicates – Specs might be captured in a small number of short meetings Customers are busy too – What if the dev team isn’t part of these meetings?

Is there a better way?

agile Aligned with how we actually make software Think about the project for a bit Write code Adjust as needed

agile – “doing what come naturally” Not always the best idea, but let’s give it a try

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.

Principles behind the Agile Manifesto We follow these principles: Deliver valuable software early and often Welcome changing requirements – Even late in the development process Business people and developers must work together daily throughout the project.

Principles behind the Agile Manifesto We follow these principles: Build projects around motivated individuals – Give them the environment and support they need – Trust them to get the job done. Communicate face-to-face

Principles behind the Agile Manifesto We follow these principles: Working software is the primary measure of progress. Agile processes promote sustainable development. – The sponsors, developers, and users should be able to maintain a constant pace indefinitely. – No overtime at crunch time Continuous attention to technical excellence and good design enhances agility.

Principles behind the Agile Manifesto We follow these principles: Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

CSE442 It should be clear that this course was designed with agile in mind Or did I just do what came naturally?

agile and scrumscrum agile – Abstract scrum – Concrete implementation of agile

Scrum - Gathering requirements Stories – Customer “tells a story” – Non-technical – ex: “When I check a piece of equipment, I want to know all the information about it.” Tasks – Technical requirements needed for stories – ex: host a database of equipment information track equipment with barcodes convert scanned codes into SQL queries display query results to the user

Scrum - SprintsSprints Deliver working code at fixed intervals – Sets a pace for the project – Typically 1-4 weeks/sprint After each sprint – Demo the software to the customer – Discuss the direction of the project – Adjust as needed

Scenario Revisited Gather requirements – customer: “This is what we want” – Dev team: “Got it. See you in a week!” write code deliver code – customer: “This isn’t what we wanted” – dev team: “Show us what you want” Revise requirements write code deliver code – customer: “This is a little better” – dev team: “Tell us more” Revise requirements Repeat

Scrum: Co-located teams All team member meet face-to-face often Communication At what cost? – Some companies will not hire remote employees – Google included Google

Scrum board Visualization of the state of the project Column for the state of each task – backlog/blocked – in progress – testing – complete Move tasks across the board as they progress Column names vary by team Ideally is displayed physically

Scrum board

Visualizations!

Scrum in practice Do what works for you Modify scrum for fit your needs

Scrum this semester 3 sprints/submissions Minimal documentation Maximum interaction between team members – Piazza groups – GitHub – Meetings – ?

Scrum this semester *Recommended* not required Generate stories – Divide stories into tasks – Give each task a time estimate – Assign each task a group member(s) – Track tasks in GitHub or productivity software Scrum board

This slide intentionally left blank