Agile Scrum Training

March 28, 2017 | Author: Kẻ Lãng Du | Category: N/A
Share Embed Donate


Short Description

Download Agile Scrum Training...

Description

AGILE SCRUM WORKSHOP

Author  :  Nguyễn  Thành  Châu   E-­‐mail:  [email protected]   Cell  phone:  (+084)918226449  

  Tài liệu được biên soạn bởi Nguyễn Thành Châu  theo yêu cầu của   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản các dựdựán nghiệp công nghệ thông Banlý quản lý các án công công nghiệp công nghệ thông tin - Bộ TT & TTtin - Bộ TT & TT  

Introductions and Expectations Participant introductions   v  Name v  Position and background v  How long experience with Agile-Scrum development? v  What do you want to get out of this course (expectation)?    

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Who Am I ? q  20+ years of working experience in IT industry q  Conducted 50+ training courses related to Agile-Scrum, PM, BA, CMMI, ITIL, ISO 20k, ISO 27k. q  Consulted 20+ organization related to QMS, ISMS, ITSM q  Professional Scrum Master q  ISMS Lead Auditor q  ITIL Expert

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Logistics

EMERGENCY  

EXIT  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

4

Rules of Engagement Participate. One person speaks at any given time. Keep discussions and questions to the point. Turn on your cell phones and other communication devices to Silence mode. v  Be prompt returning from breaks. v  …… v  v  v  v 

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

5

AGENDA v  Traditional Software Development

v  Agile Requirement v  Testing in agile

v  Agile Introduction

v  Agile - Lean development

v  Agile Scrum Introduction

v  KanBan

v  Scrum Roles

v  Scaling and Distributed Scrum

v  Scrum Artifacts

v  Extreme Programming

v  Scrum Meeting

v  Agile For Manager

v  Agile Estimation

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

6

Schedule Day 1 : v Traditional Software Development v Agile Introduction v Agile Scrum Introduction v Scrum Roles

Day 2 : v Scrum Artifacts v Scrum Meetings v Agile Estimation

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

7

Schedule Day 3 : v  Agile Requirement v  Testing in agile v  Agile - Lean development Day 4 : v  Agile - Lean development v  KanBan v  Scaling and Distributed Scrum v  Extreme Programming

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

8

Schedule Day 5 : v  Agile For Manager v  Workshop summary v  Mockup exam

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

TRADITIONAL  SOFTWARE  DEVELOPMENT  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

10

Software Engineering

“ The application of a systematic, disciplined, quantifiable approach to development, operation and maintenance of software: that is, the application of engineering to software.” » IEEE Standard Computer Dictionary

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

11

Exercise 1: Explain waterfall model Traditional model: v  List all of phases of Waterfall model. Each phase will be written in a sticker. v  List all of roles of Waterfall model. Each role will be written in a sticker. v  List all of the tasks of Waterfall model. Each task will be written in a sticker. v  List all of problems, issues, or weaknesses of Waterfall model. Each problem, issue, or weakness will be written in a sticker.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

12

The Traditional Development

v  Analysis v  Design v  Coding v  Testing

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

13

Traditional Project Challenge

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

14

The Traditional Development - Assumptions Traditional model is a good fit when: v  Customer knows all requirements upfront v  Requirements are stable v  Technology is well known and mature v  The problem has been solved before v  Everything goes as per plan

How often are these true?

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

15

What are the trusts ? v  The client doesn’t know what they want v  The client thinks they know what they want but are wrong v  We don’t understand what the client wants v  We think we understand but we are wrong v  We don’t know how to do it v  We thought we knew how but we were wrong v  Changes to external factors alter the objectives v  The client has learned along the way that they now want something different

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

16

Weakness of traditional software development method v  All good ideas should come in the beginning, a good idea at the release stage is a threat v  Emphasis on writing things down – leads to lack of clarity in thought and understanding v  Last minute correction not possible v  Unanticipated technical problems may lead to collapse in the model

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

17

The Traditional Process

Analysis   Time  

Design   Coding   Tes0ng  

(The  cost     of  change     increases)  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Do  we  have   ½       final  product   yet?  

18

Legacy of waterfall Model v  Ask Customers what they want §  When they really don’t know v  Reward them for thinking everything upfront §  And manage that as ‘scope’ v  Penalize them for adding things later §  Do strict ‘scope’ control

The result is over production of features

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

19

Features of traditional software v  Biggest cost of Predictive Development is over production of features v  Must be designed, built and maintained

Always   Used   7%  

Frequently   Used 13%

Never  Used   45%  

v  Don’t get used, provide no value

Rarely  Used   19%  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Some0mes   Used   16%  

20

AGILE INTRODUCTION

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

21

Video demo

20 Oracle Agile PLM Customer Results in 90 Seconds

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

22

What is Agile Software Development? In the late 1990’s several methodologies began to get increasing public attention. Each had a different combination of old ideas, new ideas, and transmuted old ideas. But they all emphasized: v  close collaboration between the programmer team and business experts; v  face-to-face communication (as more efficient than written documentation); v  frequent delivery of new deployable business value; v  tight, self-organizing teams; v  and ways to craft the code.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

23

Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

24

Principles behind the Agile Manifesto

1 2 3

•  Our  highest  priority  is  to  satisfy  the  customer   through  early  and  continuous  delivery  of  valuable   so_ware

•  Welcome  changing  requirements,  even  late  in   development.  Agile  processes  leading  the  change   for  the  customer’s  compeccve  advantage.

•  Deliver  working  software  frequently,  from  a   couple  of  weeks  to  a  couple  of  months,  with  a   preference  to  the  shorter  cmescale.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

25

Principles behind the Agile Manifesto

4 5 6

•  Business  people  and  developers  must  work   together  daily  throughout  the  project.  

•  Build  projects  around  motivated  individuals.   Give  them  the  environment  and  support  they   need,  and  trust  them  to  get  the  job  done.

•  The  most  efficient  and  effective  method  of   conveying  information  to  and  within  a   development  team  is  face-­‐to-­‐face  conversacon.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

26

Principles behind the Agile Manifesto

7 8 9

•  Working  so_ware  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.

•  Concnuous  ahencon  to  technical  excellence  and   good  design  enhances  agility.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

27

Principles behind the Agile Manifesto

10 11 12

•  Simplicity  the  art  of  maximizing  the  amount   of  work  not  done  is  essencal.  

•  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.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

28

Agile Process

A  N  A  L  Y  S  I  S     D  E  S  I  G  N   C  O  D  I  N  G   T  E  S  T  I  N  G  

20%  done   100%  usable  

Time  

The  best  way  to  manage   ‘scope’  is  to  write  less   code!     •   Develop  20%  of  features   that  deliver  80%  values   • Develop  and  deploy   highest  priority  first     • Stop  when  you  run  out  of   0me  or  money      

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

29

Waterfall Model vs. Agile Process Waterfall Model

Agile Process

Analysis  

Analysis  

Design  

Design  

Coding   Tes0ng   Time  

Coding   Tes0ng   Time  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

30

Some advantages of the Agile approach v  The customer has frequent and early opportunities to see the work being delivered, and to make decisions and changes throughout the development project. v  The customer gains a strong sense of ownership by working extensively and directly with the project team throughout the project. v  If time to market for a specific application is a concern, Agile can more quickly produce a basic version of working software. v  Development is often more user-focused, likely a result of more and frequent direction from the customer

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

31

Some disadvantages of the Agile approach v  The very high degree of customer involvement may present problems for some customers who simply may not have the time or interest for this type of participation. v  Agile works best when members of the development team are completely dedicated to the project. v  Time-boxed delivery and frequent reprioritization, it’s possible that some items set for delivery will not be completed within the Timeboxed. Additional sprints may be needed, adding to the project cost.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

32

Some disadvantages of the Agile approach The iterative may lead to a reduction in overall system quality, as there is less emphasis on understanding the finished system as a whole early in the project.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

33

Exercise 2: Drawing a picture Draw a picture based on Waterfall model – 20 minutes v  Customer looks at a picture carefully. v  Customer explains the picture to the team. v  The team listen requirement from customer and take a note. v  The team draw a picture.

Draw a picture based on Agile – 20 minutes v  Customer looks at a picture carefully. v  Customer joins with the team to draw the picture. v  Every 5 minutes, customer can look at the original picture and come back with the team.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

34

Exercise 2: Drawing a picture

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

35

Exercise 2: Drawing a picture

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

36

How to deliver project?

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

37

Agile Methods v  Scrum v  Extreme Programming v  Adaptive Software Development (ASD) v  Dynamic System Development Method (DSDM) v  Feature Driven Development (FDD) v  Lean Software Development v  Lean/Kanban v  …

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

38

Video demo 1. Five Levels of Agile Planning 2. Agile vs Traditional System Development

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

39

AGILE SCRUM INTRODUCTION Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

40

SCRUM The agility way…. Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

41

Video demo

1. Scrum Master Training

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

42

History of Scrum v  1995 §  Analysis of common software development processes not suitable for empirical, unpredictable and non-repeatable processes §  Design of a new method: Scrum by Jeff Sutherland and Ken Schwaber §  Enhancement of Scrum by Mike Beedle and combination of Scrum with extreme programming v  1996 §  Introduction to Scrum at the OOPSLA conference v  2001 §  Publication of the Agile Software Development with Scrum by Ken Schwaber and Mike Beedle Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

43

What is Scrum used for? v  US FDA-approved software for X-Rays, MRIs v  High availability systems (99.9999% uptime) v  Enterprise workflow systems v  Financial payment applications v  Large database applications v  Embedded systems v  ISO 9001 organizations v  CMMi Level 5 organizations v  Onshore / offshore development

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

44

Who is using Scrum?

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

45

Even the Government is doing it…

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

46

Share

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

47

What is Scrum? “Scrum is a framework for developing complex product and systems. It is grounded in empirical process and control theory. Scrum employs an iterative and incremental approach to optimize predictability and control risk.” - Ken Schwaber

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

48

A Management Framework v  Scrum is a management framework for incremental product development using one or more cross-functional, self- organizing teams of about seven people each. v  It provides a structure of roles, meetings, rules, and artifacts. v  Teams are responsible for creating and adapting their processes within this framework. v  Scrum uses fixed-length iterations, called Sprints, which are typically two weeks or 30 days long. v  Scrum teams attempt to build a potentially shippable (properly tested) product increment every iteration

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

49

Scrum Framework v  Scrum is designed to add energy, focus, clarity, and transparency to project planning and implementation. It will: §  Increase speed of development §  Align individual and corporate objectives §  Create a culture driven by performance §  Support shareholder value creation §  Achieve stable and consistent communication of performance at all levels §  Enhance individual development and quality of life

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

50

Scrum Has Three Legs

We  all  know  what     Is  going  on  

Transparency  

Adaptacon  

Check  your  work   as  you  do  it.    

Inspeccon  

OK  to  change   tacccal  direccon   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

51

Scrum Values v  Commitment

Scrum asks you to commit to a goal and then provides you with the authority to meet those commitments.

v  Focus

It insist that you focus all your efforts on the work you’re committed to and ignore anything else.

v  Openness

Openness is prompted by the fact everything about a scrum project is visible to everyone.

v  Respect

Scrum tenets acknowledge that the diversity of team members’ background and experience adds value to your project.

v  Courage

Finally, Scrum asks you to have courage to commit , to act, to be open and expect Respect Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

52

Scrum framework

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

53

Product Owner

•   Product    Owner    decides    what    should    be    produced    so    as     to  achieve  success     SPRINT   •  Gets    inputs    from    end    users,    team    managers,  stakeholders,   execucves,  industry  experts  etc     NO  CHANGE  

uracon  or  Goal   •  Produces  the  product  in  bDacklog   which  contains  the  features  of   the  product  to  be  produced  in  order  of  priority  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

54

Product Backlog

•   The  Product  Backlog  is  the  single  master  list  of  features,   funcconality  etc…  prioriczed  based  on  business  value  and  risk       •   The  Product  Backlog  is  constantly  being  revised  by  the  Product   Owner,  to  maximize  the  business  success  of  the  team’s  efforts  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

55

Scrum Team

•   Ideally  consists  of  7+/-­‐  2  people     •   The  team  has  to  be  cross  funcconal  –   containing  members  from  the  different   verccals  required  for  developing  the   product     • The    team    is    self    organizing    and    self     managing    –    makes    a  commitment  and   manages  its  responsibilices  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

56

Sprint

•   Sprint  is  referred  to  the  fixed  period  of   cme  the  team  commits  to  work  in  course   of  developing  the  product       • The    length    of    the    sprint    is    decided    by     the  Team    and    the    Product  Owner       • Working  at  a  sustainable  pace  is   important  to  avoid  burn  out  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

57

Sprint Planning Meeting

•   Before  each  Sprint,  the  team  selects  what  it   will  commit  to  deliver  by  the  end  of  the  Sprint.     •   The  team  creates  a  task-­‐level  plan  for  how   they  will  deliver.       •   The  team  works  together  to  create  an  inical   assignment  of  tasks,  and  compares  total   escmated  task  hours  with  total  escmated   available  hours,  to  make  sure  the  commitment   is  reasonable.     • Everyone  on  the  team  takes  part,  regardless   of  experience-­‐level  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

58

Sprint Backlog

•   The  Sprint  Backlog  lists  all  the  tasks,  and  the  hours   remaining  for  each.     • The  Task  Board  shows  where  tasks  are  in  progress.   •  The Sprint Backlog is updated every day by team member  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

59

The “no change” of Sprint

•   During  the  Sprint,  what  the  team   commihed  to  deliver  does  not  change,   and  the  end-­‐date  of  the  Sprint  does   not  change.     •  This  enables  team  to  make  and  keep   commitments,  it  gives  the  team  focus   and  stability  during  the  Sprint,  and  it   trains  Product  Owner  to  clearly  think   through  what  is  on  the  Product   Backlog.     •  If  something  major  comes  up,   Product  Owner  can  direct  the  team  to   terminate  the  Sprint  prematurely,  and   start  a  new  one  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

60

The “no change” of Sprint (continue)

•  In  return  for  not  making  changes   during  the  Sprint,  Product  Owner  can   make  any  changes  they  want  to  the   Product  Backlog  before  the  start  of  the   next  Sprint.     •  Product  Owner  can  add,  remove,   reorder,  or  change  items.  They  can  also   ask  the  team  to  re-­‐implement  work   that’s  already  been  completed.  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

61

Daily Standup Meeting

Each  day,  the  team  has  a  short  meecng  to  update   each  other  on  progress  and  surface  blocks.  They  stand   up,  to  keep  it  fast.     •  To  keep  the  meecng  to  15  minutes,  everyone   reports  just  3  things:  done  since  yesterday,  done  by   tomorrow,  and  blocks.   •  Scrum  Master  notes  blocks,  and  a_erwards  helps   resolve  them.     •  Others  can  ahend  the  meecng  if  the  team  invites   them,  but  they  do  not  speak.  This  meecng  is  not  for   monitoring  team  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

62

Burnt-down Chart

Each  day,  the  team  updates  simple  charts  that   make  visible  how  they  are  progressing  towards   their  goal  for  the  Sprint.     •  The  Sprint  Backlog  lists  all  the  tasks,  and  the   hours  remaining  for  each.  The  Burn-­‐down  Chart   graphs  the  total  hours  le_  for  all  tasks.  The  Task   Board  shows  where  tasks  are  in  progress.     •  These  charts  enable  the  team  to  successfully   self-­‐manage  and  deliver  what  they  commihed  to   by  the  end  of  the  Sprint    

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

63

Scrum Master

The  ScrumMaster  is  a  new  role.  It  can  be   played  by  an  exiscng person  (such  as  a   former  Project  Manager  or  team-­‐member).     •  The  ScrumMaster  serves  the  team   (helping  them  remove  any  and  all   impediments  that  surface),  protects  the   team  (from  any  outside  disrupcon  or   interference),  and  teaches  and  guides  the   team’s  use  of  Scrum.     •  Without  a  ScrumMaster,  the  team  has  a   high  risk  of  failure.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

64

Finished Work

The  aim  for  the  team  is  to  complete  100%  of  what  they   commihed  to,  ideally  an  increment  of  Potencally   Shippable  Product  at  the  end  of  each  Sprint.     •  For  so_ware,  this  means  funcconality  that  has  been   designed,  fully  implemented,  and  fully  tested,  with  no   major  defects.     •  Few  teams  can  do  product  Potencally  Shippable  Product   from  Sprint  1,  but  each  Sprint  they  work  to  get  closer  to   this  goal.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

65

Sprint Review Meeting

At  the  end  of  the  Sprint,  the  Product  Owner,  Team,  Scrum  Master,   and  Stakeholders  come  together  and  see  a  demo  of  what  the  team   has  produced.     •  The  Product  Owner  gathers  feedback  from  everyone  on  ways  to   improve  what’s  been  built.     •  This  feedback  is  incorporated  into  the  Product  Backlog.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

66

Sprint Retrospective

The  Team,  Product  Owner,  and  Scrum  Master  meet  at  the  end  of   each  Sprint  to  review  their  way  of  working,  and  look  for  ways  to   improve  their  effeccveness.     •  This  is  the  mechanism  for  concnuous  improvement,  and  also   where  criccal  problems  are  idencfied  and  addressed,  or  surfaced  to   management  for  assistance  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

67

Components of Scrum

Scrum   Ar0facts  

Scrum   Roles  

Scrum   Ceremonies   (Events)  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

68

Benefits of Scrum v  Improvement Statistics:

§  Productivity Improvement – 68% §  §  §  § 

Team Morale – 52% Adaptability – 63% Accountability – 62% Collaboration and Cooperation – 81%

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

69

Challenges of Scrum v  Inability to get everyone involved with planning v  Failure to have dedicated roles –Scrum Master, Product Owner and Team v  Product Owner that isn’t ready for the team v  Teams lacking authority and decision-making ability v  Ineffective use of the retrospection v  Obtaining only “checkbook commitments” from executive management v  Failure to pay attention to infrastructure required v  A culture that does not support learning

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

70

Summary v  It is an iterative, incremental framework v  Sprints – cycles of work developed, duration 2 – 4 weeks; occur one after another without pause v  Time-boxed – they end whether or not the work ends v  At the beginning, cross-functional team forms the priority list based on customer requirements v  During the sprint the chosen items do not change v  Everyday inspection and adjustment v  End of the sprint, review with stakeholders v  Feedbacks are taken and incorporated into the sprint v  End of sprint, fully tested product is formed as per customer requirements Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

71

Video demo

1. Scrum introduction

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

72

Exercise 3: SCRUM Roles SCRUM: v  List all of roles of SCRUM. Each role will be written in a sticker. v  Put all of the tasks of Waterfall model match to SCRUM roles.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

73

SCRUM ROLES Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

74

Scrum Roles

SPRINT  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

75

Story of Pig and Chicken

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

76

Roles - Chickens v  “Chicken” roles Chicken roles are not part of the actual Scrum process, but must be built. v  Stakeholders (customers, vendors) These are the people who enable the project and for whom the project They are only directly involved in the process during the sprint reviews. v  Managers People who will set up the environment for the product development organizations.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

77

Roles - Pigs

Product   Owner  

Scrum   Master  

Scrum   Team  

Pigs

The Pigs are the ones committed to the project and performing the actual work of the project.   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

78

Product Owner Role v  Single person responsible for maximizing the return on investment (ROI) of the development effort v  Responsible for product vision v  Constantly re-prioritizes the Product Backlog, adjusting any long-term expectations such as release plans v  Finalize the answer for requirements questions v  v  v  v 

Accepts or rejects each product increment Decides whether to ship Decides whether to continue development Considers stakeholder interests

v  May contribute as a team member v  Has a leadership role Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

79

Product Owner Role The Product Owner is responsible for maximizing the value of the product and the work of the Development Team. The Product Owner is the sole person responsible for managing the Product Backlog, includes: v  Clearly expressing Product Backlog items; v  Ordering the items in the Product Backlog to best achieve goals and missions; v  Optimizing the value of the work the Development Team performs; v  Ensuring that the Product Backlog is visible, transparent, and clear to all, and shows what the Scrum Team will work on next; and, v  Ensuring the Development Team understands items in the Product Backlog to the level needed. Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

80

As a Scrum Product Owner You… v  Hold the vision for the product on behalf of the business, the customer, and the user. v  Represent the interests of the business to the team. v  Represent the product and the team to the business. v  Communicate with stakeholders regularly. v  Write user stories. v  Help others write user stories. v  Understand the business value of each user story. v  Assign numeric business value to each user story. v  Prioritize the user stories into a strictly ordered backlog.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

81

As a Scrum Product Owner You…(continue) v  Identify acceptance criteria for each story. v  Collaborate with the rest of the team to create the team’s definition of done. v  Accept or reject completed work, determining whether it has met the acceptance criteria. v  Resolve conflicting requirements from stakeholders. v  Provide the information that the team needs to estimate each story. v  Make yourself available to answer the team’s questions about requirements and business value. v  Make the call in the rare instances when a sprint needs to be terminated early.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

82

As a Scrum Product Owner You…(Continue) v  Clarify requirements for the team. v  Lead the first part of the sprint planning meeting. v  Lead the story time meetings. v  Gather feedback from stakeholders at the sprint review. v  Do not hold the role of scrum master. v  Do not do implementation work. v  Do not tell the team how to do the work. v  Do not estimate stories

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

83

Video demo 1. The Impatient Product Owner

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

84

Exercise 4: Product Owner Role SCRUM: v  List all of the tasks of a product owner and put the tasks under Product Owner role on the board.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

85

Scrum Team

SPRINT  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

86

The Development Team role The Development Team consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. Only members of the Development Team create the Increment. v  They are “self-organizing” v  They are “cross-functional” v  They decides “what to commit to” v  Scrum recognizes no titles for Development Team members v  Scrum recognizes no sub-teams in the Development Team, v  Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole. Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

87

The Development Team role (Continue) v  One team normally does all the work - planning, analysis, programming, and testing v  Negotiates commitments with the Product Owner, one Sprint at a time v  Develops the product and gives ideas to the product owner v  Has autonomy regarding how to reach commitments v  Intensely collaborative v  Most successful when located in one team room, particularly for the first few Sprints v  Normally contain 7+ or – 2 people v  Avoid multi-tasking, avoid member changing

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

88

The Development Team Responsibilities v  The Scrum Team is responsible for the high-quality and timely delivery of sprint commitments in line with the expectations of the Product Manager and Product Owner. v  The Scrum Team is cross-functional and multi-skilled they know their strengths and work together to support each other through challenging times. v  The team members are not all experts in every area, however between them they have a wide range of abilities and areas of expertise. v  The Scrum Team takes responsible for their commitments and are held singularly accountable for their actions and decisions -- they are as one.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

89

The Development Team Responsibilities v  The Scrum Team demonstrate their output to the Product Manager and relevant Product Owner(s) and Stakeholders at the end of each Sprint. v  The Scrum Team self-organize in order to deliver Sprint commitments. they do whatever is required in order to deliver the highest quality/value output during a sprint. [PROACTIVE] v  Question the Product Manager/Product Owner to ensure they fully understand the requirements of the Product Owner and end-user

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

90

Video demo

1. Team Work - https://www.youtube.com/watch?v=o9mdHMtxOjY

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

91

Exercise 5: SCRUM Team Role SCRUM: v  List more the tasks of a SCRUM team and put the tasks under SCRUM TEAM role on the board.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

92

Scrum Master

SPRINT  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

93

Scrum Master role v  The Scrum Master is responsible for ensuring Scrum is understood and enacted by ensuring that the Scrum Team adheres to Scrum theory, practices, and rules. v  The Scrum Master is a servant-leader for the Scrum Team. v  The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. v  The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

94

Scrum Master role v  Facilitates the Scrum process v  Creates an environment conducive to team self-organization v  Captures empirical data to adjust forecasts v  Enforces time-boxes v  Keeps Scrum artifacts visible v  Promotes improved engineering practices v  Has no management authority over the team v  Has a leadership role

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

95

As A Scrum Master You… v  Serve as the keeper of the scrum process, “holding space” for the team. v  Provide facilitation for team meetings during the sprint this can mean leading them yourself, recruiting an outside facilitator, or helping the team facilitate their own meetings. v  Know when to step back and let the team learn through their own experience, including mistakes. v  Are available to the team and the product owner to answer questions and give advice. v  Protect the team from outside distractions, serving as a buffer between the team and external stakeholders. Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

96

As A Scrum Master You… v  Remove impediments for the team, so they can get on with the work. v  Are not the boss. Your role is defined by a unique set of responsibilities, not by rank. v  Act as an advocate for the team to the business. v  Coach the product owner in scrum practices. v  Help the team master the use of scrum artifacts, like the task board, the sprint backlog, and burn charts. v  Coach the team, and individual team members, in scrum practices.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

97

As A Scrum Master You… v  Lead the daily scrum until the team members are comfortable running it by themselves. v  Run the second half of the story time meeting, or assist the team members in running it themselves. v  Provide facilitation for, and participate in, the sprint retrospective. v  Are not the scrum police! You’re not there to tell the team what they’re doing wrong. v  Ensure that your duties as a technical contributor.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

98

Scrum Master Skills v  Facilitating. v  Listening. v  Working towards self-organizing the team. v  Leading by serving.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

99

Video demo 1. The Power of Scrum Master

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

100

Exercise 6: SCRUM Master Role SCRUM: v  List all of the tasks of a SCRUM Master and put the tasks under SCRUM Master role on the board.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

101

SCRUM ARTIFACTS

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

102

Product Backlog v  Is a high-level document for the entire project. v  Force-ranked list of desired functionality v  Contains backlog items: broad descriptions of all required features, wishlist items, etc. prioritized by business value. v  Visible to all stakeholders v  Any stakeholder (including the Team) can add items to Product Backlog. v  Constantly re-prioritized by the Product Owner. Business value is set by the Product Owner. Development effort is set by the Team. v  Items at top are more value than items at bottom v  Maintained during the Backlog Refinement Meeting v  A Product Backlog is never Done.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

103

Product Backlog

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

104

Product Backlog

Product Backlog items (user stories, features, or bugs)

Items are listed in top-down priority order

-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐  

#  

-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐  

#  

-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐  

#  

-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐  

#  

Estimate for each backlog item

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

105

Product Backlog

Priority

Description

Size

Value

(from SizeTeam)

(from Product Owner)

1

Feature A

3

Extra-High

2

Feature B

5

Extra-High

3

Feature C

3

High

4

Feature D

8

Extra-High

5

Feature E

5

High

6

Feature F

2

Medium

7

Feature G

13

High

8

Feature H

3

Low

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

106

Product Backlog

Priority

Description

Size

Value

(from Team)

(from Product Owner)

1

Feature A

3

Extra-High

2

Feature B

5

Extra-High

3

Feature C

3

High

4

Feature D

8

Extra-High

5

Feature E

5

High

6

Feature F

2

Medium

7

Feature G

13

High

8

Feature H

3

Low

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

107

Product Backlog Item (PBI) v  Specifies the what more than the how or who of a customer-centric feature v  Often written in User Story form v  Has a product-wide definition of done to prevent technical debt v  May have item-specific acceptance criteria v  Effort is estimated by the team, ideally in relative units (e.g., story points)

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

108

Product Backlog Item (PBI)

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

109

Product Backlog- Video demo 1. Populate Product Backlog 2. Prioritize Backlog

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

110

Exercise 7: Develop a Product Backlog Product Backlog: v  Each team will discuss and develop a product backlog for a specific software project such as develop a website for a training center. v  Each product backlog item will be written on a stick note and put on a board.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

111

Sprint Backlog v  Consists of committed PBIs negotiated between the team and the Product Owner during the Sprint Planning Meeting v  Scope commitment is fixed during Sprint Execution v  Initial tasks are identified by the team during Sprint Planning Meeting v  Team will discover additional tasks needed to meet the fixed scope commitment during Sprint execution v  Visible to the team v  Referenced during the Daily Scrum Meeting

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

112

Sprint Backlog

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

113

Sprint Task v  Specifies how to achieve the PBI’s what v  Requires one day or less of work v  Remaining effort is re-estimated daily, typically in hours v  During Sprint Execution, a point person may volunteer to be primarily responsible for a task v  Owned by the entire team; collaboration is expected

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

114

Sprint Task

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

115

Sprint Video demo 1. Populate Sprint Backlog 2. Sprint

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

116

Monitoring Sprint Progress v  Make the daily sum of remaining work v  Create trend v  Post for high visibility v  Reflects Development Team intuition v  Burn down charts are common

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

117

Sprint Burn down Chart v  Indicates total remaining team task hours within one Sprint v  Re-estimated daily, thus may go up before going down v  Intended to facilitate team self-organization v  Fancy variations, such as itemizing by point person or adding trend lines, tend to reduce effectiveness at encouraging collaboration v  Seemed like a good idea in the early days of Scrum, but in practice has often been misused as a management report, inviting intervention. The Scrum Master should discontinue use of this chart if it becomes an impediment to team self-organization.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

118

Sprint Burn down Chart is a graphical representation of work left to do versus time. The outstanding work (or backlog) is often on the vertical axis, with time along the horizontal. It is useful for predicting when all of the work will be completed

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

119

Definition of Done v  Agile teams make an agreement on what criteria potentially shippable software in their environment. This agreement is called the definition of done. v  The DoD serves as a contract the delivery team writes with its stakeholders as well as the team’s standard of excellence. v  Creating the Definition of Done is a collaborative effort between the Scrum Master, Delivery Team and Product Owner. v  The initial Definition of Done can be created before or during the future iteration planning meeting, and continually revisited in future iteration planning meetings.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

120

Definition of Done (DOD) v  Defines the acceptance criteria for a user story. v  It states the deliverables that accompany each Product Backlog item. v  Applies to all stories. v  Set by Product Owner in discussion with SCRUM Team. v  Should be clear and self explanatory. v  Separate DOD for Story, Sprint and Release.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

121

Exercise 8: Develop a DOD for Story Definition of Done: v  Each team will discuss and develop a DOD for story.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

122

Sample DOD for Story v  All story should have automated acceptance test. v  The story should have working code supported by unit test that provide around 60 – 70 percent coverage. v  The story should have well defined acceptance criteria. v  The code must have been written as a pair or should be code reviewed. v  Code must be completely checked in to the source control system and the build should pass with all the automated tests running. v  The product owner must accept the story.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

123

Sample DOD for Sprint v  Product owner should have defined a sprint goal. v  All stories completed for the spring must be accepted by the product owner v  All the automated acceptance tests should be running for the stories in the sprint. v  The completed stories demonstrated successfully.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

124

Sample DOD for Release v  Product is deployed to the test box and makes it to staging v  Product has a formal release date. v  There are deployment documents for the release v  Training manuals are available for users. v  All stories for the release are completed and accepted. v  The release does not have any level one bugs.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

125

DoD Video demo

1.      Agile  in  Praccce_  Definicon  of Done  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

126

• 

Tài liệu được biên soạn bởi Ông Đoàn Đức Đề theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin/Bộ TT & TT

SCRUM MEETING Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

127

Sprint Planning

SPRINT  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

128

Sprint Planning meeting v  The purpose of the Sprint planning meeting is for the team to commit to the completion of a set of the highest ranked product backlog items. v  This commitment defines the Sprint backlog and is based on the team’s velocity or capacity and the length of the Sprint timebox The sprint planning meeting is to v  Establish goals for your sprint. v  Choose the user stories that support those goals. v  Break user stories into specific development tasks. v  Create a sprint backlog.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

129

Sprint Planning Meeting v  Iteration planning is a collaborative effort involving these roles: §  Scrum Master - facilitates the meeting §  Product Owner - represents the detail of the product backlog items and their acceptance criteria §  Delivery Team/Agile Team - define the tasks and effort necessary to fulfill the commitment There are two sections in the Sprint planning meeting 1. Setting goals and choosing user stories 2. Creating tasks for the sprint backlog • 

@   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

130

Setting goals and choosing user stories During a sprint planning meeting, the product owner and development team, with support from the scrum master: v  Discuss and set a sprint goal: The sprint goal should be an overall description supported by the highest-priority user stories in the product backlog. v  Review the user stories: Review the user stories from the product backlog that support the sprint goal and revisit and adjust the effort estimates as necessary. v  Determine what the team can commit to in the current sprint: The development team should agree and confirm it can complete the goal planned for this sprint.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

131

Creating tasks for the sprint backlog v  Creates the sprint backlog tasks associated with each user story: Break the user stories into discrete individual tasks and allocate a number of hours to each task. v  Double-checks that the team can complete the tasks in the time available in the sprint: Be careful about over- committing at the beginning of a sprint, especially in the project's first few sprints. Note : If the tasks exceed the hours available, seek the project owner’s advice on which user stories to remove from this sprint.

v  Each member chooses a first task to accomplish: Development team members should work on only one task on one user story at a time

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

132

Sprint Planning Meeting v  The maximum time for planning a 30-day Sprint is eight hours, reduced proportionally for a shorter Sprint.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

133

Sprint Planning 1              Calculate  the  team’s  

total  manhour  capacity  for   the  upcoming  Sprint  

5  people  x  2  wks  x  6hrs/day:          300.0   Minus  vacation:          224.0   Minus  20%  Slack/  Risk  Buffer:        179.2     Commitment  Cap:          179.2    

2              Add  the  manhour  

estimates  for  all  the  Sprint   Backlog  tasks  

3              Compare  the  2  

numbers  to  help  the  team   confirm  the  commitment   is  reasonable   179 ≈ 176 è J Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

176  

134

Sprint Planning – Best Practice

Divide the Planning into 2 Halves

•  In the first half, the Product Owner briefs the team on the next priorities from the Product Backlog, and the Team selects a set of items they deem reasonable •  In the second half, the team decomposes the commitments into the Sprint Backlog of action items and tasks needed to accomplish those commitments

Defer Task Assignments

•  Many teams spend too much effort pre-assigning Sprint Backlog action items to Team Members, often causing the Sprint Planning to last many hours too long. •  Consider leaving the task assignments until later. This will allow Team Members the opportunity to self-assign the tasks, generating more buy-in.

Defer Unknown Details

•  The Sprint Backlog is an imperfect living work plan. 30-40% of the Sprint Backlog tasks will change over the course of the Sprint. •  Consider deferring the task definition for those things that are not fully understood, and simply

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

135

Video demo

1.      How  to  improve  your  Scrum  Sprint Planning   2.      Agile  in  Praccce_  Prioricsacon using  MoSCoW  

 

 

   

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

136

Daily Scrum

SPRINT  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

137

Daily Scrum

Same   cme   Every   day  

Same   place  

Daily   Scrum  

15   minutes  

Each team member summarizes v  What did you do yesterday? v  What will you do today? v  Are there any impediments in your way? • 

 

 

 

 

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

138

Daily Scrum v  The daily stand-up should be time-boxed. v  The Scrum Master should facilitate regular daily meeting times. Don't change the time of this meeting if you can avoid it; Scrum requires discipline. v  Each member of the team should participate in this meeting v  Don't update the sprint backlog during this meeting. v  Team members should be active listeners so they know how the team as a whole is doing, and so they can help one another resolve impediments. v  Ensure that each team member remains present till the end of the meeting because of the purpose of the stand-up is to understand how well we're doing to achieve sprint goals as a team. Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

139

Video demo

1.  How  to  improve  your  Daily  Scrum  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

140

Sprint Review

SPRINT  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

141

Sprint Review Meeting v  After Sprint execution, the team holds a Sprint Review Meeting to demonstrate a working product increment to the Product Owner and everyone else who is interested. v  The meeting should feature a live demonstration, not a report. v  The Product Owner reviews the commitments made at the Sprint Planning Meeting and declares which items he now considers done. v  The Scrum Master helps the Product Owner and stakeholders convert their feedback to new Product Backlog Items. v  The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend v  Four-hour time limit

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

142

Sprint Review - Video demo

1.  How  to  improve  your  Review Meecng  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

143

Sprint Retrospective

SPRINT  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

144

Sprint Retrospective Meeting v  All team members reflect on the past sprint v  Make continuous process improvements v  Two main questions are asked in the sprint retrospective: §  What went well during the sprint? §  What could be improved in the next sprint? v  Three-hour time limit v  This meeting is facilitated by the Scrum Master

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

145

Common impediments and Mistakes Common impediments v  A common impediment to full transparency on the team is the presence of people who conduct performance appraisals v  The human tendency to jump to conclusions and propose actions too quickly v  The psychological safety is geographic distribution

Common mistakes v  Mistake 1: Retrospectives become a dull and boring routine. v  Mistake 2: Too many non-actionable improvements. v  Mistake 3: Focus on what can NOT be changed next sprint Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

146

Retrospective - Video demo

1.  How  to  improve  your  Retrospeccve  meecng  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

147

Backlog Refinement meeting

SPRINT  

NO  CHANGE  

in  Duracon  or  Goal  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

148

Backlog Refinement Meeting v  Most Product Backlog Items (PBIs) initially need refinement because they are too large and poorly understood. v  Teams have found it useful to take a little time out of every Sprint to help prepare the Product Backlog for the next Sprint Planning Meeting. v  It is common to write Product Backlog Items in User Story form. v  Agility requires learning to split large epics into user stories representing very small product features v  The Backlog Refinement Meeting lacks an official name and has also been called “Backlog Grooming,” “Backlog Maintenance,” or “Story Time.”

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

149

Story, Theme, Epic

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

150

Backlog Refinement Meeting

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

151

Backlog Refinement - Video demo

1.  How  to  improve  Scrum  Backlog Refinement  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

152

The Sprint v  The heart of Scrum is a Sprint, a time-box of one month or less during which a “Done”, useable, and potentially releasable product Increment is created. v  Sprints contain and consist of the Sprint Planning, Daily Scrums, the development work, the Sprint Review, and the Sprint Retrospective.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

153

Sprint Goal v  A Sprint’s Goal is fixed and may not change • Decrease  upstream  payloads  by  30%  

Decrease  upstream   payloads  by  30%  

• Deliver  a  minimal  set  of  administra0on  features  

run     n o 0 plica p a   e  in   k e c i v Ma r L  Se on  SQ  to  Oracle   on ad d i 0

Increase  find  acc search  b uracy  of   y  20%  

Deliver  a  minimal  set  of   administra0on  features  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

154

During Sprint v  No changes are made that would endanger the Sprint Goal; v  Quality goals do not decrease; and, v  Scope may be clarified and re-negotiated between the Product Owner and Development Team as more is learned.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

155

Canceling a Sprint v  A Sprint can be cancelled before the Sprint time-box is over. v  Only the Product Owner has the authority to cancel the Sprint.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

156

Release Planning

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

157

Purpose of Release Planning v  To make visible as much as is known about the desired release. v  Its purpose is not to make commitments. Release planning is a collaborative effort involving these roles: v  Scrum Master - facilitates the meeting v  Product Owner - represents a general view of the product backlog v  Delivery Team/Agile Team - provide insights into technical feasibility and dependencies v  Stakeholders - act as trusted advisors as decisions are made around the release plan

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

158

Release planning v  Breaking down barriers – The business and stakeholders and developers all plan together. v  Interactions between people - when we do Release Planning, we get all of the people who are involved into a room so they can interact. v  Iterative and incremental –We do Release Planning once (usually near the beginning of the release development), and then again and again as needed. v  An Agile Release Plan increases in accuracy over time as the results of each iteration are incorporated into it. v  4 hours max( 2hrs for 2 week sprint)

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

159

Release planning Defined

A high-level roadmap that forecasts “when we will do what”

Owned by

•  Product Owner

Rules

• Only the PO can prioritize the backlog • Dependencies are offered by the team, must be considered • Velocity (average output per sprint) is required to know how much to forecast for future sprints

Best Practices

• Realistic –Explains delivery dates as best case, worst case, most likely scenarios • Fresh – Updated after each sprint Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

160

Release planning

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

161

Release planning

Release planning is all about understanding what you're going to do towards those themes in the next release. It is setting a common understanding amongst the teams on what the release will likely look like. It is not a commitment, rather a projection. It helps to establish a common baseline across the teams.

Steps  in  Release  Planning   Understand  the  goal   Understand  the  customer   requirement   Priori0ze  and  es0mate  the  backlog   Calculate  the  team  velocity   Create  a  release  plan   Communica0ng  the  release  plan   Upda0ng  the  release  plan  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

162

Release planning v Preparing for Release Planning •  •  •  •  • 

Set themes Prepare the backlog Divvy stories up Understand the issues Identify key dates

v After a Release •  Do Release Retrospective

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

163

Tips for Release Planning v  Do as little planning as is necessary. v  Start release planning when you realize you need it, even if it’s near the end of the release effort. v  Plan using stickies on the walls and update them into an online tool, do that later, after the meeting. v  Don’t forget that each scrum team only commits to results for the next sprint. Everything else is merely an attempt to understand what could or should happen. v  Include vendors and other third parties who are relevant and involved in your release planning meeting. v  Revisit the release plan after each sprint and update it.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

164

AGILE ESTIMATION Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

165

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

166

Agile Uses ‘Point” to Estimate Story Size

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

167

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

168

What is a story point? v  Story point is a random measure for estimation used by Agile teams. This is used to determine the size of effort required to complete the development of a user story.

v  A story point is usually assigned after considering following factors § 

Effort required in development of story

§ 

Complexity of story

§ 

Unknowns or risk factors in the development

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

169

How to assign story points? Pick a baseline story

v  In the beginning team picks up a baseline story and assigns some story point to that story. Rest of the stories are assigned story points based on their comparative size with the baseline story.

v  Baseline could be different for different teams. For example one team can assign 5 where as other can assign 3 to the same story.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

170

Story Point v  Sizing sequence should be geometric series: 1, 2, 4, 8, 16, 32, … v  Mike Cohen proposed Fibonacci series: 1, 2, 3, 5, 8, ... v  Its relative data and not absolute. v  Advantage: Accuracy is less important than consistency. v  Disadvantage: Its team specific values and may not have any meaning for others. Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

171

T-Shirt Sizing v  S, M, L, XL, ... v  Apply story points later. v  Good first step for tam to adapt Relative Sizing technique. v  Advantage: Easy to grasp. v  Disadvantage: Size vs Time comparison is difficult

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

172

Planning Poker

3                                                                    5  

• 

3   • 

•  5  

5  

5   • 

3  

5  

5  

5   3  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

173

Poker Estimation

Estimator

Round 1 Round 2

Sheila

3

5

Raj

8

5

Suresh

2

5

Annie

5

8

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

174

Exercise 9: Poker Estimation Poker estimation: v  Each team will use poker estimation to estimate a picture given by instructor.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

175

User Story inputs  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT Tài liệu được biên soạn bởi Ông Đoàn Đức Đề theo yêu cầu của

@Author  :  Đoàn  Đức  Đề                                                                                  [email protected]  

176

Sizing

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

177

Sizing

Priority

Description

Size

Value

(from Team)

(from Product Owner)

1

Feature A

3

Extra-High

2

Feature B

5

Extra-High

3

Feature C

3

High

4

Feature D

8

Extra-High

5

Feature E

5

High

6

Feature F

2

Medium

7

Feature G

13

High

8

Feature H

3

Low

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

178

Velocity v  Is how much product backlog effort a team can handle in one sprint. v  It is measured in Story Points. v  Once established, velocity can be used to plan projects and forecast release and product completion dates. v  Can be estimated by viewing previous sprints, assuming the team composition and sprint duration are kept constant. v  Should not vary too much. v  How to establish velocity for a new team? :- Run 2-3 sprints without any set velocity. Benchmark could be the mean velocity of first 3 sprints.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

179

Velocity 1

1

2

1

2

1

2

1 2

1 2

1 2

1

1

2

2

3

1 2

1 1

3

5

Sprint 1

Sprint 2

15 Points

12 Points

of size

of size

Sprint 3

14 Points of size

Average of ~14 Points per Sprint è “Velocity” Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

180

Velocity The Product Backlog Priority  

Descripcon  

Size   (to   build)  

1

Feature A

3

2

Feature B

4

3

Feature C

3

4

Feature D

2

5

Feature E

4

6

Feature F

4

7

Feature G

3

8

Feature H

5

9

Feature I

2

10

Feature J

4

11

Feature K

2

12

Feature L

4

Total = 40 points Velocity = 14 points Time to complete = 40/14 = 2.8 Sprints

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

181

Planning Poker Video demo

1.      Agile  in  Praccce_  Planning  Poker   2.      SCRUM  03  -­‐  Escmate  Backlog  Using Planning  Poker  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

182

AGILE REQUIREMENT  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

183

Key Principles for Agile Requirements v  Active user involvement is imperative v  Agile teams must be empowered to make decisions v  Requirements emerge and evolve as software is developed v  Agile requirements are ‘barely sufficient’ v  Requirements are developed in small, bite-sized pieces v  Enough’s enough – apply the 80/20 rule v  Cooperation, collaboration and communication between all team members is essential.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

184

A picture is worth a thousand words

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

185

Requirements are a Communication Problem v  Written requirements

v  Verbal requirements

§  can be well thought through, reviewed and edited

§  Instantaneous feedback and clarification

§  provide a permanent record

§  Information packed exchange

§  are more easily shared with groups of people

§  easier to clarify and gain common understanding

§  may be less relevant or superseded over time

§  more easily adapted to any information know at the time

§  can be easily misinterpreted

§  can spark ideas about problems and opportunities

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

186

What is User Story? v  A user story is one or more sentences in the everyday or business language of the user or customer that captures what the user or customer wants to achieve through software. v  They tell a short story about how the user, customer or other persona will use the system, and what benefit they derive from the functionality. v  The goal is to provide context, which helps the Product Owner effectively manage and rank the backlog, and help the team understand how to implement functionality with the goals of customers in mind.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

187

User Story v  A simple statement in a user story format gets us started, but doesn’t tell the whole story. v  The Three C’s indicate the three elements of a user story Card, Conversation, Confirmation. 1. Card - A written description of the user story for planning purposes and as a reminder 2. Conversation - A section for capturing further information about the user story and details of any conversations 3. Confirmation - A section to convey what tests will be carried out to confirm the user story is complete and working as expected

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

188

Story Card

As a [user role] I want to [goal] so I can [reason] For example: As a registered user I want to log in so I can access subscriber-only content

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

189

Story Card description v  Who (user role) v  What (goal) v  Why (reason) •  Gives clarity as to why a feature is useful can influence how a feature should function can give you ideas for other useful features that support the user's goals

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

190

Conversation v  Through conversation, the Product Owner and Delivery Team develop a shared understanding of the goals for functionality as well as the constraints. Often the team asks questions. v  For our password reset example, questions might include: §  What type of authentication do we need? §  What information do we need to collect about the user? §  Are there different types of users that we have to worry about? v  The whole team can participate in these discussions. Different roles and different viewpoints will surface different questions and concerns.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

191

The Confirmation – Acceptance Criteria v  How will the Product Owner confirm that the story was implemented properly? v  Acceptance criteria are the conditions of satisfaction and acceptance for the story. v  Product Owners and the Delivery Team work together to provide acceptance criteria and remove any ambiguity from the user story. v  Acceptance Criteria for our Reset Password story might include: v  Username, password, and email address are all required. Display name can be provided, but is optional. v  Passwords can be 6 – 200 characters in length. v  Passwords should be stored encrypted and cannot be decrypted.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

192

User Story Example: Front of Card  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

193

User Story Example: Back of Card

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

194

How detailed should a User Story be?

 

Detailed enough for the team to start work from, and further details to be established and clarified at the time of development.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

195

INVEST in Good User Stories v  Independent – User Stories should be as independent as possible.

v  Negotiable – User Stories are not a contract. They are not detailed specifications. They are reminders of features for the team to discuss and collaborate to clarify the details near the time of development.

v  Valuable – User Stories should be valuable to the user (or owner) of the solution. They should be written in user language. They should be features, not tasks.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

196

INVEST in Good User Stories v  Estimateable – User Stories need to be possible to estimate. They need to provide enough information to estimate, without being too detailed.

v  Small – User Stories should be small. Not too small. But not too big.

v  Testable – User Stories need to be worded in a way that is testable, i.e. not too subjective and to provide clear details of how the User Story will be tested.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

197

User Stories Summary v  User Stories combine written and verbal communications, supported with a picture where possible. v  User Stories should describe features that are of value to the user, written in a user’s language. v  User Stories detail just enough information and no more. v  Details are deferred and captured through collaboration just in time for development. v  Test cases should be written before development, when the User Story is written. v  User Stories should be Independent, Negotiable, Valuable, Estimable, Small and Testable.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

198

Story Point Video demo

1.      Agile  In  Praccce_  StoryCards_User Stories 2.      Non-­‐Funcconal  Requirements  Add Value  to  User  Stories  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

199

Exercise 10: User Stories User Stories: v  Each team writes user stories of your product backlog. v  Use poker cards to estimate your user stories

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

200

Product Backlog Prioritization Overview v  Prioritization is a process of ranking user stories in product backlog. v  Highest customer value first. v  Owned by Product Owner. v  To be revisited whenever new requirement comes.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

201

Criteria for Prioritization

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

202

MoSCoW Method

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

203

Exercise 11: Prioritization Prioritization: v  Each team prioritizes PBIs in your product backlog.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

204

 

TESTING IN AGILE

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

205

How testing is different in Agile? Traditional Testing

Agile Testing

Testing occurs at the end

Testing occurs iteratively within each Sprint

Communication is formal

Communication cannot always be formal as interaction is required between the groups

Test Automation is optional

Automation is highly recommended

Testing from Requirements

Testing from Customers perspective

Detailed Test Plan exists

Lean Test Planning

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

206

Testing in agile 1.  During the planning phase of a project, agile testers do: v  Help the rest of the team understand the user stories v  Only take on stories that can be fully tested by the end of the sprint v  Collaborate with customers to better understand their stories v  Collaborate with developers to make sure all have the same understanding v  Start working on high level user acceptance tests for each story v  Think about any test data or testing dependencies needed for story testing

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

207

Testing in agile 2.  When in coding and testing phase of the project, testers do: v  Write detailed tests once coding starts v  Start with simple tests and add more complex ones later on v  Complete tests for one story at a time v  Identify testing obstacles as early as possible and communicate to team v  Facilitate communication between the customers and developers for issues that arise from coding and testing. v  Write some manual tests for scenarios that are too difficult to automate with the automated agile testing tool in hand. v  Start automating tests once enough code is written for regression suite.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

208

Testing in agile 3.  During the final stage & post-release testers take part in: v  Identifying testing related obstacles during sprint v  Estimating if there was enough time to test all completed stories v  Finding ways to improve next sprint v  Demo product to business owners for feedback

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

209

Challenges in Agile Testing v  Testing occurs within each sprint and not just at the end v  Testing teams do not have a great deal of time to develop and maintain the test scripts v  Different skills for testers v  Requirements and plan evolve over time v  The Regression testing scope increases each sprint v  Testers may lose overall system perspective while testing from sprint to sprint

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

210

Automation build v  Every commit to the code should be build. v  Only the latest build to be tested or used for demo. v  Early warning for broken code. v  Pushes developers for more modular and less complex code. v  Hardware cost for automated build setup. v  Ideal in case of distributed team.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

211

Build Strategy: Nightly Build v  Typically take place when no one is likely to be working in the office so that there are no changes to the source code during the build. v  Takes place automatically at a specified time. v  Ideal in case of high load and short schedule. v  Can be done on a machine which is also used for active development. v  Easy to maintain. v  Finding bugs or testing can be delayed. v  Ideal in case of centrally located team.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

212

Exercise 12: Spring Backlog Spring Backlog Development: v  Each team develop Spring backlog based on priority of PBIs in your product backlog.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

213

AGILE - LEAN DEVELOPMENT

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

214

A Lean History v  Lean is a manufacturing & production practice that considers the expenditure of resources for any goal other than the creation of value for the end customer to be wasteful, and thus a target for elimination. v  "value" is defined as any action or process that a customer would be willing to pay for. v  Lean is centered around preserving value with less work. v  Lean manufacturing is based on optimizing flow, increasing efficiency, decreasing waste, and using empirical methods to decide what matters, rather than uncritically accepting pre- existing ideas v  Toyota was a leader in implementing lean practices in the 80s

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

215

A Lean History

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

216

Seven Lean Principles

LEAN PRINCIPLES

Eliminate Waste Amplify Learning Decide as Late as Possible Deliver as Fast as Possible Empower the Team Build Integrity In See the Whole Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

217

Principle  #  1:  Eliminate  Waste

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

218

What  is  waste? v  Anything that doesn’t add value (as perceived by the customer) to the product v  Unnecessary code or functionality v  Unclear requirements v  Slow internal communications or processes v  Bureaucracy

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

219

Tool #1: Seeing Waste v  Agile practices seek to eliminate waste, but the first step is to learn how to see waste v  Good examples of waste are parts of the software process that are not analysis and coding - do they really add value to the customer? v  Shigeo Shingo identified seven types of manufacturing waste v  Mary and Tom Poppendieck translated these into the software domain in the following table

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

220

Tool #1: Seeing Waste Learn to see waste Waste of Manufacturing

Waste of Software Development

Inventory

Partially work done

Extra processing

Paperwork or excess documentation

Overproduction

Extra features

Transportation

Task Switching

Waiting

Waiting for the information

Motion • 

• 

Defects Wastes of Manufacturing

Learn  Motion to  see  waste  

Defects Development Wastes of Software

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

221

Tool #2: Value Stream Mapping v Mapping your value stream is a good way to start discovering waste in your process   v This involves drawing a chart of the average customer request, from arrival to completion   v At the bottom, draw a timeline that shows how much time the request spends in value-adding, waiting, and non-value- adding activities  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

222

Tool #2: Value Stream Mapping v  Reduce management activities such as unnecessary tracking systems. Minimize tracking by create a smooth flowing work system   v  Rethink Authorization systems. Make “approvals”  unnecessary   v  Retrain you brain to see waste. Ask yourself “Why am I  really doing this?”   v  Map your value stream to identify inefficiencies  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

223

Principle # 2: Amplify Learning

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

224

Exercise 13: The Ball Game Create a process for giving and receiving the ball in your group: v  You cannot pass the ball to the person next to you v  The ball must be returned to the person who started with it. v  The ball must travel through the air v  The ball cannot be rolled across surfaces e.g. floors, walls, tables and chairs.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

225

Tool #3: Feedback v  Feedback adds complexity to a system, but it also adds considerable value   §  For example, a traffic light that senses cars is more useful than a traffic light on a strict timer   v  The Waterfall development model does not provide much feedback; it is generally thought of as a single-pass model   v  Traditional processes consider feedback loops threatening because incorporating feedback could modify the predetermined plan   v  Developers should know their immediate and have ways for that customer to provide feedback  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

226

Tool #3: Feedback

v Increasing feedback is the single most effective way to deal with troubled software projects   §  Instead of letting defects accumulate, run tests as soon as the code is written   §  Instead of adding more documentation or detailed planning, check out ideas by writing code     §  Instead of gathering more requirements, show the customer an assortment of potential users screens and get their input   § 

Instead of studying which tool to use, bring the top three candidates in-house and test them  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

227

Tool #4: Iterations v  Iterations provide a dramatic increase in feedback   §  The operational environment is considered early   §  Design problems are exposed early   §  Change-tolerance is built into the system   v  Short iterations allow the system to respond to facts rather than forecasts   v  Iterations are a point of synchronization between the different teams and the customer   v  Iterations force decisions to be made because the system is deployed early and often     Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

228

Tool #5: Synchronization v  Build the system every day after a small batch of work has been completed by each of the developers   v  At the end of the day, a build takes place followed by an automated set of tests   v  If the build works and the tests pass, then the developers have been synchronized   v  The more builds, the better because it provides rapid feedback   v  Full system tests should be run as frequently as possible    

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

229

Tool #6: Set-Based Development Set-Based Versus Point-Based   v  The point-based approach starts with one choice and is refined until it works, which takes many iterations and might not converge   v  The set-based approach starts by defining everyone's constraints and then selects a choice that fits into those constraints   v  Set-based development bases communication on constraints rather than choices which requires significantly less data to convey far more information   v  Talking about constraints allows developers to defer making choices until the last possible moment

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

230

Tool #6: Set-Based Development Develop Multiple Options   v  When you have a difficult problem, develop a set of solutions, see how they actually work, and merge the best features of the solutions   v  It might seem  wasteful to develop multiple solutions, but set- based development can lead to better solutions faster

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

231

Principle # 3: Decide as Late As Possible

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

232

Sequential versus Concurrent Sequential Depth First (Drilling into the details too fast)

Concurrent Breadth First (seeing things in full view over time)

Order of Creation ( On day 1, We created requirements)

Highest valued features first

Rigid, change is costly

Adaptable, change is manageable

Cost escalation is high when issues are found late

Cost escalation is low, as issues are found incrementally

High stakes decisions are High stakes decisions can be made based on assumptions deferred until the last and with uncertainly responsible moment

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

233

Tool #7: Options Thinking v  People find it difficult to make decisions when there is uncertainty present   v  Delaying Decisions   §  The underlying economic mechanism for controlling complexity in just-intime systems is minimizing irreversible decisions   §  This contrasts with other methodologies that manage complexity by limiting decisions - e.g. "any color as long as it's black"   §  Delaying irreversible decisions leads to better decisions, limits risk, helps manage complexity, reduces waste, and makes customers happy   §  However, delaying decisions has a cost, but the overall system is more profitable and allows the correct decision to be made       Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

234

Tool #8: The Last Responsible Moment v  The last responsible moment is the moment in which failing to make a decision eliminates an important alternative   v  If commitments are delayed beyond this moment then decisions are made by default, which is generally not a good approach to making decisions   v  This is not be confused with procrastination; in fact, delaying decisions is hard work

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

235

Tool #9: Making Decisions Depth-first versus Breadth-first problem solving   v  Breadth-first problem solving could be thought of as a funnel and involves delaying decisions   v  Depth-first problem solving could be thought of as a tunnel and involves making early commitments   v  Depth-first is preferred when approaching new problems because it tends to quickly reduce the complexity of the problems   v  If there is an expert to make early decisions correctly and an assurance that there will not be changes that render the decisions obsolete, then depth-first is more effective. Otherwise, breadth-first will lead to better results

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

236

Principle # 4: Deliver as Fast as Possible

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

237

Exercise 14: The Coins Game Each team, 5 people and 20 coins, has to follow the following rounds: v  The first round: up-side-down 20 coins and pass them to the next person. v  The second round: up-side-down 10 coins and pass them to the next person. v  The third round: up-side-down 5 coins and pass them to the next person. v  The fourth round: up-side-down 1 coin and pass it to the next person.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

238

Tool #10: Pull Systems v  For rapid delivery to happen, it must be clear to every person what he/ she should do to make the most effective contribution to the business   v  There are two ways to ensure that workers are productive: tell them what to do or set things up so they can figure it out for themselves   v  In fast-moving situations, it is more effective to let the workers task themselve    

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

239

Tool #11: Queuing Theory Reduce Cycle Time   v  Queuing theory strives to make your wait as short as possible   v  The fundamental measurement of a queue is cycle time - the average time it takes something to get from the beginning of a process to the end   v  The time spent waiting in the queue is wasted time   v  There are two ways to reduce cycle time - look at the way work arrives or look at the way the work is processed   v  One way to control the rate of work arrival is to release small packages of work so that the queue is smaller  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

240

Tool #11: Queuing Theory

v  Once variability has been removed from the arriving work, the next step is to remove the variability in the processing time   v  Small work packages allow parallel processing of the small jobs by multiple teams so that if one team is stalled by a problem, the rest of the project can proceed without delay   v  Software organizations, like highways, cannot funtion at full capacity   v  Having slack in an organization gives the capacity to change, reinvent itself, and marshal resources for growth

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

241

Tool #12: Cost of Delay v  Often, software teams are told that they must meet cost, feature, and date objections simultaneously. This sends two messages:   §  Support costs are not important because they were not mentioned   §  When something has to give, make your own trade-offs   v  Instead, give the team an economic model which will empower the members to figure out for themselves what is important for business   v  Trade-off decisions are easiest to make when they are expressed in the same units   v  Economic models justify the cost of reducing cycle time, eliminate bottlenecks, and purchasing tools   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

242

Principle # 5: Empowering the Team

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

243

Tool #13: Self-Determination v Transfer practices from one environment to another is often an mistake   v Let the team design their own working procedures   v Remember Management’s role is coach, train, and assist the teams   v It is key to understand the fundamentals principals that make up practices, and transform those principles into new practices   v Managers need to improve as much as individual workers. A  feedback loop is critical going both ways between managers and workers to drive improvement

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Tool #14: Motivation Create a sense of purpose at work. People care about a purpose greater then themselves   v  It must be clear   v  It must be achievable   v  The team must have access to customers   v  Let the team make it’s own commitments   v  Management’s role is to provide support, resources, guidance, and protection    

 

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Tool #15: Leadership Respected Leaders   v  Nearly every major product development is spearheaded by a champion who is excited and passionate about their work   v  They probably wrote the product concept, recruited the team, interpret the vision for the team, and set the pace for development   Master Developers   v  Exceptional developers exercise   leadership through superior knowledge instead of bestowed authority   v  It is not essential to identify a master developer at the beginning of every project as more often than not they will emerge as a result of their technical prowess   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

246

Tool #15: Leadership Where do master developers come from?   v  They grow into their role through extensive experience in the technology being employed or the domain being addressed by the system   v  They also possess exceptional abstraction and communication skills   Project Management   v  Often the project manager does not have a technical background and is not responsible for developing a deep technical understanding of the product   v  They focus on identifying waste, coordinate iteration planning meetings, help team acquire resources, coordinate/ synchronize multiple teams, and provide a motivating environment (among many other things)   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Tool #16: Expertise Share Expertise   v  Promote mentorship and pair programming   v  Create communities of expertise   §  Identify the technical and domain specific competencies that are critical to an organization's success   §  Within these communities create forums for knowledge sharing; monthly meetings, newsletters, guest speakers, etc.   Enforce Standards   v  Naming standards,  coding standards, language standards, check in/out standards, build standards   v  Develop standards and practice them   v  Lack of standards leads to sloppy work   v  Standards develop through experimentation and knowledge sharing  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Principle # 6: Build Integrity In

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

249

Tool #17: Perceived Integrity Focus on keeping customer values at the forefront   v  Engineers have a tendency to get lost in the details and lose track of customer values   v  To prevent this, visions of perceived integrity should be refreshed regularly through customer feedback or access to groups of users who can judge the system's integrity   Model Driven Design   v  Construct domain models such that software implementation can flow directly from these models   v  These models must be understood and directly usable by the customers and developers   v  The models should express all the business rules, business processes, and domain related issues using ubiquitous language that can be understood by everyone  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Tool #17: Perceived Integrity Recommended collection of Models   v  Conceptual Domain Model: Class model of the basic entities of the system   v  Glossary: Defines terms found in domain model and ensures consistent language for the team   v  Use Case Model: A dynamic view of the system that captures customers goals for interacting with the domain model and details their expected workflow   v  Qualifiers: Details the qualifiers that might  be applied to the basic functionality of the system such as number of users, acceptable response time, required availability, projections for growth, etc  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Tool #18: Conceptual Integrity Measured by how well a system's components work together as a smooth, cohesive whole   v  Components match/work well together   v  The architecture allows for a balance between flexibility, maintainability, efficiency, and responsiveness   Effective communication is key to achieving conceptual integrity   Reuse existing solutions   v  If something has been proven to solve a problem in the past and you can make use of it, do it   v  This helps to remove degrees of freedom in the development process, reduces the complexity and need for communication   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

252

Tool #18: Conceptual Integrity Employ integrated problem solving practices   v  Understand and store the problem simultaneously   v  Release preliminary data early and don't wait for the complete answer   v  Information is released in small batches   v  Information flows in two directions   v  The preferred method of communication  is face-to-face

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

253

Tool #18: Conceptual Integrity Without integrated problem solving   v  Designers make decisions in isolation and send a large amount of information to those who must make decisions causing a "throw it at the wall approach"   With integrated problem solving   v  Frequent bilateral communication occurs which produces necessary feedback  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

254

Tool #19: Refactoring Complex systems have effects that aren't fully understood at design time   Architecture must remain healthy as the system evolves   v  New features are always being requested by users   v  Features can always be added  separately; often new features are related and redesigning architecture of system to support feature set is the best decision   v  Resist the urge of adding features in a brute force approach and instead adjust the architecture so that system integrity does not degrade  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

255

Tool #19: Refactoring Maintaining conceptual integrity   v  Simplicity   §  A simple design is nearly always the best design   §  Experienced developers know how to simplify complex designs   v  Clarity   §  Code must be easy to  understand   §  Everything should be clearly named and naming conventions and practices should be upheld  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

256

Tool #19: Refactoring Maintaining conceptual integrity   v  Suitability for use   §  Every design must accomplish intended purpose   v  No repetition   §  Repetition should never exist, this is a sign of bad design   v  No extra features   §  When Code is no longer  needed, get rid of it

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

257

Tool #19: Refactoring

Does refactoring slow down productivity?   v  Conventional wisdom suggests that the overhead associated with refactoring would slow down the team - the opposite turns out to be true   v  By spending time making sure code does not get out of hand you make further development much easier and more efficient      

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

258

Tool #20: Testing v  Testing proves that design intent is achieved and that the system does what customers want it to do   § Whenever developers write code, tests should exist to ensure that the features being developed work as intended   v  When developers write code he/she should get immediate feedback about whether or not it works as intended from the existing test code   v  Tests should be automated as much as possible and run as part of the daily build   v  Tests that cannot be automated or take too long to be run daily have much less value than those that can be run frequently   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

259

Tool #20: Testing Types of tests   v  Unit tests (single component), integration tests (multiple components) and system tests (the entire system)   v  Developer  tests (tests that ensure code does what developer intended) and acceptance tests (also known as customer tests these tests ensure that the system functions how the customer expects)    

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

260

Tool #20: Testing Roles of tests in development life cycle   v  Communicate how things are supposed to work   v  Provide feedback on whether or not the system actually works how it is supposed to   v  Provide the scaffolding for developers to make changes through the development process   v  After development tests provide an accurate representation of how the system was actually built  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

261

Principle # 7: See the Whole

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

262

Tool #21: Measurements v  Measurements are important for tracking the progress of software development   § Example: defect counts are important for gauging software readiness   v  People will increase their performance in areas that are measured   v  Measurements should motivate the team to collaborate and find better ways to do things    

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

263

Tool #22: Contracts v  A common misconception is that agile development cannot be used in the context contract work in which each firm is expected to look out for itself   v  To make it work, we need to change our idea of a contract being method of keeping two parties from taking advantage of each other into something that supports collaboration   v  In most cases  this means being flexible with regards to scope    

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

264

Tool #22: Contracts Incorporating Lean Development into different types of contracts   v  Fixed-Price Contracts   v  Time-and-Materials Contracts   v  Multistage Contracts   v  Target-Cost Contracts   v  Target-Schedule Contracts   v  Share-Benefit Contacts  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

265

KANBAN   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

266

What is Kanban?

v  看板 – Kanban literally means “visual card,” “signboard,” or “billboard.”   v  Kanban is a method that helps   §  Establish a culture of continuos improvement   §  Implement and scale Agile   §  Enable evolutionary change   v  Kanban  is a true PULL system implementation in software engineering   v  Kanban is a Visual Card

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

267

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

268

What is PULL system?

v  There is a queue of work, which goes through a number of stages until it is done v  When work is completed in a stage, it goes downstream to the next stage v  When someone needs new work to do, they pull from upstream

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

269

Why Kanban is Pull system? WE :   v  Don’t build features that nobody needs right now   v  Don’t write more specs than you can code   v  Don’t write more code than you can test   v  Don’t test more code  than you can deploy

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

270

Time-boxed iterative & incremental development has challenges   Common problems include:   v  Short time-boxes force development items to be smaller and valuable items to be spread over many iterations   v  Quality of requirements suffers as analysts & UX designers rush to prepare for upcoming cycles   v  Quality of current development suffers when busy analysts and UX designers are unable to inspect software or answer questions during development   v  Quality often suffers as testers race to complete work late in the development time-box   v  Unpredictable work makes it difficult to plan even a few weeks in  advance Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

271

Inside an iteration, effort across roles is uneven  

Development work often continues throughout a cycle while testing starts late and never seems to get enough time   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

272

Why Kanban? v  Goal 1: Optimize Existing Processes – Using the visualization and the limiting of work-in-progress (WIP) will catalyze change with minimal disruption.   v  Goal 2: Deliver with Higher  Quality – Limiting work-in- progress and defining policies for work prioritization will bring greater focus on quality. Policies can also address quality criteria directly.   v  Goal 3: Improve Lead Time Predictability – There is a correlation between the amount of work-in-progress, lead time and defect rates. Limiting WIP makes lead times dependable and keeps defect rates low.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

273

Why Kanban?

v  Goal 4: Improve Employee Satisfaction – Kanban reduces context switching and pulls work at the rate the team can complete it. Working at a more even, predictable pace, means employees are never overloaded.   v  Goal 5: Provide  Slack to Enable Improvement – Creating slack in the value chain improves responsiveness to urgent requests and bandwidth to enable process improvement and quality improvement.   v  Goal 6: Simplify Prioritization – Kanban enables fast reprioritization to accommodate changes in the market.      

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

274

Why Kanban? v Goal 7: Provide a Transparency on the System Design and Operation – Improved visibility builds trust with customers and managers. It also shows the effects of actions or inactions. As a result, collaboration improves.   v Goal 8: Enables Emergence of a “High-Maturity” Organization – As   improvements are implemented, organizational maturity improves leading to better decision making and improved risk management. Risk, managed   appropriately, brings predictable results.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

275

Five core principles enable The Kanban Method   Principles 1. Visualize the workflow

Description Represent the work items and the workflow on a card wall or electronic board

2. Limit Work-inProgress 3. Measure & Manage   Flow 4. Make Policies Explicit

Set agreed upon limits to how many work items are in progress at a time Track work items to see if they are proceeding at a steady, even pace.

5. Use Models to Evaluate Improvement Opportunities

Agree upon and post policies about how work will be handled Adapt the process using ideas from   Systems   Thinking, W. E. Deming, etc

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

276

Focusing on smoothing flow     v  平準化 – Heijunka : production smoothing, or the reduction of waste from unevenness     v  斑 - Mura : unevenness, inconsistency in physical matter or human spiritual condition  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

277

KANBAN system

How to set up a simple Kanban system   for   a software development team ? Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

278

1. Define a work process flow  

This  simple  process  flow  has   the  steps:   1.  Elabora0on  &  acceptance   criteria   2.  Development   3.  Test   4.  Deployment  

v  Look at the typical flow for features, stories, or work packages and describe typical process steps Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

3.  Test 4.  Deployment

279

2. Lay out a visual Kanban board  

EXPEDITE  

DONE  

GOALS   WAITING   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

280

3. Prioritized goals  

Having goals visible:   •promotes focus   •helps us prioritize   •helps us manage feature   scope & requirements.  

A good goal describes the outcome we hope to achieve after software ships. Goals help keep focus on the larger outcome   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

281

4. Limits items in queue and work in progress  

Limited Items in queue  

A good limit is a factor of the number of people in a role that can work on an item in a given process step. Start with number of people * 1.5   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

282

5. Place stories or features in queue  

Product owner manage the waiting queue

v  Mark on the story or feature card the date it entered the queue. This begins our measurement of cycle time. Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

283

Using a strict Kanban approach drops iteration planning from time-boxed iterations in favor of focusing on continuous flow Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

284

Setting up a simple Kanban system starts to focus the team on the cycle-time of delivered work and give a way to detect and begin to resolve bottlenecks

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

285

DoD Video demo  

  1. Intro to Kanban in Under 5 Minutes  

 

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

286

SCALING AND DISTRIBUTED SCRUM

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

287

Scaling SCRUM: SCRUM of SCRUMS  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

288

Scaling SCRUM: SCRUM of SCRUMS  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

289

Scaling of SCRUM v  Many teams, many backlogs, Chief Product owner, Product Owners, SCRUM Masters.   v  Synchronize within the team and across teams.   v  Correlate team organization to subsystems or modules with minimal crossover.   v  Implement development infrastructure to support the number and locations.   v  Develop standards, guidelines, training courses, templates, and framework to minimize the coordination required.   v  Ensure each team has sufficient resources carefully considering shared resources.   v  Develop common culture across the teams.   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

290

Scaling Impact: Roles  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

291

Scaling Impact: Agile Practices  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

292

Scaling Consideration: Infrastructure  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

293

Scaling Consideration: Tools  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

294

Scaling Consideration: People  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

295

Scaling Product Backlog  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

296

Scaling Product Backlog  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

297

Scaling Product Backlog  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

298

Distributed SCRUM v Rotate members around. v Invest in tools that provide shared environment. v Establish single global instance of project assets, easily accessible by all. v Try virtual team building (wiki/photos) v Establish known hours, with as much overlapping time. v Develop shared team vocabulary.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

299

Distributed SCRUM : Delivery Practices  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

300

Some Overlapping Period  

v  Good part : There is some overlapping here   v  Whole team can communicate to team on other side   v  Chances of mis-communication is less   v  Minimize waste in escalation and follow ups. Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

301

No Overlapping Period  

v  Biggest Challenge – Share the pain   v  Single point of contact, chances of mis-communication is more   v  Less communication between team members   v  Need to take proactive approach to minimize waste   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

302

Distributed SCRUM: Best Practices   v  Easy and continuous access to resources   §  Source code repository   §  Continuous Integration Server   §  Bug Tracking tool   §  Wiki   §  Project Management Tool   v  Setup infrastructure to support team member communication   §  Sprint meetings   §  Offline discussions   §  Knowledge sharing sessions   v  Regular people movement for short periods   §  Mixing of people to overcome  cultural issues, etc.,   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

303

Challenges in Distributed and Scaling SCRUM  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

304

EXTREME PROGRAMMING

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

305

What is Extreme Programming?

•  An agile development methodology •  Created by Kent Beck in the mid 1990’s •  A set of 12 key practices taken to their “extremes” •  A mindset for developers and customers •  A religion?

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

The 12 Practices v  The Planning Game v  Small Releases v  Metaphor v  Simple Design v  Testing v  Refactoring v  Pair Programming v  Collective Ownership v  Continuous Integration v  40-Hour Workweek v  On-site Customer v  Coding Standards Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

1 - The Planning Game

•  Planning for the upcoming iteration •  Uses stories provided by the customer •  Technical persons determine schedules, estimates, costs, etc •  A result of collaboration between the customer and the developers

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

The Planning Game – Advantages

•  Reduction in time wasted on useless features •  Greater customer appreciation of the cost of a feature •  Less guesswork in planning

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

The Planning Game – Disadvantages •  Customer availability •  Is planning this often necessary?

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

2- Small Releases

•  Small in terms of functionality •  Less functionality means releases happen more frequently •  Support the planning game

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Small Releases – Advantages •  Frequent feedback •  Tracking •  Reduce chance of overall project slippage

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Small Releases – Disadvantages

•  Not easy for all projects •  Not needed for all projects •  Versioning issues

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

3 – Metaphor •  The oral architecture of the system •  A common set of terminology

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Metaphor – Advantages

•  Encourages a common set of terms for the system •  Reduction of buzz words and jargon •  A quick and easy way to explain the system

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Metaphor – Disadvantages

•  Often the metaphor is the system •  Another opportunity for miscommunication •  The system is often not well understood as a metaphor

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

4 – Simple Design

•  K.I.S.S. •  Do as little as needed, nothing more

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Simple Design – Advantages

•  Time is not wasted adding superfluous functionality •  Easier to understand what is going on •  Refactoring and collective ownership is made possible •  Helps keeps programmers on track

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Simple Design – Disadvantages

•  What is “simple?” •  Simple isn’t always best

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

6 – Testing

•  Unit testing •  Test-first design •  All automated

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Testing – Advantages

•  Unit testing promote testing completeness •  Test-first gives developers a goal •  Automation gives a suite of regression test

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Testing – Disadvantages

•  Automated unit testing isn’t for everything •  Reliance on unit testing isn’t a good idea •  A test result is only as good as the test itself

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

6 – Refactoring

•  Changing how the system does something but not what is done •  Improves the quality of the system in some way

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Refactoring – Advantages

•  Prompts developers to proactively improve the product as a whole •  Increases developer knowledge of the system

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Refactoring – Disadvantages

•  Not everyone is capable of refactoring •  Refactoring may not always be appropriate •  Would upfront design eliminate refactoring?

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

7 – Pair Programming

•  Two Developers, One monitor, One Keyboard •  One “drives” and the other thinks •  Switch roles as needed

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Pair Programming – Advantages

•  Two heads are better than one •  Focus •  Two people are more likely to answer the following questions: –  Is this whole approach going to work? –  What are some test cases that may not work yet? –  Is there a way to simplify this?

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Pair Programming – Disadvantages

•  Many tasks really don’t require two programmers •  A hard sell to the customers •  Not for everyone

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

8 – Collective Ownership

•  The idea that all developers own all of the code •  Enables refactoring

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Collective Ownership – Advantages •  Helps mitigate the loss of a team member leaving •  Promotes developers to take responsibility for the system as a whole rather then parts of the system

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Collective Ownership - Disadvantages •  Loss of accountability •  Limitation to how much of a large system that an individual can practically “own”

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

9 – Continuous Integration •  New features and changes are worked into the system immediately •  Code is not worked on without being integrated for more than a day

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Continuous Integration - Advantages •  Reduces to lengthy process •  Enables the Small Releases practice

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Continuous Integration – Disadvantages •  The one day limit is not always practical •  Reduces the importance of a well-thought-out architecture

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

10 – 40-Hour Week •  The work week should be limited to 40 hours •  Regular overtime is a symptom of a problem and not a long term solution

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

40-Hour Week – Advantage •  Most developers lose effectiveness past 40-Hours •  Value is placed on the developers well-being •  Management is forced to find real solutions

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

40-Hour Week - Disadvantages •  The underlying principle is flawed •  40-Hours is a magic number •  Some may like to work more than 40-Hours

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

11 – On-Site Customer •  Just like the title says! •  Acts to “steer” the project •  Gives quick and continuous feedback to the development team

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

On-Site Customer – Advantages •  Can give quick and knowledgeable answers to real development questions •  Makes sure that what is developed is what is needed •  Functionality is prioritized correctly

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

On-Site Customer – Disadvantages •  Difficult to get an On-Site Customer •  The On-Site customer that is given may not be fully knowledgeable about what the company •  May not have authority to make many decisions •  Loss of work to the customer’s company

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

12 – Coding Standards •  All code should look the same •  It should not possible to determine who coded what based on the code itself

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Coding Standards – Advantages •  Reduces the amount of time developers spend reformatting other peoples’ code •  Reduces the need for internal commenting •  Call for clear, unambiguous code

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Coding Standards – Disadvantages •  Degrading the quality of inline documentation

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

XP – Advantages •  Built-In Quality •  Overall Simplicity •  Programmer Power •  Customer Power •  Synergy Between Practices

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

XP – Disadvantages •  Informal, little, or no documentation •  Scalability •  Contract Issues •  Misconception on the cost of change •  Tailoring

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Application – Advantageous •  Highly uncertain environments •  Internal projects •  Joint ventures

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

Application – Disadvantageous

•  Large, complex environments •  Safety critical situations •  Well understood requirements •  Distant or unavailable customer

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

AGILE FOR MANAGER Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

348

What type of manager are you?   Result-oriented (nutritional quality) • Is mainly oriented towards achieving results • Defines objectives, sets priorities, and assigns resources • Makes decision based on facts • Is consistent and actionoriented

Enjoyment-oriented (fun to eat) • Is mainly oriented towards people to achieve results • Defines challenges, promotes autonomy, and provides appropriate support • Makes decision based on emotions • Is emotional and relational  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

349

A few questions to get to know you   True  

False  

1. In order to get best results, it is better to control the activities of all team members.   2. A process that is not well-defined right from the beginning will always produce suboptimal results.   3. In order to cut productivity loss, it is better to isolate team members in cubicles and use e-mails as a means of communication.   4. A team made up of specialists with extensive skills is more efficient than a multidisciplinary team.   5. The best tools and processes are those chosen by the organization and used by all groups.   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

350

A few questions to get to know you   True  

False  

6. It is generally preferable to comprehensively document what we do even if it reduces our speed. 7. Money is the best way to motivate individuals. 8. It is more important to respect a pre-established plan than to adapt to changes. 9. A signed contract is more important than an informal agreement to obtain cooperation between different departments.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

351

Results: Are you an Agile manager?   No of Your Agility level   ‘False’ 9 Congratulations! You got a perfect score! If you already master the theory of Agile approaches and apply it to your daily activities, you could teach this training course. J 5 to 8 You are almost there! You will feel at ease with most concepts presented during this training course. During the next 3 hours, you will have the opportunity to revise fundamentals on which your management approach is based. 1 to 4 You are up to a good start towards a more Agile management style.   Concepts and fundamentals of this training course should help you become a more Agile manager. 0

During the next 3 hours, you could ask yourself many questions arising from the course content. Your current paradigm will most probably be harshly tested but you could be really surprised.

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

352

Traditional approaches pose many challenges   What we hear from business people…   v  ‘What we get from IT is not what we need, what we asked for.’   v  ‘There should be more control because project teams often do not respect deadlines and budgets.’   v  ‘What is developed has no value to us.’   v  ‘Applications delivered contain too many bugs.’   v  ‘We have to provide the project team with  all documentation required before they begin to work.’   v  ‘Deadlines are way too long. The project must end earlier.’   v  We do not understand the language used by IT, and we often are under the impression that they do not understand ours.’ v  ‘The situation would be better if IT would collaborate        

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

353

Traditional approaches pose many challenges   What we hear from IT people…   v  ‘Users do not know what they want.’   v  ‘With constantly changing needs, we are not able to respect our deadlines.’   v  ‘We are asked to produce more documents than applications.’ v  ‘Usually projects  start slowly, but then we work like crazy at the end.’ v  ‘Nobody has fun in the team. People feel like to go elsewhere.’   v  ‘We do not have much room for manoeuvre. Therefore, we must reduce our costs yet again.’   v  ‘How can we increase collaboration  between business representatives and us?’ Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

354

Too few projects are successful  

v  Projects’ success rate has not improved since 2000.   v  What is the situation like in your organization?  

Chaos Report–Standish Group, 2009  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

355

Larger projects are less likely to be successful   v  In spite of technological progress, projects are more and more complex. v  Success is uncertain for larger projects.   v  To reduce complexity, projects must be broken  up into smaller parts.   “To eat an elephant, one has to eat it one bite at a time."   – an anonymous savannah hunter  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

356

Solutions do not meet the user’s needs

v  Return on investment is low.   v  Nearly 50% of functions are never used.   v  Traditional approaches force users to prepare a comprehensive list of their needs at the beginning of the project.   v  The longer it takes to develop functions (that will not be used), the longer it takes to reach the market.   Jim Johnson @ XP days–Standish Group, 2002

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

357

Complexity and change will keep increasing v To remain competitive, organizations must:   §  Rapidly adapt to changing markets   §  Keep room for manoeuvre regarding resource allocation   §  Remain flexible while rapidly making decisions   §  Develop and maintain their human capital   v When complexity increases, centralized management and control systems rapidly reach their limit.   v It is impossible to anticipate every  thing in advance.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

358

Market trends adoption of Agile approaches     “By 2012, Agile development methods will be

utilized in 80% of all software development projects.”–Predicts 2010: Agile and Cloud Impact Application Development Directions, Gartner, December 2009       Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

359

Agile approaches are offered in a variety of forms  

Agile Project management (Scrum)   Development practices   Lean approach  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

360

Agility means that things will be done differently Agility does not mean...   v  To no longer do project management   v  To be a chaotic organization that no longer respects its IT governance framework   v  To no longer produce documents   v  To leave the team to itself   v  To do things partially   v  To change every thing overnight   v  That there will no longer be any problems   v  It simply means to do things differently      

!

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

361

Using an Agile approach to increase ROI and employee motivation   v  To develop solutions meeting the business needs   v  To develop solutions on time and within budget   v  To increase efficiency and productivity  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

362

Delivering value with Agile approaches Agile approaches aim at delivering value by capitalizing on individuals and their interactions   v  Applying Agility to all phases of a project means:   §  To frequently deliver business value at a sustainable pace   §  To maintain a high level of quality   §  To encourage the team’s empowerment and accountability as well as collaboration between all stakeholders   §  To use an iterative and incremental approach   §  To remain open to change requests throughout the project  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

363

To reach our goal, we must implement a structured approach v Management allowing to reach the vision by delivering tangible added value   v Use of an iterative and incremental approach within well- established timeboxes   v Implementation of performing  teams

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

364

Agile approaches require a change of paradigm  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

365

PLAN vs BUSINESS VALUE We do not wish to deliver a ‘plan’, we aim at achieving business results   v  To avoid planning everything right from the beginning   v  To support an incremental investment model   v  To ensure that priority is given to the delivery of added value   v  To question ourselves about the relevance of additional functions   v  To evaluate progress based on results rather than respecting a plan   v  To take care of the quality component throughout the project   v  To satisfy our clients early with a useful solution   v  To refine the understanding of the client’s needs   v  To adapt ourselves to change requests   Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

366

Increasing ROI   Using an iterative and incremental approach to increase ROI  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

367

What does it mean to the managers? LEADERSHIP   • Definition of the objectives and performance management   • Management and leadership style   ENVIRONMENT   • Work environment and organizational culture   PROJECT TEAM • Self-sufficiency and accountability • Collaboration and teamwork • Communication and knowledge sharing • Skills and professional development • Continuous improvement e and organizational learning • Processes and tools Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

368

Transition from a traditional to an Agile approach v  Transfer authority and responsibility to the team so it can do its work adequately   v  Avoid interference and micromanagement   v  Promote collaboration and teamwork   v  Support learning and not systematically penalize failures   v  Review best practices in order to adapt  them to changing realities   v  Make adjustments to the facilities so the environment facilitates the execution of Agile projects   v  Adapt the management style to the context of the team  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

369

Managers will be supported by organizational coaches As members of the expertise centre, organizational coaches:   v  Offer training courses to groups of managers (e.g. Agile for managers)   v  Participate in steering committees of pilot projects   v  Individually support  the managers that are related to pilot projects in order to go from a traditional management style to a more Agile one   v  Provide individual or group coaching in order to address fears, challenges, and resistances and to provide appropriate support  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

370

Conclusion v  A transition from a traditional approach to an Agile one is not an IT project, it is rather an organizational change.   v  An Agile approach highly impacts project teams but it also impacts managers and their management style.   v  When this type of transition is successful, it gives a competitive advantage  to the organization.   v  Supporting managers is critical to the success of this type of initiative.  

Tài liệu được biên soạn bởi Ông Nguyễn  Thành  Châu theo yêu cầu của Ban quản lý các dự án công nghiệp công nghệ thông tin - Bộ TT & TT

371

Q&A

Tài liệu được biênsoạn soạn bởiNguyễn   Nguyễn Châu   theo yêu cầu của   Tài liệu được biên bởi Ông Thành  CThành hâu theo yêu cầu của Ban quản các dự công nghiệpnghiệp công nghệcông thông tin - Bộ TTthông & TT tin/Bộ TT & TT   Ban quản lý lýcác dựánán công nghệ

372

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF