Chapter Extension 16 Agile Development.

Slides:



Advertisements
Similar presentations
Introduction to Scrum for Software Project Management
Advertisements

Transition to Scrum Midway through a AAA Development Cycle: Lessons Learned Asbjoern Malte Soendergaard Development Manager Crytek GmbH.
© 2005 by Prentice Hall Chapter 13 Finalizing Design Specifications Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
0 - 0.
Addition Facts
Site Visit Review Just-in-Time Training. Pre-work and Training Judging Examiner Evaluation Process Stage 1 Independent Review Stage 2 Consensus Review.
Information Technology Project Management – Third Edition
Information Systems Development
5.9 + = 10 a)3.6 b)4.1 c)5.3 Question 1: Good Answer!! Well Done!! = 10 Question 1:
©2003 Rolls-Royce plc The information in this document is the property of Rolls-Royce plc and may not be copied or communicated to a third party, or used.
IMS5401 Web-based Systems Development Topic 3: Development for the web 3(f) Implications of issues in web site design.
Past Tense Probe. Past Tense Probe Past Tense Probe – Practice 1.
Addition 1’s to 20.
12 leadership tips to be even more agile C. Le Coënt.
Test B, 100 Subtraction Facts
11 = This is the fact family. You say: 8+3=11 and 3+8=11
Development Processes
Systems Development Project Management Chapter Extension 15.
Reporting Systems and OLAP Chapter Extension 13. ce13-2 Study Questions Q1: How do reporting systems enable people to create information? Q2: What are.
Agile at ON.Lab Bill Snow VP of Engineering. What is waterfall? RequirementsDesignDevelopTest Or Requirements Design Develop Test Time.
Agile Development Chapter Extension 16. ce16-2 Study Questions Q1: Why is the SDLC losing credibility? Q2: What are the principles of agile development.
Agile Development.
NAUG NAUG Knowledge Evening – th February 2007.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Development Processes
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. Software Design Process.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CS3100 Software Project Management Agile Approaches.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Agile Metrics It’s Not All That Complicated. © 2011 VersionOne 2 Welcome – About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Confidential and Proprietary 1 Project Management using Scrum at Wachovia.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Using Scrum to Improve Teamwork, Communication, Quality and Speed
Development Processes Chapter Study Questions Q1: How are business processes, IS, and applications developed? Q2: How do organizations use business.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
HO CHI MINH CITY NATIONAL UNIVERSITY HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY SYSTEM ANALYSIS AND DESIGN LECTURER: Nguyen Thanh Tung.
Using Scrum to Improve Teamwork, Communication, Quality and Speed.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Planning 2: Estimation Mechanics Emerson Murphy-Hill Creative Commons Attribution 4.0 License. Material Produced by NCSU Software Engineering Faculty.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Business Intelligence in Classroom WHY:.  Purpose – knowledge to make an informed career decision  Process – Use Scrum method of project management.
Iterative Planning
Agile Scrum Management
Agile Development -- an overview
Rapid software development
Agile Development -- an overview
AGILE METHODOLOGY MANAGE PROJECT USING AGILE SCRUM.
Being Agile Minded: Even if your team is not
What do you need to know about XP?
Teaching slides Chapter 1.
Scrum - Plan a Sprint Great Video (but added release /sprint layer)
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Coming up: What is Agile?
Scrum Science NGSS: Engineering, Technology, Applications of Science
Software Development In Agile
Agile, Scrum and CMMI Methodologies
Presentation transcript:

Chapter Extension 16 Agile Development

Study Questions Q1: Why is the SDLC losing credibility? Q2: What are the principles of agile development methodologies? Q3: What is the scrum process? Q4: How do requirements drive the scrum process?

Q1: Why is the SDLC Losing Credibility? Systems requirements are fuzzy and always changing Waterfall method does not work well Very risky – users cannot see system until end Project often runs out of money or time before completion SDLC assumes requirements don’t change Fuzzy and changing system requirements. For example, every time I pull out a data table, it should show the most updated data (what do you mean by most updated data?). For example, the web data table is no longer good enough. I want the data table be accessible using my smart phone. The data table design is outdated, …, etc. Alternative system development approaches are mostly learned from software development practices.

Q2: What Are the Principles of Agile Development Methodologies? Agile methods include rapid application development, prototyping, unified process, extreme programming, scrum, incremental, spiral and others. Just-in-time design means the design is constantly changing, and existing designs may need to be revised, along with substantial revision to work product produced so far. Agile development methodologies are generic and can be applied to creation of applications, information systems, and business processes. extreme programming: advocates frequent "releases" in short development cycles Incremental: A series of mini-Waterfalls are performed, where all phases of the Waterfall are completed for a small part of a system, before proceeding to the next increment Spiral: Planning, designing, analyzing and developing in a spiral model Unified process: a popular iterative and incremental software development process framework. RUP, OpenUp are typical examples. Rapid application development: including stages of specifying objectives, joint application designing and iterative prototyping as development approach.

Q3: What Is the Scrum Process? The Scrum Process: an iterative and incremental agile software development framework for managing application development. Its focus is on "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal" as opposed to a "traditional, sequential approach". In rugby, a scrum is a gathering of a team into a circle to restart play after a foul or other interruption. Scrum is an agile development process that follows the principles shown in this figure. Process is driven by a prioritized list of requirements created by users and business sponsors of new system. Work is divided into scrum work periods.

Scrum Process Scrum team members are programmers, systems analysts, business analysts, database designers, cloud-engineers, PQA testing personnel, and any other staff needed to build the work product. Scrum teams are small; five to nine team members. It’s not clear scrum works well for exceedingly large projects, but no other development process works well, either. Given a requirement, the team meets to create tasks to be accomplished to meet that requirement. In Figure CE16-3, this work is done in Choose requirements to deliver activity.

Key Roles Product owner Scrum master Team members Business professional who provides requirements, clarification and testing Scrum master Coach or referee, guardian of members’ time Team members Programmers, systems analysts, business analysts, database designers, cloud engineers, PQA testing personnel, other staff needed Cloud Computing: cloud computing is a synonym for distributed computing over a network, and means the ability to run a program or application on many connected computers at the same time. The phrase also more commonly refers to network-based services, which appear to be provided by real server hardware, and are in fact served up by virtual hardware, simulated by software running on one or more real machines. Such virtual servers do not physically exist and can therefore be moved around and scaled up (or down) on the fly without affecting the end user - arguably, rather like a cloud. cloud engineers: engineers in charge of developing, operating and maintaining cloud computing systems. PQA testing: professional quality assurance software testing

Stand-up Meetings 15-minute meeting each team member states: What he or she has done in past day What he or she will do in coming day Any factors blocking his or her progress/hurdles Purpose — accountability for progress and give public forum for blocking factors Often one team member will have expertise to help another, blocked team member resolve the blocking issue.

Paired Programming Two members share a computer and write a computer program together. One programmer provides a test, other demonstrates code passes test or changes code. Minimal documentation created

When Are We Done? Customer is satisfied with the product created and accepts it, even if some requirements left unsatisfied. Project runs out of time. Money runs out.

Q4: How Do Requirements Drive the Scrum Process? Requirements drive planning and scheduling Answers "Who does what and why?" Product owner creates requirements and prioritizes them. Scrum is distinguished from other agile development methodologies by using requirements to drive planning and scheduling.

Creating Requirements Tasks Tasks for additional requirements that might be implemented in this scrum period are created also. Tasks are created as a group, in a team meeting where the team can give feedback to one another. One team member will think of a task to be done that other members may not be aware. Or, a member may realize a particular task is incomplete, or is doable in some other way.

Scheduling Tasks Way tasks are scheduled makes scrum innovative Developers terrible determining how long a task will take, good at how long something will take in comparison to something else Assign each task a difficulty score, called points (weights) Team estimation and planning poker Points form a Fibonacci sequence: {1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, and ?}. Any number larger than 144 is meaningless. Most likely 89 and 144 are meaningless as well, and should be subdivided into multiple requirements. When all tasks have received points, points are summed to a total for the requirement. Fibonacci numbers: Fibonacci sequence, a math number sequence: n = 0, 1, 2, 3, 4, 5, 6, 7, 8, …. Xn = 0, 1, 1, 2, 3, 5, 8, 13, 21, ….. Planning poker: a scrum poker game played among the team players with the numbered sides down. A consensus-based technique for estimating, mostly used to estimate effort or relative size of user stories[a user story - one or more sentences in the everyday or business language of the end user] in software development.

Committing to Finish Tasks Team velocity Total number of work points team can accomplish each scrum period. Determines how many requirements team can commit to in next scrum period. Suppose five requirements on prioritized requirements list total 125 points. If a team knows its velocity is 100 points per scrum period, they know they cannot do all five. However, if the top four total, say 80 points, they can commit to doing those four, plus something else. In this case, the team would go back to product owner and ask if there is a requirement lower on the priority list that can be done for the available 20 points of capacity.

Summary of Scrum Estimation Technique

Hocus-pocus (trickery)? Scrum incorporates team iteration and feedback for scheduling and tasking. Team can create something that far exceeds what each member can do individually. Over time, team learns to assign points more accurately, and knows its true velocity. Scrum is a good technique, but it's not magic. Second, it provides a framework for process learning. As a team works more scrum periods together, it learns how to assign points more accurately, and increasingly learns what its true velocity is.