(Ask about: Requirements)
Incremental and Iterative Delivery - maximize product
Good process to get a high value out of things fast.
Scrum since 2001 - limits how it scales to an enterprise organization (NBC Universal - take best practices from Kanban, Lean, Scrum, Test/behaviour driven development --- still Agile)
"I know when we're not Agile."
1. Teamwork - product and project teams and enable sustainable process and manage deliverables.
2. MONEY - To work on product and project teams and define process and roles, manage requirements to max the value for shortest amount of time. | Define engineering practices that allow a sustainable process of incremental deliveray of value.
Need for Agile metrics - defining and delivering value. Engineering process that does this from the technical perspective. $$ - higher level understands and pays attention.
Move upfront costs elsewhere.
Sofware development == $$$ expensive
Commitment to delivery. (Methodology makes a difference)
Who's comitted and who's involved? Story of chicken and pig... Chicken lays the egg, Pig is committed. (Ham & Eggs)
Chicken - people who just talk about stuff - Product Owner, Product Manager, etc.
Pig - Person who actually does stuff - Developers - if job isn't done, skin is on the line.
Talk with vs. Talk to... each other. Understanding what is being expected, what needs to be delivered. Disconnect.
2006 - Product Owner: If this product fails, they're not going to fire the devs, they'll fire me for a not good product. Product owner is also a PIG.
Deliverable during iteration to the project = Pigs, If not, involved. (Stakeholders are involved, PM, Devs are committed)
Sprint/Iteration Manager (latter is Agile)
Order you do things in is important:
Building & designing - what do you do first, what do you need first?
View Requirements as suggestions
1. GET REQUIREMENTS FIRST.
Clear understanding of what is expected of us before we get the developers to make it.
What can or can't we do on this new platform? BE CLEAR that it won't be exactly the same thing.
A picture is not a requirement.
Describe picture with words (can't have just one). Don't want pixel perfect design. Concept car vs. Real car. That's why the ugly picture should be close to what can be done. What can be delivered?
Scope - articulate and define what success means to them - what's an MVP. We don't have infinite resources - give them the minimum and then build on it after. Multiple release cycle.
Managing by scope - Agile doesn't want to move a timeline. Manage by scope first. A goal is a unit of business value. The goal for this project is the goal of the product. A feature is a unit of organizational value. Customer value. Ability to do this, as a user a can do ... Funciton unit of system functionality. Story unit of functions and scope. Tasks - unit of work.
Deliverables - userstories (smaller functional things); As a user I want to be able to log into the website so I can go to my personal information and it's protected by a password.
That's a userstory but not a complete requirement.
Wireframes and greyscales... etc.
Level of detail - what you're not getting delivered - things can change over time.
UX - acceptance criteria - belongs in the requirements.
Features & Functionality includes UX. Iteratively as we do our development. Design can happen in parallel anytime.
Backlog Planning & Estimation (2hrs twice a month) | Iteration Planning & Estimation (1-2hrs 'RALLY') | Daily Standup Meeting (30 mins) | Demo/Review | Retrospective - Deliverables/Measureables (1hour)
When | Who| What
Planning poker to estimate basis of team's velocity
No story unless you can explain the benefit of it.
Don't build anything unless you can justify its value.
Acceptance critera based user stories so that you can apply Behat.
Be pragmatic NOT dogmatic
Testing & Development concurrently Sam Boyers/Continuous Integration
- Good Requirements (Make hyper bubble, Cause black hole, become insane, PB takes off my glasses, save the day, win heart of the princess)
- Good Priorities (What's valuable, what's needed first)