Agile Development

27
Agile development Maria Zianika, Agile Coach @ Intracom Telecom S.A Nikos Batsios, Agile Coach @ Intracom Telecom S.A Aristotle University of Thessaloniki, School of Informatics, February 2014

description

an introduction to agile development & scrum as presented and discussed with students @ Aristotle University of Thessalonki, School of Informatics, February 2014

Transcript of Agile Development

Page 1: Agile Development

Agile development

Maria Zianika, Agile Coach @ Intracom Telecom S.A Nikos Batsios, Agile Coach @ Intracom Telecom S.A !Aristotle University of Thessaloniki, School of Informatics, February 2014

Page 2: Agile Development

Benefits from being Agile

2

Page 3: Agile Development

How do we learn to be AGILE ?

4

FOLLOW

BREAK

TRANSCEND

Page 4: Agile Development

What are the problems we are solving with agile ?

5

Time Box

Page 5: Agile Development

Defined Process

6

Page 6: Agile Development

Empirical Process

7

Page 7: Agile Development

The Tunnel of Uncertainty

8

Page 8: Agile Development

What is our mindset to succeed with uncertainty?

9

Page 9: Agile Development

Which is our attitudes and habits to succeed with uncertainty?

10

Page 10: Agile Development

Fixed vs Growth Mindset - Context of Personal Life

11

Avoid challenges and obstacles because risk of failure.

Stick to what they know and can do. Failure is an impression of lack of talent

therefore quick to blame and be defensive.

Feedback and criticism is personal as it impacts self-image.

Not change or improve so to this confirms that “they are as they are.”

Desire continuous learning. Confront uncertainties.

Embrace challenges because will learn something new

Not afraid to fail – an opportunity to learnPut lots of effort to learn and master something new

Feedback and criticism is not about them but about current capabilities

Elicit feedback since it is a source of new information and learning

Page 11: Agile Development

Fixed vs Agile Mindset - Context of Work

12

Desire to avoid failure and be on schedule regardless of the changes.

Avoids challenges and obstacles because risk of failure.

Stick to what they know and can do. Failure is an impression of lack of planning,

therefore quick to blame and be defensive.

Feedback and criticism is the team as it impacts self-image.

They don’t welcome change or learn so to but rather push away the change as much as possible

Desire continuous learning. Confront uncertainties.

Embracing challenges because will learn something new

Not afraid to fail – an opportunity to learnPut lots of effort to learn and master something new

Feedback and criticism is not about team but

about current product

Elicit feedback since it is a source of new information and learning

Page 12: Agile Development

What to do to handle uncertainty?

13

FIXED MINDSET APPROACH TO MANAGING UNCERTAINTY !REDUCING UNCERTAINTY BY “NAILING THINGS DOWN.” LOOKING TO FIX AND CONFIRM THINGS.

AGILE MINDSET APPROACH TO MANAGING UNCERTAINTY !REDUCING UNCERTAINTY BY DISCOVERING AND LEARNING. LOOKING TO LEARN AND DISCOVER IN THE MOST EFFICIENT WAY POSSIBLE.

Page 13: Agile Development

Agile Manifesto

14

UNCERTAINTY

AGILE MINDSET

SW DEVELOPMENT

AGILE MANIFESTO

+

+

=

Page 14: Agile Development

Agile Manifesto

15

Manifesto for Agile Software Development !

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

Individuals and interactions over processes and tools Working software over comprehensive documentation

Customer collaboration over contract negotiation Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Page 15: Agile Development

Agile Mindset

16

AGILE IS A MINDSET

A MINDSET IS THE ESTABLISHED SET OF ATTITUDES HELD BY SOMEONE GOAL TO LEARN FAILURE AS AN OPTION TO LEARN FAIL FAST, LEARN CONSTANTLY EMBRACE CHALLENGE EFFORT IS THE PATH TO MASTERY ABILITY CAN GROW PERFECT IS A VERB

Page 16: Agile Development

Agile Mindset

17

AGILE IS A MINDSET ESTABLISHED THROUGH FOUR VALUES

INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION RESPONDING TO CHANGE OVER FOLLOWING A PLAN

Page 17: Agile Development

Agile Mindset

18

AGILE IS A MINDSET ESTABLISHED THROUGH FOUR VALUES GROUNDED BY TWELVE PRINCIPLES

#1 OUR HIGHEST PRIORITY IS TO SATISFY THE CUSTOMERTHROUGH EARLY AND CONTINUOUS DELIVERYOF VALUABLE SOFTWARE !#2 WELCOME CHANGING REQUIREMENTS, EVEN LATE IN DEVELOPMENT AGILE PROCESSES HARNESS CHANGE FOR THE CUSTOMER'S COMPETITIVE ADVANTAGE !#3 DELIVER WORKING SOFTWARE FREQUENTLY, FROM A COUPLE OF WEEKS TO A COUPLE OF MONTHS, WITH A PREFERENCE TO THE SHORTER TIMESCALE !#4 BUSINESS PEOPLE AND DEVELOPERS MUST WORK TOGETHER DAILY THROUGHOUT THE PROJECT !#5 BUILD PROJECTS AROUND MOTIVATED INDIVIDUALS. GIVE THEM THE ENVIRONMENT AND SUPPORT THEY NEED, AND TRUST THEM TO GET THE JOB DONE !#6 THE MOST EFFICIENT AND EFFECTIVE METHOD OF CONVEYING INFORMATION TO AND WITHIN A DEVELOPMENT TEAM IS FACE-TO-FACE CONVERSATION

Page 18: Agile Development

Agile Mindset

19

AGILE IS A MINDSET ESTABLISHED THROUGH FOUR VALUES GROUNDED BY TWELVE PRINCIPLES

#7 WORKING SOFTWARE IS THE PRIMARY MEASURE OF PROGRESS !#8 AGILE PROCESSES PROMOTE SUSTAINABLE DEVELOPMENT. THE SPONSORS, DEVELOPERS, AND USERS SHOULD BE ABLE TO MAINTAIN A CONSTANT PACE INDEFINITELY !#9 CONTINUOUS ATTENTION TO TECHNICAL EXCELLENCE AND GOOD DESIGN ENHANCES AGILITY !#10 SIMPLICITY—THE ART OF MAXIMIZING THE AMOUNT OF WORK NOT DONE--IS ESSENTIAL !#11 THE BEST ARCHITECTURES, REQUIREMENTS, AND DESIGNS EMERGE FROM SELF- ORGANIZING TEAMS !#12 AT REGULAR INTERVALS, THE TEAM REFLECTS ON HOW TO BECOME MORE EFFECTIVE, THEN TUNES AND ADJUSTS ITS BEHAVIOR ACCORDINGLY

Page 19: Agile Development

Agile Mindset

20

AGILE IS A MINDSET ESTABLISHED THROUGH FOUR VALUES GROUNDED BY TWELVE PRINCIPLES MANIFESTED THROUGH MANY DIFFERENT PRACTICES

RODUCT VISIONING, PROJECT CHARTERING, AFFINITY (RELATIVE) ESTIMATION SIZE-BASED (POINT) ESTIMATION, PLANNING POKER, GROUP ESTIMATION VALUE-BASED DOCUMENTATION, PRIORITISED PRODUCT BACKLOGUSER STORIES, PROGRESSIVE ELABORATION STORY MAPS / MMF, STORY SLICING, ACCEPTANCE TESTS AS REQUIREMENTS SHORT ITERAONS, WIP LIMITS EARLY AND FREQUENT RELEASESROADMAPPING VELOCITY-BASED PLANNING AND COMMITMENT

ITERATION PLANNING / ITERATION BACKLOG RELEASE PLANNING / RELEASE BACKLOG TIME BOXED ITERATION ADAPTIVE (MULTI-LEVEL) PLANNING, PAIR PROGRAMMING, CONTINUOUS INTEGRATION RISK BACKLOG TEAM STRUCTURE, TEST AUTOMATION, VERSION CONTROL PULL-BASED SYSTEMS SLACK SUSTAINABLE PACE, BURN UP/BURN DOWN CHARTS

Page 20: Agile Development

Agile Mindset

21

AGILE IS A MINDSET ESTABLISHED THROUGH FOUR VALUES GROUNDED BY TWELVE PRINCIPLES MANIFESTED THROUGH MANY DIFFERENT PRACTICES

SCRUM KANBAN YOUR AGILE PROCESS

Page 21: Agile Development

Doing Agile, Being Agile

22

DOING AGILE LEARNING THE PRACTICES AND APPLYING THEM WITHOUT KNOW THE MINDSET AND PRINCIPLES TO KNOW WHEN TO TAILOR AND HOW TO SELECT THE APPROPRIATE PRACTICES

BEING AGILE INTERNALIZING THE

MINDSET, VALUES, AND PRINCIPLES

THEN APPLYING THE RIGHT PRACTICES

AND TAILORING THEM TO DIFFERENT

SITUATIONS AS THEY ARISE

Page 22: Agile Development

Other Domains?

23

SW DEVELOPMENT 4 VALUES

12 PRINCIPLES

FINANCE ? VALUES

? PRINCIPLES

EDUCATION ? VALUES

? PRINCIPLES

MARKETING ? VALUES

? PRINCIPLES

OPERATIONS ? VALUES

? PRINCIPLES

OTHER ? VALUES

? PRINCIPLES

Page 23: Agile Development

Scrum process overview

24

Page 24: Agile Development

Scaling Agile

! Scaling Agile in Feature Development

▪ There are 6 sites, geographically distributed (Germany, Greece, Croatia, Italy etc)

▪ In total there are 44 teams, each comprising of 6-8 team members

▪ The distribution of teams in the various sites is more or less even.

▪ Feature development relies a lot on collocation of teams (if possible).

▪ ~ 70% of features involve 2-3 teams. In these cases collocation of Scrum teams is usually feasible.

▪ ~ 30% of the features involve more than 4 teams and up to 7 teams

▪ Duration of features varies

• small features are at the range of 24- 33 weeks

• large features 42 weeks – 51 weeks

▪ Scrum Masters are responsible for no more than two teams each.

▪ PDO are responsible for no more than 2 teams. In the case of large features, a proxy PDO is appointed per 2 teams while a Main PDO is in charge of the Feature

25

Page 25: Agile Development

Diameter Signaling Controller Development

! Distributed development team

▪ 4 teams in Aachen, Germany

▪ 2 teams in Thessaloniki

▪ 2 in Athens

!! 1 Backlog , 8 Pdos, 5 ScM

!! Heavy use of tele- & video- conference for information distribution and problem solving

▪ eg. daily across team stand up

!‣ Close customer collaboration

!‣ Facilitation team

26

Page 26: Agile Development

References

! The Power of an Agile Mindset, L. Rising ! History and overview of Agile Development, A. Sidky

26

Page 27: Agile Development