Skip to content

Instantly share code, notes, and snippets.

@rachellawson
Last active December 14, 2015 04:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rachellawson/5029811 to your computer and use it in GitHub Desktop.
Save rachellawson/5029811 to your computer and use it in GitHub Desktop.
My Agile talk at DrupalCampLondon... yes, I really am going to talk without slides, if I don't chicken out...

#Agile Project Management: It’s not the what, it’s the why...

##Introduction Rachel Lawson, director at Open Development Limited previously working as Software Engineer etc at Napp Pharmaceuticals Worked in an Agile but highly regulated environment for 13 years

##Why this talk? Hear many people talking about some of the tools of Agile but little about the principles and the values of Agile For me, they are the big deal!

##What do I think Agile looks like? Agile is something we all do every single day We plan our every day activities in an Agile style - even how we got to this event. {{example of getting to event}} Agile Methodologies are how we take our internal Agile methods and agree between the team how we will apply them together such that there are no surprises.

##Agile history The Agile Manifesto

###Agile 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

"over" does not mean "instead of"!

##Apply some Principles (here's eight): Borrowed straight from DSDM Atern, an Agile methodology...

###1. Focus on the business need The main criteria for acceptance of a "deliverable" is delivering a system that addresses the current business needs. Delivering a perfect system which addresses all possible business needs is less important than focusing on critical functionalities.

  • Understand the true business priorities
  • Seek continuous business sponsorship and commitment
  • Guarantee the Minimum Usable Subset of features. MoSCoW

###2. Deliver on time

  • Timebox the work - that's sprints to most of us...
    • Timeboxes limit the amount of wasteage
  • Focus on business priorities
  • Always meet deadlines

###3. Collaborate User involvement is the main key in running an efficient and effective project, where both users and developers share a workplace (either physical or via tools), so that the decisions can be made collaboratively and quickly. Involve the right stakeholders, at the right time, throughout the project Ensure that the members of the team are empowered to take decisions on behalf of those they represent without waiting for higher-level approval.

  • Actively involve the business representatives
  • Give appropriate empowerment to team members
  • Build one-team culture

###4. Never compromise quality

  • Set the level of quality at the outset
  • Ensure that quality does not become a variable
  • Design, document and test appropriately
  • Build in quality by constant review
  • Test early and continuously. See test-driven development for comparison.

###5. Build incrementally from firm foundations

  • Strive for early delivery of business benefit where possible
  • Continually confirm the correct solution is being built
  • Formally re-assess priorities and ongoing project viability with each delivered increment

###6. Develop iteratively A focus on frequent delivery of products, with assumption that to deliver something "good enough" earlier is always better than to deliver everything "perfectly" in the end. By delivering product frequently from an early stage of the project, the product can be tested and reviewed where the test record and review document can be taken into account at the next iteration or phase.

  • Do enough design up front to create strong foundations
  • Take an iterative approach to building all products
  • Build customer feedback into each iteration to converge on an effective business solution
  • Accept that most detail emerges later rather than sooner
  • Embrace change – the right solution will not evolve without it
  • Be creative, experiment, learn, evolve

###7. Communicate continuously and clearly

Communication and cooperation among all project stakeholders is required to be efficient and effective.

  • Run daily team stand-up sessions
  • Use facilitated workshops
  • Use rich communication techniques such as modelling and prototyping
  • Present iterations of the evolving solution early and often
  • Keep documentation lean and timely
  • Manage stakeholder expectations throughout the project
  • Encourage informal, face to face communication at all levels

###8. Demonstrate control

  • Use an appropriate level of formality for tracking and reporting
  • Make plans and progress visible to all -- information radiators
  • Measure progress through focus on delivery of products rather than completed activities
  • Manage proactively
  • Evaluate continuing project viability based on the business objectives

##Don't "Sell" Agile, "Be" Agile Always keep looking back at the values above and asking whether your processes are delivering this, and remember each client and project is different. Maybe you need to adapt your process to fit? But - do remember the reason for having a methodology is to make sure everyone knows how each other is working - communicate!

##Some links that might be of interest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment