• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Agile Way to First Iteration

on

  • 3,532 views

Presentation from Agile Base Camp 2 conference (Kiev, may 2010) about major activities to do before starting iterative development with one of the Agile methodologies.

Presentation from Agile Base Camp 2 conference (Kiev, may 2010) about major activities to do before starting iterative development with one of the Agile methodologies.

Statistics

Views

Total Views
3,532
Views on SlideShare
3,154
Embed Views
378

Actions

Likes
2
Downloads
24
Comments
0

5 Embeds 378

http://xpinjection.com 297
http://agilebasecamp.org 58
http://www.slideshare.net 21
http://static.slidesharecdn.com 1
http://web.archive.org 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Agile Way to First Iteration Agile Way to First Iteration Presentation Transcript

    • Agile Way to First Iteration
      Mikalai Alimenkou
      http://xpinjection.com
    • Background
      Java Technical Lead/Scrum Master at Zoral Labs
      6+ years in software development
      4+ years of working by Agile methodologies
      Expert in Agile engineering practices
      Agile coach (TDD, Testing, Planning, etc.)at XP Injection (http://xpinjection.com)
    • Ideal Agile project
      I have idea of new product!
    • Ideal Agile project
      We can implement it!
      I have idea of new product!
    • Ideal Agile project
      I want to do it in Agile way!
    • Ideal Agile project
      Nice! We have cross functional and self organizing team!
      I want to do it in Agile way!
      Yes, we are ready to start!
    • Ideal Agile project
      I have prioritized backlog and project vision for you!
    • Ideal Agile project
      I personally will be you PO!
    • Ideal Agile project
      OK, but lets sign Agile contract before?
    • Ideal Agile project
      OK, but lets sign Agile contract before?
      Sounds good for me!
      Lets start first iteration!
    • What do you have?
    • What do you want to archive?
    • When things are simple?
      Another CRUD application
      Application with many competitors on the market
      Ready to use requirements or specification from the customer
      Cool idea but simple product
      Reverse engineering of existing project
    • What is iteration 0?
      Before first real iteration
      Prepare all tools and environments
      Establish team practices
      Prepare backlog to first iteration planning
      Learning new technologies
      Establishing team velocity
      Even earning some business value
    • What happens in real world?
      Backlog is not ready because customer is not ahead of developers
    • What happens in real world?
      UI has many inconsistencies without common UI design
    • What happens in real world?
      Architectural decisions can’t satisfy nearest project requirements
    • What happens in real world?
      Functionality is ready but product doesn’t satisfy non-functional requirements
    • What happens in real world?
      Lack of deep common understanding of what product is built
    • Lead to significant rework
    • STOP! We don’t do anything upfront!
    • What we do in Agile?
      Refactoring
      Simple design
      YAGNI
      DRY principle
      JIT
    • Agile planning
    • What do we need to start?
      Concepts
      Acceptance
      Tests
      User
      Stories
      Iteration
      plan
      ???
      Budget
      Team
    • What does customer need to start?
      Vision
      Planning
      Concepts
      Risks
      Release
      Plan
      User
      Stories
      Acceptance
      Tests
      Major
      Features
      User
      Value
      Iteration
      plan
      Budget
      Product
      Design
      Team
      Product
      Architecture
      Efforts
      Estimates
      Cost
      Estimates
      Test
      Strategy
      Skills Set
      Execution
    • Real transformation
    • Product vision
      Help everyone be on the same page
      Collective understanding of the product
      Define main and differentiating features
      Ways:
      Product workshop
      Users, roles and functions game
      UI prototyping
    • We understand
      Who are the customers
      Competitors and alternative products on the market
      Product category and role on the market
      Key features of the product
    • Product design
      Major data flows
      Main UI navigation paths
      Messaging and communication protocols
      Users and their roles in the system
      Main user activities
    • Traditional approach
    • Agile approach
      Actors, roles and goals list
      Whiteboard snapshots or simple spreadsheets
      Personas for each role (details like name, life cycle, image, etc.)
      Paper or other lightweight prototyping
      Mockup tools as cheap and quick as possible
      Helps communicate effectively
      User testing
      Execution of scenarios on prototypes
      Get feedback from users to avoid early mistakes
    • Agile risk management
      Risk meeting to identify risks
      Store main risks on cards and put them into zone by impact and probability
      Brainstorm for high right corner risks
      Make results visible and revisit during development
    • Define architecture
      Understand key components, flows and technologies
      Reduce technological and schedule risks
      Prove main assumptions
    • Traditional approach
      Create detailed architectural document
      Build all kinds of diagrams and architectural views
      Review architecture
      etc.
    • Agile approach
      Use informal style of documents
      Validate main architectural decisions with architectural prototypes
      Mock unneeded components and services
    • Testing strategy
      Testing strategy helps to reduce time of tests automation
      Select testing frameworks and tools for each kind of tests
      Define roles and responsibilities for testing
    • Acceptance testing
      Define acceptance criteria for each User Story during iteration planning (PO, QA)
      Create acceptance tests (PO, QA, DEV)
      Implement acceptance tests (QA, DEV)
      Use them as part of DONE criteria
      At the end of iteration all acceptance criteria must pass
    • Release planning
      Divide functionality by importance
      Must have, Important, Would be nice
      Estimate features, not stories
      Don’t put all top priority stories in first release
      Story mapping
    • Colored backlog
      Visible
      Invisible
      Positive
      Value
      Negative
      Value
    • Hiring business resources
      Important Product Owner role:
      Strong business leadership and vision
      Understand needs of users
      Open to new ways of working
      Have planning skills, not just reacting to the facts
      Collaborative, decisive, conceptual thinker
      Wrong Product Owner can:
      – Slow down the project
      – Lead the team in the wrong direction
    • Hiring technical team
      Need experienced senior development staff early:
      Estimate features
      Define architecture
      Prepare “proof of the concept” architectural prototypes
      Help to hire rest of the team
      Full team hiring should wait for budget approval and architectural decisions:
      Identify needed skills and team size
      Some time should be spent to bring team up to speed on the vision
      Team trainings on Agile and engineering practices
    • You take away
      Not all projects may be started quickly with Agile
      Some things needs to be done upfront
      Don’t use Agile practices fanatically
      Almost every traditional activity may be performed in Agile way
    • Any questions?