• Save

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,642 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,642
Views on SlideShare
3,262
Embed Views
380

Actions

Likes
2
Downloads
24
Comments
0

5 Embeds 380

http://xpinjection.com 299
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?