Scrum – Hirotaka Takeuchi and IkujiroNonakaDSDM – Dynamic Systems Development MethodMoSCoW requirement prioritisation – Must have, Should have, Could have, Won’t haveFully compatible with ISO 9000 & PRINCE2
Servant Leadership - Robert K. Greenleaf 1970
In scrum although backlog grooming is not an official meeting most teams work with thee ScrumMaster & Product owner to ensure the stories are ready to be worked on
Values:Simplicity, Communication, Feedback, Respect, CouragePrinciples: Humanity, Economics, Mutual Benefit, Self-Similarity, Improvement, Diversity, Reflection, Flow, Opportunity Redundancy, Failure, Quality, Baby steps, Accepted responsibilityPractices: Primary - Sit together, Whole Team, Informative Worksapce, Energized Work, Pair Programming, Stories, Weekly cycle, Quarterly Cycle, Slack, Ten Minute Build, Continuous Integration, Test First Programming, Incremental DesignCorollary - Real Customer Involvement, Increment Deployment, Team Continuity, Shrinking Teams, Root Cause Analysis, Shared Code, Code And Tests, Single Code base, Daily Deployment, Negotiated Scope Contract, Pay Per Use
Flow – important to ensure that the work flows through the systemCadence – the time it takes to performPolicies – govern behaviour, how the system works. Limit WIP best example of a policyClasses of Service – typically based on business impact, implemented through policies, will effect work done by the team
Partially Done Work – work not completedExtra Processes – needless paperworkExtra Features – adding features in ‘just in case’ which aren’t really neededTask Switching – switching between different projectsWaiting – delays in staffing, delays in starting, delays due to excessive documentationMotion – how much motion to answer a question? Linked to Task Switching & WaitingDefects – the longer it takes to discover a bug the more it costsManagement Activities – project management activities, authorization processes for approval of requirement changes, etc
Perceived Integrity – how a customer perceives the system. A good example is GoogleConceptual Integrity – the same concept, from a users perspective, is executed consistently e.g. Airline bookingRefactoring – process can’t be perfect 1st time. Refactor to improve as knowledge improvesTesting – Unit tests, integration tests, load tests, etc
Identifies that knowledge of what we are doing is important and that we need to actively look to create this knowledge to help the teamFeedback – feedback loops help create knowledge e.g. Unit testingSharing knowledge – pair programming, code reviewsRecording knowledge – wiki, code comments, documentation
Concurrent development – develop separate streams until you have to decideOptions thinking – Responding to change rather than following a plan, don’t freeze “requirements”Last responsible moment – don’t make a decision over what to do until the last momentMaking decisions – actually make a decision over what option to take, don’t allow concurrent streams forever
Pull Systems – customers prioritise what they want so they get most important thing firstQueuing theory – ensure steady rate of arrival, include slack, Theory of constraintsCost of Delay – cost of developer not having tools to speed dev, cost of not getting to market
Engage, collaboration, trust and respect the people doing the work. E.g. Managers that do not know how the work is done shouldn’t try to tell people how they should do their workLean is not about controlling people, it is about engaged motivated people helping a business grow
Systems thinking – look at entire systemMeasure value – focus on how the business delivers value, use Value Stream Mapping to helpThink long term – don’t focus on the now (although important) look at where you the business is going/needs to be
Utilise WIP limits to highlight impediments/bottlenecksStill use iterations to provide “container” for deployable softwareStill generalist skillset i.e. Anybody can pick up any task
Recommended booksPoppendicks : Lean Software Development – An agile toolkit, Implementing Lean Software Development. David Anderson : Kanban – Sucessfulevolutionary change for your Technology business
Running Lean (www.runningleanhq.com) – great free book on lean startup“Offical” book from Eric Ries coming out soon.
Not comparing like for like.Be sure to differentiate Business Methodology with a workflow methodology AAARS =Acquisition – user comes to site from various channelsActivation – users enjoy 1st visitRetention – users come backReferral – users like you enough to refer othersRevenue – users conduct some monetized behaviour
Transcript of "You think you know agile"
You think you know agile?<br />The where, what and how of agile<br />firstname.lastname@example.org<br />Design Code Release<br />nathangloyn<br />@NathanGloyn<br />
Roots...<br />When agile was born…<br />Heavy weight project management processes<br />Misunderstood requirements<br />Missed deadlines or death march projects<br />Inability to change requirements<br />Applications with lots of defects<br />Increases the cost<br />
Roots...<br />Agile Manifesto<br />Individuals and interactions over processes and tools <br />Working software over comprehensive documentation <br />Customer collaboration over contract negotiation <br />Responding to change over following a plan<br />That is, while there is value in the items on the right, we value the items on the left more.<br />
Roots...<br />Agile Manifesto – 12 Principles<br />Customer satisfaction by rapid delivery of useful software<br />Welcome changing requirements, even late in development<br />Working software is delivered frequently (weeks rather than months)<br />
Roots...<br />Agile Manifesto – 12 Principles<br />Working software is the principal measure of progress<br />Sustainable development, able to maintain a constant pace<br />Close, daily co-operation between business people and developers<br />
Roots...<br />Agile Manifesto – 12 Principles<br />Face-to-face conversation is the best form of communication (co-location)<br />Projects are built around motivated individuals, who should be trusted<br />Continuous attention to technical excellence and good design<br />
Team<br />The team is:<br />Critical to success<br />Not a bunch of individuals<br />No Hero’s<br />Not dependent on any member<br />Empowered<br />Trusted<br />
Team<br />Who is in the team?<br />Team Member<br />Product Owner<br />Customer<br />
Team<br />Who is a Team Member?<br />Developer<br />Tester<br />Business Analyst<br />Team Lead<br />Architect<br />Product Owner<br />
Team<br />Do we need a product owner?<br />Focus on what to deliver<br />Customer Proxy<br />Product Manager<br />Project Manager not a good fit<br />Not good idea to be a team lead or manager<br />
Team<br />Where does a Scrum Master/Coach fit in?<br />Guardian of the teams process<br />Servant/Leader<br />Helps foster the idea of “team”<br />Should never be a team lead or manager<br />Focused on helping team deliver<br />
Team<br />Do we need a project manager?<br />Generally no<br />Responsibilities distributed<br />Product owner<br />Coach/Scrum Master<br />Some projects have to be waterfall<br />
Lean<br />What is Lean?<br />From manufacturing<br />Toyota Production System (TPS)<br />Just In Time (JIT) production<br />Kanban card<br />Kaizen<br />Poppendicks<br />Lean Software Development: An Agile Toolkit (2003)<br />David J Anderson<br />Kanban - Successful Evolutionary Change for your Technology Business<br />
Summary<br />Lots of ideas<br />Pull in what works<br />Throw away what doesn’t<br />Create your own process<br />Stay true to principles<br />email@example.com<br />Design Code Release<br />nathangloyn<br />@NathanGloyn<br />
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.