Problems, problems. In the software community we think of ourselves, even define ourselves, as problem solvers But only for certain types of problem
People problems? We dismiss people problems:“politics” “personality clash” “management” Identify it. Dismiss it.
So what?People... Commission, Design, Plan, Build, Install, Operate, Fix, Support, Choose, Buy, Sell, Use, Manage and Pay For...Software.But apart from that, they are irrelevant to it.
The right tools for the job Technology People✓Abstraction ✓Simplification✓Logic ✓Intuition✓Decompositio ✓Holism n
The trouble is...Our preference for Over these these tools✓Abstractio n ✓ Simplification ✓ Intuition✓Logic ✓ Holism✓Decomp’
For examplew does this work?wo parrots are sitting on a perch. One says to the other “Can you smell fish?”straction Holisgic Intuiti
Reductionism (it’s a problem) I.T. suffers from reductionismWe have all seen the damage this does to I.T. departments • Analyse, categorise, group, standardise, commodatise • Leads to siloed roles, hand-offs, lack of feedback, process over people, contracts over collaboration, etc. So why are we doing it to Agile?
We’re forgetting what made Agile work Keep the big picture in mind Iteration, not incrementalism Whole team. Collective code ownershipOrganise for the most important thing - people on the proje Simplification rather than decomposition It is taking us in the wrong direction
For example: storiesDe-humanised Human friendly
Another example: iterations De-humanised Human friendly Only ever a few days from much work to comprehend finishedation’ ends ignored Manageable work loaddom feel done Genuine want to ‘go for it’ at
Other examples Reductionist, de- Simple, Intuitive, humanised Holisticr more elaborate estimationniques Experience based estimatiarisome stand-ups Human friendly office behaviouri-week “refactorings” toch to an uber-design Refactoring: tidy-up as youplethora of tooling Simple tools, e.g. cards
Glimmers of hope?oQ mailer: July 27th• Social data as graphs of objects• Database migration at Netflix• Craft and engineering in the development process• Type checking in dynamic languages• New book: Individuals and interactions: An Agile Guide• Comparison of automation tooling• Example of Oozie workflow server• Tools for reverse engineering in .NET and Java
Glimmers of hope?ew book: Individuals and interactions: An Agileuide The authors present a set of tools and techniques...”The book places a lot of emphasis on knowing yourself, and understanding hownteract with others.” It presents the DISC framework for self- and team-discovery”How does the DISC framework compare to other psychometric tools, such asMyers-Briggs Type Indicator? If someone knows their MBTI profile how does it mo the DISC framework you present?” Our experience is that the majority of the really difficult problems that projects (aeven companies) face are not technology related but rather associated in some w o problems with team dynamics, organizational behavior or communication issueDISC is not the end all-be-all. But it is one component in helping team membersalong, understand one another, and modify communication styles to maximize
We have seen this beforeReductionism made Waterfall ludicrous The tendencies are still thereAgile started with a clean slate, but it’s starting to look messy It’s not the methodology - It’s us
And my point is? Agile was successful because it was people friendly, and people are critical to software development. It gave those of us who are not naturally good at ‘people friendly’ stuff, a people friendly process. Agile won’t progress unless we remember this It needs to progress because it does not always work Emphasis on tools is misplaced. It is of secondary importancePeople are of primary importance. They make the differenc