Agile Development
-
Upload
nikos-batsios -
Category
Technology
-
view
213 -
download
1
description
Transcript of 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
Benefits from being Agile
2
How do we learn to be AGILE ?
4
FOLLOW
BREAK
TRANSCEND
What are the problems we are solving with agile ?
5
Time Box
Defined Process
6
Empirical Process
7
The Tunnel of Uncertainty
8
What is our mindset to succeed with uncertainty?
9
Which is our attitudes and habits to succeed with uncertainty?
10
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
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
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.
Agile Manifesto
14
UNCERTAINTY
AGILE MINDSET
SW DEVELOPMENT
AGILE MANIFESTO
+
+
=
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.
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
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
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
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
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
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
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
Other Domains?
23
SW DEVELOPMENT 4 VALUES
12 PRINCIPLES
FINANCE ? VALUES
? PRINCIPLES
EDUCATION ? VALUES
? PRINCIPLES
MARKETING ? VALUES
? PRINCIPLES
OPERATIONS ? VALUES
? PRINCIPLES
OTHER ? VALUES
? PRINCIPLES
Scrum process overview
24
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
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
References
! The Power of an Agile Mindset, L. Rising ! History and overview of Agile Development, A. Sidky
26