Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Meeting Management with Scrum.

Slides:



Advertisements
Similar presentations
Copyright © , Armstrong Process Group, Inc., and others All rights reserved Made available under EPL v1.01 Project Management Review Eclipse Process.
Advertisements

Conquering Complex and Changing Systems Object-Oriented Software Engineering Rationale Management Bernd Brügge Allen Dutoit Technische Universität München.
Project Management Process. Managing the Information Systems Project Focus of project management To ensure that information system projects meet customer.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 12, Rationale Management.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 2.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies: Scrum.
ECE44x SCRUM Overview slides adapted from Marty Stepp
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
Scrum in 30 minutes! Oddly, a 45-minute presentation by Carl Chatfield Content Project Manager, Microsoft Puget Sound MPUG September 2009.
© Timothy Korson Page 1 Scrum by Dr. Korson For CPTR 209 Software Engineering Version
A Portrait of Scrum Project Management By Nader Khorrami Rad Project Management Professional (PMP) Certified ScrumMaster (CSM) Professional Scrum Master.
Morning – 9am Getting Started Agile Manifesto Values & Principles Scrum Framework ~~ 10:40 to 11:00 Break ~~ Scrum Roles Backlog Grooming Estimation.
Agile development By Sam Chamberlain. First a bit of history..
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Lessons Learned Best Practices Lisa A. Grant, MBA, PMP, AC-Bronze, CL May 19, 2007
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Chapter 11 Requirements Workshops
CSCI 639 Topics in Software Engineering Assignment #4 Fall 2006.
Managing a Project Using an Agile Approach and the PMBOK® Guide
Trusted IT Group. The challenge: 40 active, concurrent IT projects  Unsatisfactory Project Delivery.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 1.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Agile Software Development with Scrum Shveta Mehtani
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
Rationale Management Chapter 12. An aircraft example A320  First fly-by-wire passenger aircraft  150 seats, short to medium haul A319 & A321  Derivatives.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 15, Software Life Cycle.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 3, Project Communication.
SCRUM introduction 6 April Scrum Team are known as pigs because they’re committed to delivering Sprint Goal People who are involved but not dedicated.
Software Process Models.
Announcement – Career Fair Who: Everyone should plan to go… What: Meet / network with companies Meet hiring managers Get information first hand Where:3.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
1 - Agile in a nutshell. 2 - Basic principles ●Relies on an iterative, incremental development mechanism with continuous adaptation to customer requirements.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 8, Rationale Management.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies Extreme Programming.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Project.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
COPYRIGHT TOM SULZER © 2015 IS 455 Oct 1, 2015 Agenda House Cleaning Quick Review Initiate Second Life Project Teams for Second Life Project are the teams.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
Encompass Project Kickoff. Agenda Introductions Overview of Client Team Members Overview of iModules Team Members Review Project Objectives Review Implementation.
Lecture 5 17/9/15. What is Scrum? Scrum is one of the leading agile software development processes Agile framework for completing complex projects. Originally.
Software Process Models.
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(3)
Scrum.
Chapter 12, Rationale Based Meeting Management
Chapter 16, Meeting Management with Scrum
Chapter 3: The Project Management Process Groups: A Case Study
Summarizing Our Models to Date
Chapter 11 Requirements Workshops
Scrum Science NGSS: Engineering, Technology, Applications of Science
Scrum Science NGSS: Engineering, Technology, Applications of Science
Chapter 12, Rationale Based Meeting Management
Scrum in Action.
Presentation transcript:

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Meeting Management with Scrum

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Outline Motivation Concepts Documents Roles Activities Scrum Technique Summary

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Motivation: Challenges Low bandwith Participants speak slower than they can read Participants get side tracked or interrupted Agreeing on the purpose of a meeting can consume most of the meeting Cost Participants attending meetings do not produce anything else Participants need time to get to the meeting and return to their work place Volatility What is said and not recorded is forgotten fast

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Motivation: Meeting Management Goals Keep meetings short Define scope of meeting before hand Focus only on issues within scope Invite the right participants Do not invite participants who cannot contribute Do invite participants whose agreement is needed Record to agreements for closed items Ensure that all remember the same outcome Record context for open items Shorten follow up discussions on the same theme

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Meeting Concepts Agenda assigned to Decision selected by Issue scoped by Participant invites Option addressed by assessed by Action Item realized by Argument supports opposes Criterion makes explicit Minutes records

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Meeting Documents Agenda Defines the scope of the meeting in terms of open issues (from the Issue Database) Invites participants whose agreement is needed to resolve the issues A time budget is allocated to each issue before the meeting Minutes For each issue Records decisions and their realization, OR Records the current progress of the discussion in terms of options, criteria, and arguments

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Meeting Roles Facilitator Responsible for keeping the meeting within scope Interupts or redirects participants who get side tracked Ensures that decisions represent consensus Time keeper Informs the facilitator when an specific issue takes more time than budgeted Minute taker Records decisions, action items, options, … Distributes the meeting minutes to all other participants shortly after the meeting

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 ParticipantMinute TakerFacilitator Meeting Activities Post Agenda Review Agenda Revise Agenda Initiate Meeting Facilitate Meeting Discuss & Resolve Issues Record Meeting Close Meeting Realize Action Items Post Minutes

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Scrum Most Prominent Spokespeople Ken Schwaber, Mike Biddle Focus: Day-to-day management of a software project Source:

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Managing a Software Project with Scrum Two Lists Project Backlog: Issues for the whole project Sprint Backlog: Issues for one iteration(“sprint”) Two Management Activities Establish the Project Backlog: List of requirements from stakeholders (developers, manager and customer) Establish the Sprint Backlog: List of issues to be addressed in current iteration Four Types of Meetings Kickoff Meeting: At the beginning of a project Sprint Planning Meeting: List of prioritized features Daily Scrum: Informal status meeting, about 15 min Sprint Review Meeting: Demonstration of features to management and customer

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Create Project Backlog Create Sprint Backlog Sprint Backlog Sprint Planning Meeting Daily Scrum Meeting Sprint Review Meeting Project Backlog Kickoff Meeting Lists, Activities and Meetings in Scrum

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Characteristics of Scrum Basis of work is done by teams Teams are put in a time-box and told to create a product The teams focus on what can be done and how the problem can be solved Teams are self-organizing, no formal agendas Roles and tasks and are established by the teams All estimates are also done by the teams

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Characteristics of Scrum Scrum Room A single place for informal daily meetings Scrum is more than a meeting management technique No formal planning phase No PERT Charts, no cost estimates, no roles, no individual assignments Product functionality is delivered incrementally Increments are regularly built & discussed (“daily build”)

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 Activities in the Scrum Kickoff Meeting Identify the Product Backlog Product Backlog is never expected to be finalized, even if the project is finished Product Backlog content comes from many sources: Users, Customers, Sales, Marketing, Customer Service and Engineering. Identify the product owner Only the product owner can prioritize the Product Backlog Set up Scrum Teams Cross-functional teams that do the development Scrum teams select from the Product Backlog as much as they believe they can develop in additional system functionality within a 30 day iteration (“sprint”).

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 Activities in the Sprint Planning Meeting Talk to the customer: Understand the task at hand What problem do we need to solve? Check the Sprint Backlog (“list of issues”) Sort the issues by highest-priority Training: What skills do we have? What skills do we need to learn? (Read Ant, Read XML, Modify Configuration Makefile) Identify the system functionality for the sprint What is the next functionality to be implemented What needs to be done to build it?

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 Activities in the Daily Scrum Meeting Check the Sprint Backlog (“list of open issues”) Are there new issues? Add them to the Sprint Backlog Sort the issues by highest-priority Identify action items for the team members

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 Summary Meetings are costly and low bandwith events Prior to the meeting Define scope Identify correct audience During meeting Focus on scope Table issues to ad hoc meetings, if needed After meeting Record decisions and action items Record context Scrum: Can be used for issue-based meetings.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18 Backup and Example Slides

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19 Example Agenda AGENDA: Integration of access control and notification 1. Purpose The first revisions of the hardware/software mapping and the persistent storage design have been completed. The access control model needs to be defined and its integration with the current subsystems, such as NotificationService and TrackingSubsystem, needs to be defined. 2. Desired outcome Resolve issues about the integration of access control with notification. 3. Information sharing [Allocated time: 15 minutes] AI[1]: Dave: Investigate the access control model provided by the middleware. 4. Discussion [Allocated time: 35 minutes] I[1]: Can a dispatcher see other dispatchers’ TrackSections ? I[2]: Can a dispatcher modify another dispatchers’ TrackSections ? I[3]: How should access control be integrated with TrackSections and NotificationService ? 5. Wrap up [Allocated time: 5 minutes] Review and assign new action items. Meeting critique.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20 Example Unstructured Minutes Integration of access control and notification 4. Discussion... I[3]: How should access control be integrated with TrackSections and NotificationService ? Dave: The TrackSection maintains an access list. The notification service asks the TrackSection about who has access. Alice: We should probably reverse the dependency between TrackSection and NotificationService. Instead, the UIClient requests subscriptions from the TrackSection, which checks for access and then calls the NotificationService. This way, all protected methods are in one place. Dave: This way the TrackSection can also more easily unsubscribe dispatchers when their access is revoked. Ed: Hey, no need for access control in NotificationService : Dispatchers can see all TrackSections. As long as the NotificationService is not used for changing the TrackSection state, there is no need to restrict subscriptions. Alice: But thinking about the access control on notification would be more general. Ed: But more complex. Let’s just separate access control and notification at this point and revisit the issue if the requirements change. Alice:Ok. I’ll take care of revising the TrackingSubsystem API....

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21 Example Structured Minutes STRUCTURED MINUTES: Integration of access control and notification 4. Discussion... I[3]: How should access control be integrated with TrackSections and NotificationService ? P[3.1]:TrackSections maintain an access list of who can examine or modify the state of the TrackSection. To subscribe to events, a subsystem sends a request to the NotificationService, which in turns sends a request to the corresponding TrackSection to check access. P[3.2]:TrackSections host all protected operations. The UIClient requests subscription to TrackSection events by sending a request to the TrackSection, which checks access and sends a request to the NotificationService. A[3.1] for P[3.2]: Access control and protected operations are centralized into a single class. P[3.3]: There is no need to restrict the access to the event subscription. The UIClient requests subscriptions directly from the NotificationService. The NotificationService need not check access. A[3.2] for P[3.3] Dispatchers can see the state of any TrackSections (see R[1] ). A[3.3] for P[3.3] : Simplicity. R[3]: P[3.3]. See action item AI[2]....

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22 Example Issue Database