Balloon Driven DevelopmentYehoshua Blank
Development & QA ManagerCisco - Jerusalem
Balloon Football
Why Do We Use Agile?
Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software.
Balloon Football Recap
Business Driven Development
Behavior Driven Development
Domain Driven Design
Test Driven Developmen
t
Acceptance Test Driven
Planning
Core Stakeholders- Articulate Vision
Incidental Stakeholders- Support Vision
Business Analysts- Translate Vision
Dev Team- Implement Vision
Specification By Example
Test Driven Development
Example Acceptance Test TDD
Definition of Done
BusinessCustomers
BusinessCustomers + Developers
Developers
Balloon Message
Challenge
Balloon Message Challenge - Rules• Balloon = Transport Mechanism• Sticky note = Message/Packet• Each team receives their own mission
• Goal – Transport message/packet between two team members using transport mechanism
• 10 – 15 minutes until completion
Take Aways• Understand the business
– Make customers articulate their business needs and the added business value
• Serve the business needs
• Execute for the business goals• Be able to articulate the business value you bring
Mission 1
• Feature: Secure message transport– As a network provider I want to ensure that messages can be sent securely
• Example:– Secure message transport– Given that a user wants to transport a message to a specific destination, I want to
ensure that only the sender and the receiver can read the message• Example:
– Detect security breach– Given that a user wants to transport a message to a specific destination, I want to
ensure that I can detect if someone other than the sender and the receiver tries to read the message
Mission 2
• Feature: Transport mechanism reuse– As a network provider I want to ensure that I can use my transport mechanism
multiple times • Example:
– Reuse transport mechanism– Given that a user wants to transport a message to a specific destination, I want to
ensure that the user can transport another message using the same mechanism
Mission 3
• Feature: Indirect transport– As a network provider I want to ensure that messages can be sent using an
arbitrary route• Example:
– Random message transport route– Given that a user wants to transport a message, I want to ensure that the message
route is random
Mission 4
• Feature: Messaging for distance– As a network provider I want to ensure that messages can be sent from one end of
a room to another• Example:
– Message distance transport– Given that a user wants to transport a message across a room, I want to ensure
that the message arrives intact