Getting Agile with Drupal
Johnnie@promethost.com
Twitter: @johnniefoxi
About Promet
•Founded in 2003
•In 2008, switched focus to open source software and
Drupal
•Team member locations in the US
• Chicago
• Texas
• Philippines
• Europe
• Mexico
• Tennessee
• Ohio
• Chicago
• Wisconsin
• California
• Mississippi
• New York
• Rhode Island
About Me
Project Strategist
Certified Scrum Master
Drupal/Custom Development/IOS/C#/PHP
Projects exceeding 10,000 hours
Project Strategist
Recovering Developer
husband • geek
• photographer
• traveler •
motorcyclist •
kayaker •
traveler•entrepr
eneur •
Lies about Agile
• It is a silver bullet that fixes all problems
• Agile is the right approach for all projects
• One Agile framework is good for all the projects you do.
• Agile will stop you from making bad decisions
• Agile will immediately show results
• All clients love Agile
• Your love life will improve if you adopt agile.
Business Process
Project Models
Waterfall
http://leadinganswers.typepad.com/leading_answers/files/origina
l_waterfall_paper_winston_royce.pdf
History of Waterfall
•The first formal description of the waterfall model
is often cited as a 1970 article by Winston W.
Royce, though Royce did not use the term
"waterfall" in this article.
•Royce presented this model as an example of a
flawed, non-working model.
Waterfall model -Wikipedia, the free encyclopedia :
taken from -
http://en.wikipedia.org/wiki/Waterfall_modelAuthor
But Wait… There’s more!
•“I believe in this concept, but the implementation
described above is risky and invites failure.‖
•―The development process has returned to the
origin and one can expect up to a 100-percent
overrun in schedule‖
1970. Royce, Winston (1970), "Managing the
Development of Large Software Systems",
Proceedings of IEEE WESCON 26 (August): 1–9.
Agile Is
• Agile software development is a group of software development
methods based on iterative and incremental development, where
requirements and solutions evolve through collaboration between
self-organizing, cross-functional teams.
• It promotes adaptive planning, evolutionary development and delivery,
a time-boxed iterative approach, and encourages rapid and flexible
response to change. It is a conceptual framework that promotes
foreseen interactions throughout the development cycle.
Agile software development - Wikipedia, the free
encyclopedia : taken from -
http://en.wikipedia.org/wiki/Agile_software_develop
ment
Agile Paradigm Shift
http://www.sterlinghoffman.com/newsletter/articl
es/article482.html
Alphabet Soup
• Agile Modeling
• Agile Unified Process (AUP)
• Dynamic Systems Development Method (DSDM)
• Essential Unified Process (EssUP)
• Exia Process (ExP)
• Extreme Programming (XP)
• Feature Driven Development (FDD)
• Kanban (development) *there is some argument about this one
• Scrum
• Velocity tracking
How to “be” agile
• Possession of a certification alone, will not make your
team agile
Agility
• In general, agility is defined as "the
ability of a [system] to rapidly respond to
change by adapting its initial stable
configuration‖
• agility or nimbleness is the ability to
change the body's position efficiently,
and requires the integration of isolated
movement skills using a combination of
balance, coordination, speed, reflexes,
strength, and endurance
Agility - Wikipedia, the free encyclopedia : taken from -
http://en.wikipedia.org/wiki/Agility
http://creativecommons.org/licenses/by-sa/3.0/
taken from -
http://farm9.staticflickr.com/8440/7766491880_f019084b3
2_n.jpg Author: http://creativecommons.org/licenses/by-
nc-nd/2.0/deed.en
The Agile Manifesto
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
We are uncovering better ways of developing software by doing it and
helping others do it. Through this work we have come to value:
Agile software development - Wikipedia, the free encyclopedia : taken from -
http://en.wikipedia.org/wiki/Agile_Manifesto#Agile_Manifestohttp://creativecommons.org/license
s/by-sa/3.0/
That is, while there is value in the items on the right, we value the
items on the left more.
Agile Principles
1. Customer satisfaction by rapid delivery of useful software
2. Welcome changing requirements, even late in development
3. Working software is delivered frequently (weeks rather than months)
4. Working software is the principal measure of progress
5. Sustainable development, able to maintain a constant pace
6. Close, daily cooperation between business people and developers
7. Face-to-face conversation is the best form of communication (co-location)
8. Projects are built around motivated individuals, who should be trusted
9. Continuous attention to technical excellence and good design
10. Simplicity—the art of maximizing the amount of work not done—is
essential
11. Self-organizing teams
12. Regular adaptation to changing circumstances
Strategic agility
taken from -
http://www.flickr.com/photos/coneee/2465075949//Author:
http://www.flickr.com/photos/coneee/
http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en
taken from -
http://www.flickr.com/photos/coneee/2465075949//Author:
http://www.flickr.com/photos/coneee/
http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en
Strategic Agility
• Technical
• GIT
• Features
• Vagrant
• Chef
• Github
• Hosting
• Fewer modules
• Continuous integration
• Automated Testing
Strategic Agility
• Operations
• Sales
• Contracts
• Communications
• Project Management system
• Customer involvement
• Project plans (not straight jackets)
• Process
• Teamwork
Tactical Agility
• Scrum ceremonies
• Daily Scrum meetings
• Sprints
• Planning
• Retrospectives
• Backlog
Scrum
• The word "scrummage" is a
modification of "scrimmage"
(the form of the word
previously used in rugby
and still used
in American and Canadian
football), which in turn
derives from or is a reflex of
"skirmish". :
Scrum (rugby) - Wikipedia, the free
encyclopedia : taken from -
http://en.wikipedia.org/wiki/Scrum_(rugby)Au
thor
Scrum Framework
Scrum Principles
• Focus - Because we focus on only a few things at a time, we work well
together and produce excellent work. We deliver valuable items sooner.
• Courage -Because we are not alone, we feel supported and have more
resources at our disposal. This gives us the courage to undertake greater
challenges.
• Openness - As we work together, we practice expressing how we're doing
and what's in our way. We learn that it is good to express concerns so that
they can be addressed.
• Commitment - Because we have great control over our own destiny, we
become more committed to success.
• Respect - As we work together, sharing successes and failures, we come
to respect each other and to help each other become worthy of respect.
Scrum/Agile Roles
Backlog
• Conceptually, the Backlog is very simple; it is merely a list of
Items that ―represents everything that anyone interested in the
product or process has thought is needed or would be a good
idea...‖
• The Backlog is used both to prioritize the work, and to enable
understanding of the work being done.
Rawsthorne, Dan; Shimp, Doug (2011-06-29). Exploring Scrum:
the Fundamentals: People, Product, and Practices (Kindle
Locations 1882-1884). . Kindle Edition.
Daily Scrum
• Daily Scrum
• Stand up is no more than
15 minutes
• 3 Questions
• What did I/you do
yesterday
• What are you doing today
• What are my roadblocks
http://thedailystandup.com/
Sprints
• Sprints are 1 – 2 Weeks
• Product owner attends Sprints
• Past Sprint retrospective
• Next sprint goals
Drupal Challenges
• Project Size
• Dedicated resources
• Separation of project skillsets
• Front end
• Developer
• Theming
• Dev-ops
• Infrastructure
The Co-location challenge
• Co-location
• Communication
• Coffee machine Conversations
• Shoulder tap
• Non Verbal queues
• Team building events
• Team meetings
• Whiteboards
Multinational challenges
• Time differential
• Good written communication
• Project management system
• Time must overlap
• Language barriers
• Phone call
Top Learning
• 10. Simplicity--the art of maximizing the amount of work not
done--is essential.
• Avoid Complexity
• Offload complexity– Acquia/ Pantheon / Github /
• Automate complex tasks
• Vagrant
Top 10 ways you know your team isn’t agile
1. There is no product backlog
2. Lots of up front Requirements
3. No team input
4. The project is fixed bid
5. No daily stand ups
6. No retrospectives
7. The customer isn’t involved
8. Developers not involved in determining who works on project
9. No sprints
10. No telling it like it is
For Further study
Exploring Scrum: The Fundamentals. Dan Rawsthorne
Succeeding with Agile: Software Development with Scrum by Cohn
Extreme Programming by Kent Beck
Questions?
www.prometsource.com
johnnie@promethost.com
Twitter: @johnniefox
@PROMETSOURCE

Getting agile with drupal

  • 1.
    Getting Agile withDrupal Johnnie@promethost.com Twitter: @johnniefoxi
  • 2.
    About Promet •Founded in2003 •In 2008, switched focus to open source software and Drupal •Team member locations in the US • Chicago • Texas • Philippines • Europe • Mexico • Tennessee • Ohio • Chicago • Wisconsin • California • Mississippi • New York • Rhode Island
  • 3.
    About Me Project Strategist CertifiedScrum Master Drupal/Custom Development/IOS/C#/PHP Projects exceeding 10,000 hours Project Strategist Recovering Developer husband • geek • photographer • traveler • motorcyclist • kayaker • traveler•entrepr eneur •
  • 4.
    Lies about Agile •It is a silver bullet that fixes all problems • Agile is the right approach for all projects • One Agile framework is good for all the projects you do. • Agile will stop you from making bad decisions • Agile will immediately show results • All clients love Agile • Your love life will improve if you adopt agile.
  • 5.
  • 6.
  • 7.
  • 8.
    History of Waterfall •Thefirst formal description of the waterfall model is often cited as a 1970 article by Winston W. Royce, though Royce did not use the term "waterfall" in this article. •Royce presented this model as an example of a flawed, non-working model. Waterfall model -Wikipedia, the free encyclopedia : taken from - http://en.wikipedia.org/wiki/Waterfall_modelAuthor
  • 9.
    But Wait… There’smore! •“I believe in this concept, but the implementation described above is risky and invites failure.‖ •―The development process has returned to the origin and one can expect up to a 100-percent overrun in schedule‖ 1970. Royce, Winston (1970), "Managing the Development of Large Software Systems", Proceedings of IEEE WESCON 26 (August): 1–9.
  • 10.
    Agile Is • Agilesoftware development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. • It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. Agile software development - Wikipedia, the free encyclopedia : taken from - http://en.wikipedia.org/wiki/Agile_software_develop ment
  • 11.
  • 12.
    Alphabet Soup • AgileModeling • Agile Unified Process (AUP) • Dynamic Systems Development Method (DSDM) • Essential Unified Process (EssUP) • Exia Process (ExP) • Extreme Programming (XP) • Feature Driven Development (FDD) • Kanban (development) *there is some argument about this one • Scrum • Velocity tracking
  • 13.
    How to “be”agile • Possession of a certification alone, will not make your team agile
  • 14.
    Agility • In general,agility is defined as "the ability of a [system] to rapidly respond to change by adapting its initial stable configuration‖ • agility or nimbleness is the ability to change the body's position efficiently, and requires the integration of isolated movement skills using a combination of balance, coordination, speed, reflexes, strength, and endurance Agility - Wikipedia, the free encyclopedia : taken from - http://en.wikipedia.org/wiki/Agility http://creativecommons.org/licenses/by-sa/3.0/ taken from - http://farm9.staticflickr.com/8440/7766491880_f019084b3 2_n.jpg Author: http://creativecommons.org/licenses/by- nc-nd/2.0/deed.en
  • 15.
    The Agile Manifesto •Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Agile software development - Wikipedia, the free encyclopedia : taken from - http://en.wikipedia.org/wiki/Agile_Manifesto#Agile_Manifestohttp://creativecommons.org/license s/by-sa/3.0/ That is, while there is value in the items on the right, we value the items on the left more.
  • 16.
    Agile Principles 1. Customersatisfaction by rapid delivery of useful software 2. Welcome changing requirements, even late in development 3. Working software is delivered frequently (weeks rather than months) 4. Working software is the principal measure of progress 5. Sustainable development, able to maintain a constant pace 6. Close, daily cooperation between business people and developers 7. Face-to-face conversation is the best form of communication (co-location) 8. Projects are built around motivated individuals, who should be trusted 9. Continuous attention to technical excellence and good design 10. Simplicity—the art of maximizing the amount of work not done—is essential 11. Self-organizing teams 12. Regular adaptation to changing circumstances
  • 17.
    Strategic agility taken from- http://www.flickr.com/photos/coneee/2465075949//Author: http://www.flickr.com/photos/coneee/ http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en taken from - http://www.flickr.com/photos/coneee/2465075949//Author: http://www.flickr.com/photos/coneee/ http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en
  • 18.
    Strategic Agility • Technical •GIT • Features • Vagrant • Chef • Github • Hosting • Fewer modules • Continuous integration • Automated Testing
  • 19.
    Strategic Agility • Operations •Sales • Contracts • Communications • Project Management system • Customer involvement • Project plans (not straight jackets) • Process • Teamwork
  • 20.
    Tactical Agility • Scrumceremonies • Daily Scrum meetings • Sprints • Planning • Retrospectives • Backlog
  • 21.
    Scrum • The word"scrummage" is a modification of "scrimmage" (the form of the word previously used in rugby and still used in American and Canadian football), which in turn derives from or is a reflex of "skirmish". : Scrum (rugby) - Wikipedia, the free encyclopedia : taken from - http://en.wikipedia.org/wiki/Scrum_(rugby)Au thor
  • 22.
  • 23.
    Scrum Principles • Focus- Because we focus on only a few things at a time, we work well together and produce excellent work. We deliver valuable items sooner. • Courage -Because we are not alone, we feel supported and have more resources at our disposal. This gives us the courage to undertake greater challenges. • Openness - As we work together, we practice expressing how we're doing and what's in our way. We learn that it is good to express concerns so that they can be addressed. • Commitment - Because we have great control over our own destiny, we become more committed to success. • Respect - As we work together, sharing successes and failures, we come to respect each other and to help each other become worthy of respect.
  • 24.
  • 25.
    Backlog • Conceptually, theBacklog is very simple; it is merely a list of Items that ―represents everything that anyone interested in the product or process has thought is needed or would be a good idea...‖ • The Backlog is used both to prioritize the work, and to enable understanding of the work being done. Rawsthorne, Dan; Shimp, Doug (2011-06-29). Exploring Scrum: the Fundamentals: People, Product, and Practices (Kindle Locations 1882-1884). . Kindle Edition.
  • 26.
    Daily Scrum • DailyScrum • Stand up is no more than 15 minutes • 3 Questions • What did I/you do yesterday • What are you doing today • What are my roadblocks http://thedailystandup.com/
  • 27.
    Sprints • Sprints are1 – 2 Weeks • Product owner attends Sprints • Past Sprint retrospective • Next sprint goals
  • 28.
    Drupal Challenges • ProjectSize • Dedicated resources • Separation of project skillsets • Front end • Developer • Theming • Dev-ops • Infrastructure
  • 29.
    The Co-location challenge •Co-location • Communication • Coffee machine Conversations • Shoulder tap • Non Verbal queues • Team building events • Team meetings • Whiteboards
  • 30.
    Multinational challenges • Timedifferential • Good written communication • Project management system • Time must overlap • Language barriers • Phone call
  • 31.
    Top Learning • 10.Simplicity--the art of maximizing the amount of work not done--is essential. • Avoid Complexity • Offload complexity– Acquia/ Pantheon / Github / • Automate complex tasks • Vagrant
  • 32.
    Top 10 waysyou know your team isn’t agile 1. There is no product backlog 2. Lots of up front Requirements 3. No team input 4. The project is fixed bid 5. No daily stand ups 6. No retrospectives 7. The customer isn’t involved 8. Developers not involved in determining who works on project 9. No sprints 10. No telling it like it is
  • 33.
    For Further study ExploringScrum: The Fundamentals. Dan Rawsthorne Succeeding with Agile: Software Development with Scrum by Cohn Extreme Programming by Kent Beck
  • 34.

Editor's Notes

  • #3 Agile isn’t certifications. Agile is doing