agile developers create their own identity[1]
Post on 08-May-2015
617 Views
Preview:
TRANSCRIPT
MeFocus on building an organization culture to "be agile" rather than "follow Agile".Software agility delivered through team agility and using agile tools, techniques and technologies.
Agility ServicesSoftware CraftsmanshipMidas Touch -‐ Agility in software maintenanceAgile Enterprise Architecture solutionsAgility Nurseries (Agile ODC)
Organization MetamorphosisAgility Assessment Radars and Roadmap
Team Agility AssessmentValue Stream MappingShared Vision and Team Chartering
Team Agility Coaching, Executive CoachingScrum CoachingXP Engineering Practices CoachingLean Software Development Coaching
Agile Developers Create Their Own Identity
Context
Agile Developers Create Their Own Identity
Leaders
Values, Practices and Principles : Relationship
Sources: -Extreme Programming Embrace Change by Kent BeckIntercropping Principles and Production Practices by National Sustainable Agriculture Service
Values bring purpose to Practices, Practices are evidence of Values, Practices bring accountability to Values.
Bridging the gap between Values and Practices are Principles. Principles are context specific guidelines.e.g. practice Pair Programmingvaluesprinciple driver-‐navigator principle dual thinking hats of constructing and preventing from breaking.
practice Companion Planting used in agriculturevalues principle Diversity is nature's design, cooperation is more apparent than competition in plants, crop stability tends to increase with increasing diversity.
Values, Practices and Principles : RelationshipInterpreting Value rather than Practice
as I would be held accountable and blamed unfairly like in the past.
I value Protection over Communication
to estimate.
Values, Practices and Principles : RelationshipFailure of Value rather than Practice
I am reluctant to learn from the defect.
I did not try to find root cause for the defect.I value Laziness over Learning and Self Improvement
Oops, a defect.Ignore it.
I will fix it when QA reports it.
Layers of the Agile Manifesto
Agree on the
Agree on 4
Barely agree on 12
Agree to disagree on detailed project specific
ground tactics and prescr iptive
Individuals and Interactions (amongst Individuals)Values
Value -‐ Individuals and Interactions
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
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.
(Retrospective)
Extrinsic and Intrinsic Motivation
My Survival Cycle Persona -‐ Others define My identityI am fearful and reactive.I react to and avoid obstacles. By doing this, I reinforce my old strategies for coping, conspiring, adapting, and assimilating when difficulties arise. (All fear-‐based responses) My purpose is not fulfilled and I feel disappointed. As a life-‐long habit, this approach is limiting, lacks purpose and meaning.
My Creative Cycle Persona -‐ I define My identityI am excited about possibilities to connect with my strengths, talents, and gifts.I look at obstacles as opportunities to observe, reflect, experiment and learn.My experiments align to my actions with purpose and potential.When I achieve the desired result, I feel fulfilled and celebrate my successes.
But, it is very difficult for me to be in Creative Cycle all the time. I tend to fall back to my Survival Cycle.
Tune the mind and conscience to be in the Creative Cycle (Intrinsic Motivation).
Natural vs. Coercive Self-‐OrganizingExamples of naturally self-‐organizing systems
homeostasis (the self-‐maintaining nature of systems from the cell to the whole organism)
pattern formation and morphogenesis, or how the living organism develops and grows.
the coordination of human movement the creation of structures by social animals, such as social insects (bees, ants,
termites), and many mammalsflocking behavior (such as the formation of flocks by birds, schools of fish, etc.)the origin of life itself from self-‐organizing chemical systems
Its in the genes !!!
How can we apply this principle into a practice to self-‐organize in agile context?Self-‐
Self-‐organization PracticesApprenticeship over Classroom Training
( Tacit Knowledge ) (Explicit Knowledge)
Collaboration over Document Handoff -‐ ( for Knowledge Management )
Argumentation over Passive Acceptance -‐ ( for Logical conclusions )
Constructive Conflict Mining over Artificial Harmony
Aggregating Team Intelligence over Intelligence of Individuals
Psychological distance solvent over Geographical distance solvent
Traditional Conduit Co-‐ordination
Geographical Distance Solvent
Business Requirements
Business RequirementsCustomer Development
Team
Onsite Coordinator
OffshoreManager / Lead
Business Requirements
Business RequirementsCustomer Development
Team
Onsite Facilitator
OffshoreFacilitator
Peer-‐To-‐Peer Co-‐ordination
Psychological Distance SolventTraditional Team Hierarchy (Crowns) to Cross-‐Functional Roles (Caps)
Project Manager
Tech Architect Test Architect
Tech Lead Data Architect
Designer
Developer
Business Analyst
Test Lead
Test Analyst
Automation Tester
Crowns
Creates and widens gap
Restricts knowledge sharing
Builds up power distance
Steep learning curve for increase in maturity
Team Leadership
System
Architecture
Business Analysis
Project Management
Application
Development
Build & Release
Management
Test
Automation
Test
Creation
Caps
Can be swapped depending on situations
Increase sense of collective ownership
Rotation of responsibilities
Open culture within the team
Problem -‐ Team Dysfunction Model-‐ Patrick Lencioni
Solution -‐ Team Leadership Model
Team Leadership is a condition of a teamreduction of uncertainty (Constructive Conflict Mining)
comes from clear messages (Argumentation before Commitment)
leads to focused actions that cannot easily be misinterpreted (Aggregating Team Intelligence for Collective Accountability)
developing channels for continuous feedback (Collaboration against Blame games)
uniform effort balance -‐ sustainable pace
having a very high fun factor
FollowersInitial guidance needed to come up to speedShow progress after some hand holdingNeed to be mentored to grow into volunteers
VolunteersSelf inspiredTake technology and process initiativesCome up with ideas that build the teamImplement innovative conceptsLift the team
MentorServant Leaderauthority used to serve the needs of othersgenuine compassion for his peopleknows the problems of the community as a wholefinds the solution to the problemhas the skill to carry out the solutiondevelop the next generation of leaders
Shu-‐Ha-‐Ri Pattern In Team Members
Leaders do
Help build confidence and expectations of followers Equip them and be their mentor.
Affirm / Affirm / Affirm your volunteersChallenge volunteers to stretch and grow
-‐ Robert Greenleaf, Servant Leadership
Leader Apprenticeship
Agile Developers Create Their Own Identity
CraftsmenCraftsperson
Are You Creative Or Just Surviving !!
My Creative Cycle Persona -‐ I define My identityI am excited about possibilities to connect with my strengths, talents, and gifts.I look at obstacles as opportunities to observe, reflect, experiment and learn.My experiments align to my actions with purpose and potential.When I achieve the desired result, I feel fulfilled and celebrate my successes.
My Survival Cycle Persona -‐ Others define My identityI am fearful and reactive.I react to and avoid obstacles. By doing this, I reinforce my old strategies for coping, conspiring, adapting, and assimilating when difficulties arise. (All fear-‐based responses) My purpose is not fulfilled and I feel disappointed. As a life-‐long habit, this approach is limiting, lacks purpose and meaning.
But, it is very difficult for me to be in Creative Cycle all the time. I tend to fall back to my Survival Cycle.
Tune the mind and conscience to be in the Creative Cycle.
do not have the necessary skills to execute the process; conversely, really good developers
-‐ Pete McBreen, Software Craftsmanship: The New Imperative
Developer to CraftspersonWhat is Software Craftsmanship?
Software Craftsmanship is aboutTaking responsibilityTaking pride in work
Being a continuous learnerPracticing deliberatelyWriting codeHaving the right attitude Contributing to the community
Developer to Craftsperson through ApprenticeshipHow should I become an expert in software craftsmanship?
Read and understand the concepts in the book on Apprenticeship Patterns -‐ David Hoover, Adewale Oshineye
Find a mentorStudy, Train and Practice
Performing Code KatasPerforming Coding DojosPerforming Acceptance-‐Test basedLearning TDDLearning programming paradigms
functional, dynamic, statically typed languagesRefactoring keep your code healthyLearning design patterns, tools and frameworksLearning emergent design, evolutionary design
Developer to CraftspersonHow will I know the learning levels in software craftsmanship?
Dreyfus Model of Skills Acquisition
Novice -‐ Needs to be told exactly what to do. No context to work from.
Advanced Beginner -‐ Has more context, but needs rigid guidelines
Competent -‐ Questions reasoning behind the tasks and can see consequences
Proficient -‐
Expert -‐ Works mainly on intuition, except when problems occur
Finding Your Own Identity is about Metamorphosis (Shu Ha Ri)From Developer (Crawling Caterpillar) to Craftsman Leader (Soaring Butterfly)
Novice AdvancedBeginner Competent
Proficient
Expert
Collaboration
Argumentation
Conflict Mining
Team Intelligence
PsychologicalDistanceSolvent
Apprenticeship
Creative Cycle
Continuous Learner
Deliberate Practice
Right Attitude
CommunityContributor
Follower Volunteer Mentor
Pride
Your Work)
ResponsibilityTo Follow Agile To Be agile
Thank youwww.stixis.com
References
Slide 24 Corey Haines, Cory Foy, Gøran Hansen
Slide 25 Giordano Scalzo
Slide 26 Cory Foy
InterpretedSynthesized From
top related