SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Agile:


What’s in it for me?
   CodeStock 2009
Adrian Carr
•Software Developer for 10 years

•Currently work for Jewelry Television in Knoxville

•Worked for Fidelity Information Systems in Atlanta

•Worked for Alltel Information Systems in Atlanta

•Worked for a large non-profit in Boone, NC

•Founder and Organizer of Knoxville Agile Practitioner’s
Group (http://agileknoxville.com)
Disclaimer

• Be skeptical, but open minded.

• This is how I develop software. Take the parts
      that make sense to you. Ignore the rest.
  –     Ron Jeffries




• If you currently have a high rate of success on
      your projects, then this may not be the best
      thing for you.
What Agile is Not Supposed to Be
Some Agile Myths

• No documentation

• Cowboy coding

• No up-front design

• Agile is a silver bullet.
What is Agile Software
    Development?
•project management process that encourages
frequent inspection and adaptation,

•a leadership philosophy that encourages
teamwork, self-organization and accountability,

•a set of engineering best practices that allow
for rapid delivery of high-quality software,

•a business approach that aligns development
with customer needs and company goals
 http://en.wikipedia.org/wiki/Agile_software_development
Agile Practices
• Scrum-
  – Small, self-organizing, cross-functional teams
  – Defined roles within a team.
  – Defined rules, based on project management.
  – Work in short iterations, or “sprints”
  – Demo progress at the end of every iteration.
  – Re-plan for the next iteration, always doing
    the highest value things first.
Agile Methodologies

• XP
  –   Very disciplined.
  –   Onsite customer
  –   Pair programming
  –   Unit testing
  –   Refactoring
  –   Frequent delivery
  –   Continuous integration
  –   Test-Driven Development
  –   Simplicity
The Agile Manifesto
           We are uncovering better ways of developing
           software by doing it and helping others do it.
            Through this work we have come to value:

•Individuals and interactions over processes and tools
•Working software over comprehensive documentation
•Customer collaboration over contract negotiation
•Responding to change over following a plan


       That is, while there is value in the items on
     the right, we value the items on the left more.
Traditional Projects




http://www.total-quality-management-software.com/gantt-chart-examples.asp
Traditional Projects:




http://www.projectcartoon.com
http://www.projectcartoon.com
http://www.projectcartoon.com
IT has an Image Problem
• Typically, we’re seen as a roadblock.
   When we do succeed, we're viewed as
   too slow, too expensive, or delivering
   poor quality.
What’s in it for Me?
I Own or Run This Business-
           What’s in it for Me?

• What is the #1 killer of projects?
    – Answer: Time
• In traditional projects, we often run out of time
    and something has to go. What is it?
•   Quality, documentation, testing.
•   In agile projects, testing and quality is a part of
    every iteration. What get cut is features, and
    that’s not necessarily a bad thing.
I Own or Run This Business-
          What’s in it for Me?
• ROI
• There's a reason why you're paying these
  expensive people to do this work for you.
  –   You want your stuff.
  –   You want it as soon as possible.
  –   You'd rather not pay more for it than you have to.
• Or, since you’re going to have to pay for it, you
  at least want to get the most for your money.
  – A team of 8 -10 people costs about a million dollars a
    year.
I Own or Run This Business-
         What’s in it for Me?

• Traditional Projects and the Cost of Change
  – Feature bloat. You’re paying for unused or rarely
    used features.
• Idea> Analysis> Development> Testing>
  Deployment> Return on Investment
  – Most of the costs are in the Analysis, Development,
    and Testing.
• Reduced time to market.
  – Agile teams will do the most important things first,
    and deploy them in production as soon as possible.
I Own or Run This Business-
        What’s in it for Me?

• Reduced risk. You get to assess it and
 decide on it every few weeks.
  – If you want to stop, you can.


• Changes after deployment: Agile teams
 can respond more quickly, assuming they
 have unit tests and quality code.
I Own or Run This Business-
        What’s in it for Me?
• Everything is just fine…..




    http://cargolaw.com/2007nightmare_ital.florida.html
I Own or Run This Business-
        What’s in it for Me?
• Reality always wins in the end, so get
 there sooner.




    http://cargolaw.com/2007nightmare_ital.florida.html
I Own or Run This Business-
        What’s in it for Me?
• What if the project is doomed to fail?
  – If you are going to fail, do it fast.




http://www.cargolaw.com/2007nightmare_msc.napoli.html
I’m a Project Manager-
         What’s in it for Me?
• Project Manager’s job is to create a
   schedule, monitor progress, control the
   risks, and keep people informed.
  •   This is very difficult to do. Especially when
      people are afraid to tell the truth.
• How does a project get to be a year
   behind schedule?
  – Answer: One day at a time.
I’m a Project Manager-
           What’s in it for Me?
• You can have people get started earlier.
  – Typically, you don't give the green light for
    developers to actually get started developing
    anything until we know all the requirements. With
    Agile, you don't assume that you ever know all the
    requirements until you are done. You do need to
    know enough to get started, but you don't need the
    entire picture in detail.
  – When you don’t know enough about a project, you
    may want to go ahead and get started. Have very
    short sprints and get feedback early and often.
I’m a Project Manager-
        What’s in it for Me?
• Instead of managing risk with lots of
   documents and contracts that create an
   "us vs. them" environment, you manage
   risk with real, working software, and
   contracts that encourage collaboration
   between different parties.
Typical Scrum Team Board




 Transparency is more evident.
Multi-Team Project Board




Big, Visible Charts
I’m a Project Manager-
         What’s in it for Me?
• The culture of transparency makes it
 easier for you to provide visibility and a
 more realistic status up the chain.

• Unknowns should be known much earlier
 in the process.
I’m a Project Manager-
          What’s in it for Me?
• Managing Risk:
  – There are known knowns. These are things we know
    that we know. There are known unknowns. That is to
    say, there are things that we know we don't know.
    But there are also unknown unknowns. There are
    things we don't know we don't know.
    -Donald Rumsfeld
• When problems pop up early, we have lots
 of options. When problems pop up at the end
 of a project, our options are very limited; work
 more, cut quality, etc.
I’m a Tester-
          What’s in it for Me?
• How is QA viewed today on most
 traditional projects?
  – Often viewed as a roadblock, or second class
    citizen.
  – If bugs get into production, who gets the
    blame?
  – Are you ever told "Don't talk to the developers
    while they are working. They are too busy,
    and I don't want you to waste their time." ?
I’m a Tester-
          What’s in it for Me?
• Agile teams elevate the role of testing.

• Quality becomes essential when teams are
 repeatedly deploying software.

• You will be working on a close-knit team.
I’m a Tester-
              What’s in it for Me?
• Inspection to find defects is waste. Inspection to
  prevent defects is essential.
• A quality process builds quality into the product.
  If you routinely find defects during verification,
  your process is defective.
• If you have test and fix cycles, you are testing
  too late. This is churn, and wasteful.
Move QA people from end of process to beginning
  and middle of process. Find defects as soon as
  they are created.
   http://www.poppendieck.com/
I’m a Developer-
               What’s in it for Me?
• ROI
   – Developers often don't think about ROI. They view this as a
     business term, and often don't care. Well, here's a revelation:
     Your salary is calculated as ROI. You, your benefits, your
     computer, are all calculated as ROI. You are being paid to do
     something. The people paying you want a return on their
     investment. The better investment you provide, the better you
     will be viewed.
• A better way of working. Support vs. control.
   – Imagine a work situation where your manager says “What can I
     do to help you?”, instead of saying “do this, now do that, and do
     it this way.”

• Trust vs. micromanagement
   – The team decides the best way to reach the goals put forth in
     front of them.
I’m a Developer-
          What’s in it for Me?
• You will be working on a
  close-knit team.
• Can get more done
  together than you can
  separately.
• Collaboration, support
  system.
I’m a Developer-
         What’s in it for Me?
• Increased communication.
• Everyone on the team is working toward
  the same goals.
• Laughing.
• Sense of community.
• Sense of ownership.
I’m a Developer-
          What’s in it for Me?
• You should gain skills you didn’t have
  before.
• Less useless documentation.
• Those obstacles that you tolerate now?
  They should become more obvious, and
  some of them will go away if your
  management is doing their job.
I’m a Developer-
         What’s in it for Me?
• Freedom to pick tasks. No one assigns
  tasks, and you have ownership over your
  tasks.
• Great feeling of accomplishment.
• Food is often involved.
• Almost always results in higher morale.
From: “The Principles Behind the
         Agile Manifesto”
• Build projects around motivated
 individuals. Give them the environment
 and support they need, and trust them to
 get the job done.
Principles behind the Agile
               Manifesto
• Our highest priority is to satisfy the
  customer through early and continuous
  delivery of valuable software.
• Welcome changing requirements, even
  late in development. Agile processes
  harness change for the customer's
  competitive advantage.
• Working software is the primary measure
  of progress.
Principles behind the Agile
              Manifesto
• Deliver working software frequently, from
 a couple of weeks to a couple of months,
 with a preference to the shorter timescale.

• Business people and developers must
 work together daily throughout the
 project.
Principles behind the Agile
              Manifesto
• Build projects around motivated
  individuals. Give them the environment
  and support they need, and trust them to
  get the job done.
• The most efficient and effective method of
  conveying information to and within a
  development team is face-to-face
  conversation.
Principles behind the Agile
              Manifesto
• Agile processes promote sustainable
 development. The sponsors, developers,
 and users should be able to maintain a
 constant pace indefinitely.
Principles behind the Agile
               Manifesto
• Continuous attention to technical
 excellence and good design enhances
 agility.

• Simplicity--the art of maximizing the
 amount of work not done--is essential.
Principles behind the Agile
               Manifesto
• 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.
How Do I Start?

• Ideally, get support from the top, and
 jump in with both feet.
  – Hire a good consultant.
  – Get your people trained. Make sure they
    understand the principles as well as the
    practices.
• Do it “by the book” for a year, and then
 change parts of it only if it really makes
 sense.
How Do I Start?
1. Start with Scrum.
  – Fairly easy to implement.
  – Quick wins
  – Improved Morale
2. Add XP development practices
  – Continuous integration
  – Unit testing
3. Transition to Lean (After a year of successful
   Scrum)
  – One piece flow
  – Optimizing the whole
How Do I Start If I can’t get
       support from on top?
• Stealth agile.
  – Don’t mention the words “agile”, “scrum”, or
    anything else that would make people
    nervous. The last thing you want is for people
    to freak out.
  – Talk to end users and stakeholders yourself.
    Establish a relationship with your customers.
  – Ask people what they intend to do with all
    that documentation.
How Do I Start If I can’t get
      support from on top?
• Stealth Agile Continued….
  – Get your team to have short daily meetings.
  – Talk your team into working together for one
    hour or more every day in a conference room.
  – Invite people to a demo every few weeks.
  – Prove the results and earn respect.
  – Be patient. Change takes time. Don’t get
    frustrated.
Either Way….
• Work towards a culture of continuous improvement.
   – Work to improve your skills, your company, your delivery of
     software.
• Reduce complexity whenever possible.
   – No one ever goes to bed thinking “Gosh, I hope my work gets a
     lot more complicated tomorrow.”
• Try to make it fun. Be a part of the solution.
• “Don’t let your doubts tell you what you can’t do. This works
  against change. If you really can’t do that, you can probably
  do something similar. Figure it out and do it.”- Bob Schatz

• Or, as Brian Prince said not long ago…
“You can change your company or you can change your
  company.”
Random Thoughts for Managers:
• Create a culture of trust and transparency.
• Good leadership will establish and
  communicate common goals.
• At the beginning of any project, and when
  new team members come on board, the
  vision should be set. They should know
  why they are doing the work they are
  doing.
• Be a coach, not a policeman.
More Random Thoughts for
               Managers
• The time to negotiate is before you say “yes” to a
    project.
    – What? Scope, cost, and time are not negotiable? They will be
      later when the project is failing.
• Ask your teams what you can do to help them deliver
    software better, faster, more efficiently, then do it.
•   Be relentless about eliminating waste in the process.
    – Tools, technologies, people that stand in the way, arcane rules,
      bureaucracy, etc.
• Do more of what works and less of what doesn’t, but get
    these from your people.
Acknowledgments

• Many of the ideas presented here are
 from:
  – Bob Schatz of Agile Infusion
  – Jean Tabaka of Rally Software
Questions?
 adriancarr@gmail.com

     865-924-6319

 http://adriancarr.com

http://agileknoxville.com

Weitere ähnliche Inhalte

Was ist angesagt?

Being agile while standing in a waterfall
Being agile while standing in a waterfallBeing agile while standing in a waterfall
Being agile while standing in a waterfall
Mike Edwards
 

Was ist angesagt? (20)

Shipping code is not the problem, deciding what to ship it is!
Shipping code is not the problem, deciding what to ship it is!Shipping code is not the problem, deciding what to ship it is!
Shipping code is not the problem, deciding what to ship it is!
 
Climbing out of a Crisis Loop at the BBC
Climbing out of a Crisis Loop at the BBCClimbing out of a Crisis Loop at the BBC
Climbing out of a Crisis Loop at the BBC
 
Being agile while standing in a waterfall
Being agile while standing in a waterfallBeing agile while standing in a waterfall
Being agile while standing in a waterfall
 
Trends in Agile Software
Trends in Agile SoftwareTrends in Agile Software
Trends in Agile Software
 
A real-life overview of Agile workflow practices
A real-life overview of Agile workflow practicesA real-life overview of Agile workflow practices
A real-life overview of Agile workflow practices
 
Flow-based road mapping & options thinking
Flow-based road mapping & options thinkingFlow-based road mapping & options thinking
Flow-based road mapping & options thinking
 
Agile software development for startups
Agile software development for startupsAgile software development for startups
Agile software development for startups
 
Building a Software Development Team - MaRS Best Practices
Building a Software Development Team - MaRS Best PracticesBuilding a Software Development Team - MaRS Best Practices
Building a Software Development Team - MaRS Best Practices
 
Agile Anywhere in the 21st Century: Setting up distributed teams to be effective
Agile Anywhere in the 21st Century: Setting up distributed teams to be effectiveAgile Anywhere in the 21st Century: Setting up distributed teams to be effective
Agile Anywhere in the 21st Century: Setting up distributed teams to be effective
 
Agile?! Are You Crazy???
Agile?! Are You Crazy???Agile?! Are You Crazy???
Agile?! Are You Crazy???
 
Selling Agile
Selling AgileSelling Agile
Selling Agile
 
Agile UX: Embrace or Tolerate
Agile UX: Embrace or TolerateAgile UX: Embrace or Tolerate
Agile UX: Embrace or Tolerate
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Development
 
Scrum and DevOps training
Scrum and DevOps trainingScrum and DevOps training
Scrum and DevOps training
 
Startup Operating Systems
Startup Operating SystemsStartup Operating Systems
Startup Operating Systems
 
Agile - Product is Progress.
Agile - Product is Progress.Agile - Product is Progress.
Agile - Product is Progress.
 
Laurens Bonnema: The Agile Project Management Bootcamp Taster
Laurens Bonnema: The Agile Project Management Bootcamp TasterLaurens Bonnema: The Agile Project Management Bootcamp Taster
Laurens Bonnema: The Agile Project Management Bootcamp Taster
 
Sww 2006 Redesigning Processes For Solid Works
Sww 2006   Redesigning Processes For Solid WorksSww 2006   Redesigning Processes For Solid Works
Sww 2006 Redesigning Processes For Solid Works
 
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...
 
Software Testing Career Skill Development on BugDay Bangkok 2009
Software Testing Career Skill Development on BugDay Bangkok 2009Software Testing Career Skill Development on BugDay Bangkok 2009
Software Testing Career Skill Development on BugDay Bangkok 2009
 

Andere mochten auch (6)

Lees Portfolio
Lees PortfolioLees Portfolio
Lees Portfolio
 
天津卫视声震八方广告招商方案
天津卫视声震八方广告招商方案天津卫视声震八方广告招商方案
天津卫视声震八方广告招商方案
 
《风声》首映仪式招商方案0717
《风声》首映仪式招商方案0717《风声》首映仪式招商方案0717
《风声》首映仪式招商方案0717
 
Pellissippi State AITP Meeting November 2014
Pellissippi State AITP Meeting November 2014Pellissippi State AITP Meeting November 2014
Pellissippi State AITP Meeting November 2014
 
My Portfolio Tommy
My Portfolio TommyMy Portfolio Tommy
My Portfolio Tommy
 
Chriss Portfolio
Chriss PortfolioChriss Portfolio
Chriss Portfolio
 

Ähnlich wie Agile for Me- CodeStock 2009

a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
Elle Waters
 
Software engineering for small product companies
Software engineering for small product companiesSoftware engineering for small product companies
Software engineering for small product companies
Raman Kannan
 
Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)
MiniBar
 

Ähnlich wie Agile for Me- CodeStock 2009 (20)

Money, Process, and Culture- Tech 20/20 June, 2012
Money, Process, and Culture- Tech 20/20 June, 2012Money, Process, and Culture- Tech 20/20 June, 2012
Money, Process, and Culture- Tech 20/20 June, 2012
 
Practical Scrum - day 1
Practical Scrum - day 1Practical Scrum - day 1
Practical Scrum - day 1
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
 
Agile
AgileAgile
Agile
 
Scrum master basics
Scrum master basics Scrum master basics
Scrum master basics
 
LEAN: Dream Maker Developments
LEAN: Dream Maker DevelopmentsLEAN: Dream Maker Developments
LEAN: Dream Maker Developments
 
Вадим Давидов та Людмила Гребенюк “LEAN: Dream Maker Developments” Kharkiv Pr...
Вадим Давидов та Людмила Гребенюк “LEAN: Dream Maker Developments” Kharkiv Pr...Вадим Давидов та Людмила Гребенюк “LEAN: Dream Maker Developments” Kharkiv Pr...
Вадим Давидов та Людмила Гребенюк “LEAN: Dream Maker Developments” Kharkiv Pr...
 
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
 
Software engineering for small product companies
Software engineering for small product companiesSoftware engineering for small product companies
Software engineering for small product companies
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
 
The Lean Enterprise
The Lean EnterpriseThe Lean Enterprise
The Lean Enterprise
 
Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)
 
Professional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileProfessional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in Agile
 
Presented at Ford's 2017 Global IT Learning Summit (GLITS)
Presented at Ford's 2017 Global IT Learning Summit (GLITS)Presented at Ford's 2017 Global IT Learning Summit (GLITS)
Presented at Ford's 2017 Global IT Learning Summit (GLITS)
 
Beyond the Crystal Ball –The Agile PMO - Heather Fleming and Justin Riservato
Beyond the Crystal Ball –The Agile PMO - Heather Fleming and Justin RiservatoBeyond the Crystal Ball –The Agile PMO - Heather Fleming and Justin Riservato
Beyond the Crystal Ball –The Agile PMO - Heather Fleming and Justin Riservato
 
SDEC15: Help the Scrum Master *IS* the Impediment
SDEC15:  Help the Scrum Master *IS* the ImpedimentSDEC15:  Help the Scrum Master *IS* the Impediment
SDEC15: Help the Scrum Master *IS* the Impediment
 
Alternatives to scaling your agile process: valuing outcomes over output
Alternatives to scaling your agile process: valuing outcomes over outputAlternatives to scaling your agile process: valuing outcomes over output
Alternatives to scaling your agile process: valuing outcomes over output
 
Alternatives to scaling your agile process: valuing outcomes over output
Alternatives to scaling your agile process: valuing outcomes over outputAlternatives to scaling your agile process: valuing outcomes over output
Alternatives to scaling your agile process: valuing outcomes over output
 
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)Introduction to Recipes for Agile Governance in the Enterprise (RAGE)
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)
 
Are you failing at being agile? #digitallabin
Are you failing at being agile? #digitallabinAre you failing at being agile? #digitallabin
Are you failing at being agile? #digitallabin
 

KĂźrzlich hochgeladen

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

KĂźrzlich hochgeladen (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Agile for Me- CodeStock 2009

  • 1. Agile: What’s in it for me? CodeStock 2009
  • 2. Adrian Carr •Software Developer for 10 years •Currently work for Jewelry Television in Knoxville •Worked for Fidelity Information Systems in Atlanta •Worked for Alltel Information Systems in Atlanta •Worked for a large non-profit in Boone, NC •Founder and Organizer of Knoxville Agile Practitioner’s Group (http://agileknoxville.com)
  • 3. Disclaimer • Be skeptical, but open minded. • This is how I develop software. Take the parts that make sense to you. Ignore the rest. – Ron Jeffries • If you currently have a high rate of success on your projects, then this may not be the best thing for you.
  • 4. What Agile is Not Supposed to Be
  • 5. Some Agile Myths • No documentation • Cowboy coding • No up-front design • Agile is a silver bullet.
  • 6. What is Agile Software Development? •project management process that encourages frequent inspection and adaptation, •a leadership philosophy that encourages teamwork, self-organization and accountability, •a set of engineering best practices that allow for rapid delivery of high-quality software, •a business approach that aligns development with customer needs and company goals http://en.wikipedia.org/wiki/Agile_software_development
  • 7. Agile Practices • Scrum- – Small, self-organizing, cross-functional teams – Defined roles within a team. – Defined rules, based on project management. – Work in short iterations, or “sprints” – Demo progress at the end of every iteration. – Re-plan for the next iteration, always doing the highest value things first.
  • 8. Agile Methodologies • XP – Very disciplined. – Onsite customer – Pair programming – Unit testing – Refactoring – Frequent delivery – Continuous integration – Test-Driven Development – Simplicity
  • 9. The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: •Individuals and interactions over processes and tools •Working software over comprehensive documentation •Customer collaboration over contract negotiation •Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 14. IT has an Image Problem • Typically, we’re seen as a roadblock. When we do succeed, we're viewed as too slow, too expensive, or delivering poor quality.
  • 15. What’s in it for Me?
  • 16. I Own or Run This Business- What’s in it for Me? • What is the #1 killer of projects? – Answer: Time • In traditional projects, we often run out of time and something has to go. What is it? • Quality, documentation, testing. • In agile projects, testing and quality is a part of every iteration. What get cut is features, and that’s not necessarily a bad thing.
  • 17. I Own or Run This Business- What’s in it for Me? • ROI • There's a reason why you're paying these expensive people to do this work for you. – You want your stuff. – You want it as soon as possible. – You'd rather not pay more for it than you have to. • Or, since you’re going to have to pay for it, you at least want to get the most for your money. – A team of 8 -10 people costs about a million dollars a year.
  • 18. I Own or Run This Business- What’s in it for Me? • Traditional Projects and the Cost of Change – Feature bloat. You’re paying for unused or rarely used features. • Idea> Analysis> Development> Testing> Deployment> Return on Investment – Most of the costs are in the Analysis, Development, and Testing. • Reduced time to market. – Agile teams will do the most important things first, and deploy them in production as soon as possible.
  • 19. I Own or Run This Business- What’s in it for Me? • Reduced risk. You get to assess it and decide on it every few weeks. – If you want to stop, you can. • Changes after deployment: Agile teams can respond more quickly, assuming they have unit tests and quality code.
  • 20. I Own or Run This Business- What’s in it for Me? • Everything is just fine….. http://cargolaw.com/2007nightmare_ital.florida.html
  • 21. I Own or Run This Business- What’s in it for Me? • Reality always wins in the end, so get there sooner. http://cargolaw.com/2007nightmare_ital.florida.html
  • 22. I Own or Run This Business- What’s in it for Me? • What if the project is doomed to fail? – If you are going to fail, do it fast. http://www.cargolaw.com/2007nightmare_msc.napoli.html
  • 23. I’m a Project Manager- What’s in it for Me? • Project Manager’s job is to create a schedule, monitor progress, control the risks, and keep people informed. • This is very difficult to do. Especially when people are afraid to tell the truth. • How does a project get to be a year behind schedule? – Answer: One day at a time.
  • 24. I’m a Project Manager- What’s in it for Me? • You can have people get started earlier. – Typically, you don't give the green light for developers to actually get started developing anything until we know all the requirements. With Agile, you don't assume that you ever know all the requirements until you are done. You do need to know enough to get started, but you don't need the entire picture in detail. – When you don’t know enough about a project, you may want to go ahead and get started. Have very short sprints and get feedback early and often.
  • 25. I’m a Project Manager- What’s in it for Me? • Instead of managing risk with lots of documents and contracts that create an "us vs. them" environment, you manage risk with real, working software, and contracts that encourage collaboration between different parties.
  • 26. Typical Scrum Team Board Transparency is more evident.
  • 28. I’m a Project Manager- What’s in it for Me? • The culture of transparency makes it easier for you to provide visibility and a more realistic status up the chain. • Unknowns should be known much earlier in the process.
  • 29. I’m a Project Manager- What’s in it for Me? • Managing Risk: – There are known knowns. These are things we know that we know. There are known unknowns. That is to say, there are things that we know we don't know. But there are also unknown unknowns. There are things we don't know we don't know. -Donald Rumsfeld • When problems pop up early, we have lots of options. When problems pop up at the end of a project, our options are very limited; work more, cut quality, etc.
  • 30. I’m a Tester- What’s in it for Me? • How is QA viewed today on most traditional projects? – Often viewed as a roadblock, or second class citizen. – If bugs get into production, who gets the blame? – Are you ever told "Don't talk to the developers while they are working. They are too busy, and I don't want you to waste their time." ?
  • 31. I’m a Tester- What’s in it for Me? • Agile teams elevate the role of testing. • Quality becomes essential when teams are repeatedly deploying software. • You will be working on a close-knit team.
  • 32. I’m a Tester- What’s in it for Me? • Inspection to find defects is waste. Inspection to prevent defects is essential. • A quality process builds quality into the product. If you routinely find defects during verification, your process is defective. • If you have test and fix cycles, you are testing too late. This is churn, and wasteful. Move QA people from end of process to beginning and middle of process. Find defects as soon as they are created. http://www.poppendieck.com/
  • 33. I’m a Developer- What’s in it for Me? • ROI – Developers often don't think about ROI. They view this as a business term, and often don't care. Well, here's a revelation: Your salary is calculated as ROI. You, your benefits, your computer, are all calculated as ROI. You are being paid to do something. The people paying you want a return on their investment. The better investment you provide, the better you will be viewed. • A better way of working. Support vs. control. – Imagine a work situation where your manager says “What can I do to help you?”, instead of saying “do this, now do that, and do it this way.” • Trust vs. micromanagement – The team decides the best way to reach the goals put forth in front of them.
  • 34. I’m a Developer- What’s in it for Me? • You will be working on a close-knit team. • Can get more done together than you can separately. • Collaboration, support system.
  • 35. I’m a Developer- What’s in it for Me? • Increased communication. • Everyone on the team is working toward the same goals. • Laughing. • Sense of community. • Sense of ownership.
  • 36. I’m a Developer- What’s in it for Me? • You should gain skills you didn’t have before. • Less useless documentation. • Those obstacles that you tolerate now? They should become more obvious, and some of them will go away if your management is doing their job.
  • 37. I’m a Developer- What’s in it for Me? • Freedom to pick tasks. No one assigns tasks, and you have ownership over your tasks. • Great feeling of accomplishment. • Food is often involved. • Almost always results in higher morale.
  • 38. From: “The Principles Behind the Agile Manifesto” • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • 39. Principles behind the Agile Manifesto • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. • Working software is the primary measure of progress.
  • 40. Principles behind the Agile Manifesto • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. • Business people and developers must work together daily throughout the project.
  • 41. Principles behind the Agile Manifesto • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • 42. Principles behind the Agile Manifesto • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • 43. Principles behind the Agile Manifesto • Continuous attention to technical excellence and good design enhances agility. • Simplicity--the art of maximizing the amount of work not done--is essential.
  • 44. Principles behind the Agile Manifesto • 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.
  • 45. How Do I Start? • Ideally, get support from the top, and jump in with both feet. – Hire a good consultant. – Get your people trained. Make sure they understand the principles as well as the practices. • Do it “by the book” for a year, and then change parts of it only if it really makes sense.
  • 46. How Do I Start? 1. Start with Scrum. – Fairly easy to implement. – Quick wins – Improved Morale 2. Add XP development practices – Continuous integration – Unit testing 3. Transition to Lean (After a year of successful Scrum) – One piece flow – Optimizing the whole
  • 47. How Do I Start If I can’t get support from on top? • Stealth agile. – Don’t mention the words “agile”, “scrum”, or anything else that would make people nervous. The last thing you want is for people to freak out. – Talk to end users and stakeholders yourself. Establish a relationship with your customers. – Ask people what they intend to do with all that documentation.
  • 48. How Do I Start If I can’t get support from on top? • Stealth Agile Continued…. – Get your team to have short daily meetings. – Talk your team into working together for one hour or more every day in a conference room. – Invite people to a demo every few weeks. – Prove the results and earn respect. – Be patient. Change takes time. Don’t get frustrated.
  • 49. Either Way…. • Work towards a culture of continuous improvement. – Work to improve your skills, your company, your delivery of software. • Reduce complexity whenever possible. – No one ever goes to bed thinking “Gosh, I hope my work gets a lot more complicated tomorrow.” • Try to make it fun. Be a part of the solution. • “Don’t let your doubts tell you what you can’t do. This works against change. If you really can’t do that, you can probably do something similar. Figure it out and do it.”- Bob Schatz • Or, as Brian Prince said not long ago… “You can change your company or you can change your company.”
  • 50. Random Thoughts for Managers: • Create a culture of trust and transparency. • Good leadership will establish and communicate common goals. • At the beginning of any project, and when new team members come on board, the vision should be set. They should know why they are doing the work they are doing. • Be a coach, not a policeman.
  • 51. More Random Thoughts for Managers • The time to negotiate is before you say “yes” to a project. – What? Scope, cost, and time are not negotiable? They will be later when the project is failing. • Ask your teams what you can do to help them deliver software better, faster, more efficiently, then do it. • Be relentless about eliminating waste in the process. – Tools, technologies, people that stand in the way, arcane rules, bureaucracy, etc. • Do more of what works and less of what doesn’t, but get these from your people.
  • 52. Acknowledgments • Many of the ideas presented here are from: – Bob Schatz of Agile Infusion – Jean Tabaka of Rally Software
  • 53. Questions? adriancarr@gmail.com 865-924-6319 http://adriancarr.com http://agileknoxville.com