FROMVISIONTO
PRODUCT
Ritesh Mehrotra
©TechTalks, 2018
References
• BDD in Action – John Fergusan Smart
• User Story Mapping – Jeff Patton
• Age of Agile - Steve Denning
• Manifesto of Agile Software Development
©TechTalks, 2018
Agenda
• The need for agility
• A product development view in agile world
• Challenges, techniques and practices
• Q & A
©TechTalks, 2018
THE NEED
©TechTalks, 2018
The world we are in -VUCA
©TechTalks, 2018
Volatility
• Instability
• Outages
• Flaky systems
Uncertainty
• Unknowns
• Limited information
Complexity
• Web of interrelated systems
• Hard to understand
• High volume high complexity
Ambiguity
• Confusing information
• No precedence
A perfect Hairstyle
©TechTalks, 2016
Or a scary adventure
©TechTalks, 2016
What bothers you the most?
A. Scope creep B. Communication C. Budget &Time D. Quality
©TechTalks, 2018
CHALLENGES
©TechTalks, 2018
Value Stream Map
Traditional
Agile
©TechTalks, 2016
IdentifyWaste
• Defects
• Extra processes
• Waiting
• Motion
• Extra features
• Partially DoneWork
• Task Switching
©TechTalks, 2016
Communication
• Set based communication
• Transparency
• Communicate in Ubiquitous Language
©TechTalks, 2018
Actions
• Amplify Learning
• Feedback
• Iterations
• Set based development
• Decide as late as possible
• Wait till the “last responsible moment”
• Deliver as fast as possible
• Build Integrity
©TechTalks, 2018
GETTING STARTED
©TechTalks, 2018
Who is user?
• Customers/Beneficiaries
• Staff
• Govt. Agencies/Regulatory/Audit
©TechTalks, 2018
What is value?
• Increase profit - Eg. New features
• Protect profit – Eg. Customer
satisfaction
• Reduce cost – Eg. Support
• Avoid future cost – Eg. Regulatory
©TechTalks, 2018
Where is value?
©TechTalks, 2018
Opportunity Canvas
©TechTalks, 2018
Vision
©TechTalks, 2018
IDENTIFYTHEVALUE
©TechTalks, 2018
(Why?) * 5
©TechTalks, 2018
RCA example
• The system is currently down
• Why?
• The underlying authentication service is failing so we cannot log in
• Why?
• The authentication service cannot connect to repository
• Why?
• The connection parameters are incorrect
• Why?
• There was a change in database host name which was not updated in authentication
service
©TechTalks, 2018
Applied to goal discovery
• We want to offer $ 25 cashback for customers who do less than 10 withdrawals a month?
• Why do you offer that?
• A promotion will encourage more customers to do lesser withdrawals
• Why do you want to encourage them?
• By means of that, we want to promote cashless transactions
• Why so?
• Because we want to reduce usage of ATM
• Why?
• Maintaining the ATMs is an additional cost, and our analysis suggests that we will be able
to save cost by 5% by reducing usage
©TechTalks, 2018
Impact mapping
©TechTalks, 2018
Why? Who? How? What?
Business Goal Stakeholders Capabilities Features
Save the cost by 5%
Enable cashless
transactions
Offer cashback on less
than 10 withdrawals
Pay online
Pay by card
Pay by cheque
Capture number of
transactions
Approach
©TechTalks, 2018
Seek example
• “Can you give me an example?”
• Precise specifications so delivery teams avoid rework caused by ambiguity
• Objective way to measure when work is complete
• Documentation to facilitate change, both in terms of features and team structure
• Described in book “Specification by Example” by Gojko Adzie
©TechTalks, 2018
TRANSLATETO STORIES
©TechTalks, 2018
Persona #1
• Name: Max
• Age: 35
• Occupation: Software Professional
• BIO
Software developer and consultant. Has a family of 4
He has just moved to Singapore on employment visa with a multi-national
company. On induction, his employer, familiarized Max with the surroundings,
work culture and terms of employment contract.
Max is staying in a company sponsored hotel, and will need to rent a place within
a week’s time. He didn’t anticipate the expenses, and is carrying little cash. He
hopes he will be able to cover expenses with first salary due soon
The company pays all their employees at last day of the month through bank
transfers. He has joined in 3rd week of month, and needs a account soon to
receive his salary in time.
©TechTalks, 2018
Persona #2
• Name: Rob
• Age 50
• Occupation: Trader and Investor
• Bio
Rob is anTrader and investor with business interest in Asia-pacific region.
Primarily based in Singapore, he travels across China, Indonesia, Cambodia
and India very frequently for business.
He often employs vendors for his business and pays them through cheque
post work. Due to his busy schedule and frequent travels, the payments are
sometimes late and annoys the business partners.
To secure his and partners business interests, he needs a easier way of making
payments
©TechTalks, 2018
Features
In order to receive payments for my work,
As a prospective banking customer,
I want to open a savings bank account
©TechTalks, 2018
In order to make payments to contractors,
As a bank customer,
I want to initialize a funds transfer from my savings
account
Who?
What?
Why?
Story #1
©TechTalks, 2018
Title: Open a savings account
In order to receive payments for my work,
As a prospective banking customer,
I want to open a savings account
Acceptance criteria
©TechTalks, 2018
Inputs:
- Full name
- Unique identifier (NRIC, FIN, Passport)
- Address
- Email address
- Phone number
- Agreement onT&C
- AccountType: Savings
Output:
- Account number: 6 digit unique account number
- Account type: Savings
- Deposit funds
- Withdraw funds
- Statements
- Debit card
Story #2
©TechTalks, 2018
Title: Transfer funds from one account to another
In order to make payment to contractor,
As a bank customer,
I want to initialize a funds transfer from my savings account
Acceptance criteria
©TechTalks, 2018
Inputs:
- From account: 6 digit account number
- To account: 6 digit account number
- Amount: Decimal value greater than ZERO(0). Referred hereafter as $
Output:
- Transaction id: Numeric id
- From account debited of $(decimal value)
- To account credited of $(decimal value)
Product development in a nutshell
©TechTalks, 2018
COLLABORATIVE
DEVELOPMENT
©TechTalks, 2018
User Story Map
©TechTalks, 2018
Backbone
1.0.0
1.0.1
1.0.2
What isTDD?
• “Set of techniques that encourages
simple design and test suites that
inspire confidence” – Kent Beck
• Write a failing automated test before
code
• Remove duplication
©TechTalks, 2018
Write code
to pass the
test
Refactor code
without letting the
test fail
A failing
test without
code
Gherkin language
Feature: Knowledge sharing session
Narrative: As a speaker, I want to record my talk, so that I can replay it later for
audience who could not attend
Scenario: Recording a session
Given: I am a speaker in a session
And: I have placed a camera in the room
When: I start the recording
Then:The session should get recorded
©TechTalks, 2018
Validation & testing
• Quality at the source
• Continuous integration
• Automated tests
• Continuous deployment
• Quick feedback
©TechTalks, 2018
At the core
• “It’s not about doing more work in less time: It’s about generating more
value from less work.” – Steve Denning
• “Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software” – First principle of Manifesto of Agile S/w
Development”
©TechTalks, 2018
ThankYou!!
©TechTalks, 2018

A journey from Vision to product

  • 1.
  • 2.
    References • BDD inAction – John Fergusan Smart • User Story Mapping – Jeff Patton • Age of Agile - Steve Denning • Manifesto of Agile Software Development ©TechTalks, 2018
  • 3.
    Agenda • The needfor agility • A product development view in agile world • Challenges, techniques and practices • Q & A ©TechTalks, 2018
  • 4.
  • 5.
    The world weare in -VUCA ©TechTalks, 2018 Volatility • Instability • Outages • Flaky systems Uncertainty • Unknowns • Limited information Complexity • Web of interrelated systems • Hard to understand • High volume high complexity Ambiguity • Confusing information • No precedence
  • 6.
  • 7.
    Or a scaryadventure ©TechTalks, 2016
  • 8.
    What bothers youthe most? A. Scope creep B. Communication C. Budget &Time D. Quality ©TechTalks, 2018
  • 9.
  • 10.
  • 11.
    IdentifyWaste • Defects • Extraprocesses • Waiting • Motion • Extra features • Partially DoneWork • Task Switching ©TechTalks, 2016
  • 12.
    Communication • Set basedcommunication • Transparency • Communicate in Ubiquitous Language ©TechTalks, 2018
  • 13.
    Actions • Amplify Learning •Feedback • Iterations • Set based development • Decide as late as possible • Wait till the “last responsible moment” • Deliver as fast as possible • Build Integrity ©TechTalks, 2018
  • 14.
  • 15.
    Who is user? •Customers/Beneficiaries • Staff • Govt. Agencies/Regulatory/Audit ©TechTalks, 2018
  • 16.
    What is value? •Increase profit - Eg. New features • Protect profit – Eg. Customer satisfaction • Reduce cost – Eg. Support • Avoid future cost – Eg. Regulatory ©TechTalks, 2018
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    RCA example • Thesystem is currently down • Why? • The underlying authentication service is failing so we cannot log in • Why? • The authentication service cannot connect to repository • Why? • The connection parameters are incorrect • Why? • There was a change in database host name which was not updated in authentication service ©TechTalks, 2018
  • 23.
    Applied to goaldiscovery • We want to offer $ 25 cashback for customers who do less than 10 withdrawals a month? • Why do you offer that? • A promotion will encourage more customers to do lesser withdrawals • Why do you want to encourage them? • By means of that, we want to promote cashless transactions • Why so? • Because we want to reduce usage of ATM • Why? • Maintaining the ATMs is an additional cost, and our analysis suggests that we will be able to save cost by 5% by reducing usage ©TechTalks, 2018
  • 24.
    Impact mapping ©TechTalks, 2018 Why?Who? How? What? Business Goal Stakeholders Capabilities Features Save the cost by 5% Enable cashless transactions Offer cashback on less than 10 withdrawals Pay online Pay by card Pay by cheque Capture number of transactions
  • 25.
  • 26.
    Seek example • “Canyou give me an example?” • Precise specifications so delivery teams avoid rework caused by ambiguity • Objective way to measure when work is complete • Documentation to facilitate change, both in terms of features and team structure • Described in book “Specification by Example” by Gojko Adzie ©TechTalks, 2018
  • 27.
  • 28.
    Persona #1 • Name:Max • Age: 35 • Occupation: Software Professional • BIO Software developer and consultant. Has a family of 4 He has just moved to Singapore on employment visa with a multi-national company. On induction, his employer, familiarized Max with the surroundings, work culture and terms of employment contract. Max is staying in a company sponsored hotel, and will need to rent a place within a week’s time. He didn’t anticipate the expenses, and is carrying little cash. He hopes he will be able to cover expenses with first salary due soon The company pays all their employees at last day of the month through bank transfers. He has joined in 3rd week of month, and needs a account soon to receive his salary in time. ©TechTalks, 2018
  • 29.
    Persona #2 • Name:Rob • Age 50 • Occupation: Trader and Investor • Bio Rob is anTrader and investor with business interest in Asia-pacific region. Primarily based in Singapore, he travels across China, Indonesia, Cambodia and India very frequently for business. He often employs vendors for his business and pays them through cheque post work. Due to his busy schedule and frequent travels, the payments are sometimes late and annoys the business partners. To secure his and partners business interests, he needs a easier way of making payments ©TechTalks, 2018
  • 30.
    Features In order toreceive payments for my work, As a prospective banking customer, I want to open a savings bank account ©TechTalks, 2018 In order to make payments to contractors, As a bank customer, I want to initialize a funds transfer from my savings account Who? What? Why?
  • 31.
    Story #1 ©TechTalks, 2018 Title:Open a savings account In order to receive payments for my work, As a prospective banking customer, I want to open a savings account
  • 32.
    Acceptance criteria ©TechTalks, 2018 Inputs: -Full name - Unique identifier (NRIC, FIN, Passport) - Address - Email address - Phone number - Agreement onT&C - AccountType: Savings Output: - Account number: 6 digit unique account number - Account type: Savings - Deposit funds - Withdraw funds - Statements - Debit card
  • 33.
    Story #2 ©TechTalks, 2018 Title:Transfer funds from one account to another In order to make payment to contractor, As a bank customer, I want to initialize a funds transfer from my savings account
  • 34.
    Acceptance criteria ©TechTalks, 2018 Inputs: -From account: 6 digit account number - To account: 6 digit account number - Amount: Decimal value greater than ZERO(0). Referred hereafter as $ Output: - Transaction id: Numeric id - From account debited of $(decimal value) - To account credited of $(decimal value)
  • 35.
    Product development ina nutshell ©TechTalks, 2018
  • 36.
  • 37.
    User Story Map ©TechTalks,2018 Backbone 1.0.0 1.0.1 1.0.2
  • 38.
    What isTDD? • “Setof techniques that encourages simple design and test suites that inspire confidence” – Kent Beck • Write a failing automated test before code • Remove duplication ©TechTalks, 2018 Write code to pass the test Refactor code without letting the test fail A failing test without code
  • 39.
    Gherkin language Feature: Knowledgesharing session Narrative: As a speaker, I want to record my talk, so that I can replay it later for audience who could not attend Scenario: Recording a session Given: I am a speaker in a session And: I have placed a camera in the room When: I start the recording Then:The session should get recorded ©TechTalks, 2018
  • 40.
    Validation & testing •Quality at the source • Continuous integration • Automated tests • Continuous deployment • Quick feedback ©TechTalks, 2018
  • 41.
    At the core •“It’s not about doing more work in less time: It’s about generating more value from less work.” – Steve Denning • “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software” – First principle of Manifesto of Agile S/w Development” ©TechTalks, 2018
  • 42.