Product Development basics for software
-
Upload
martino-bagini -
Category
Technology
-
view
177 -
download
1
Transcript of Product Development basics for software
PRODUCT DEVELOPMENT(for a Software Machine)
10.000FT
THE DREAMING TREE
Product Releases
Product Principles Manifesto
Product OpportunitiesRoadmap
Product Minor Releases
Mission
Strategy
Objectives
Intermissions
Updates
PRODUCT TOP DOWN FLOW
Product OpportunitiesRoadmap
Product PrinciplesManifesto
Strategic Product PlanningRoadmap
Product discovery
MANIFEST!
1.000 Manifestos: http://www.1000manifestos.com/list
PRODUCT MANIFESTO
• Publicly declares the product's principles, beliefs and intentions
• Inspires the final customer, internal team and product’s own functionalities
• Prioritizes the product main elements, thus helping to identify and separate essential from incidental; strategic from tactical
• Clearly states why the product exists
The Product Manifesto by SVPG
MANIFESTS
• The Internet is an integral part of modern life–a key component in education, communication, collaboration, business, entertainment and society as a whole.
• The Internet is a global public resource that must remain open and accessible.
• The Internet should enrich the lives of individual human beings.• Individuals’ security on the Internet is fundamental and cannot be
treated as optional.• Individuals must have the ability to shape their own experiences on
the Internet.• The effectiveness of the Internet as a public resource depends upon
interoperability (protocols, data formats, content), innovation and decentralized participation worldwide.
• Free and open source software promotes the development of the Internet as a public resource.
• Transparent community-based processes promote participation, accountability, and trust.
• Commercial involvement in the development of the Internet brings many benefits; a balance between commercial goals and public benefit is critical.
• Magnifying the public benefit aspects of the Internet is an important goal, worthy of time, attention and commitment.
• Focus on the user and all else will follow.• It’s best to do one thing really, really well.• Fast is better than slow.• Democracy on the web works.• You don’t need to be at your desk to need an
answer.• You can make money without doing evil.• There’s always more information out there.• The need for information crosses all borders.• You can be serious without a suit.• Great just isn’t good enough.
PRODUCT OPPORTUNITIES
How your products and services will deliver value to the defined customer segment(s) by creating gains and/or
relieving their pains
PRODUCT PLANNINGDefine the problem you are trying to solve for users, the business opportunities that exist to solve the problems, and the core competencies that will help you make the solution a success
Problem - Solution frame Persona Customer Journey Map
Requirements Gathering
PRODUCT PLANNING – REQUIREMENTS GATHERING
A requirement is simply a short statement of the problem
Suggested format:
[Persona] has [problem] with [frequency]
Product Requirements
Product managers explore the problem, not the solution at this stage. Design team understands the context of the problem.
PRODUCT PLANNING – REQUIREMENTS GATHERING
Benchmark for well-written requirements:
• Is there a clear definition of the user(s)?
• Do I understand their problem / what they are trying to achieve?
• Do I have supporting documentation that provides the context about the persona and their problems so that I clearly understand how to design a solution to their problem?
PRODUCT PLANNING – REQUIREMENTS GATHERING
Requirements vs. Specifications
Requirement: short statement of the problem
Specification: how to solve the problem
PRODUCT OPPORTUNITIES – ROADMAPA plan of action for how a product or solution evolves over time.
It’s a communication tool that helps communicate where you are, where you are heading and how you expect to get there. Roadmaps should detail a high-level product vision and highlight basic prioritization for everyone in your organization, and customers too.
Understand customer needs and pain points
Understand competitive
environment – what they do well, what they
don’t
Prioritization
Stra
tegi
c al
ignm
ent
Retu
rn o
n in
vest
men
t
Abilit
y to
ex
ecut
e Prioritized roadmap
PRODUCT OPPORTUNITIES – ROADMAP
Best practices:1. Identify key stakeholders2. Prepare list of questions, tailor per different group of
stakeholders3. Gather requirements and expectations (vision!)4. Prepare a matrix of questions and answers5. Convert answers into key takeaways6. Cost them and probably split into 3 sets: short (within 6
months), middle (6-12 months), long term 12+ months7. Score each of the key points8. Prioritize
PRODUCT PLANNING – REQUIREMENTS GATHERING
If you are using AGILE (you should be): "as a 'role,' I want to 'perform an activity,' so that I can 'achieve a goal’”
+ acceptance criteria*
PRODUCT PLANNING - NEEDS vs. FEATURES
PRODUCT PLANNING - NEEDS vs. FEATURES
PRODUCT DISCOVERY - BRAINSTORMING
Tech filter starts hereIdeation Prioritization
PRODUCT DISCOVERY – FLOW AND WIREFRAMEFlow charting and wire framing
Start Functional Specifications: “A functional specification describes how a product will work entirely from the user’s perspective. It doesn’t care how the thing is implemented. It talks about features. It specifies screens, menus, dialogs, and so on.”
PRODUCT EXECUTION – FUNCTIONAL SPECSHigh fidelity mockups that
incorporate visual design to implement intended
solutions
Sample: http://www.joelonsoftware.com/articles/WhatTimeIsIt.html
Detailed flowcharts from user's perspective. With features
descriptions along with screens, menus, dialogs, and
error specifications.
PRODUCT EXECUTION – TECHNICAL SPECS
Must read: http://c2.com/cgi/wiki?TechnicalSpecification
A technical specification describe the internal implementation of the program.
It talks about software architecture, data structures, relational database models, choice of programming languages and tools, algorithms, etc.
Good technical specification can be as simples as Functional Specifications that follow a particular SoftwareArchitecture that has been chosen to guide the solution.Generally you have to decide things like: • Communication protocols, availability, SLAs etc.• Management structure, reporting structure, budgets, conflict
resolution• Source code control, bug tracking, builds, testing, release
policies, etc.• Software methodology, coding standards, languages, OSs, etc.• Frameworks, message passing, logging, which libraries to use,
etc.• Resource management, memory management, etc.• System startup, configuration, monitoring, licensing,
contingency, backup, etc.• Application architecture• …..
FROM PLANNING TO EXECUTION – ZOOM OUT
THE PRODUCT MANAGER
AKA: PRODUCT CEO
For product managers to succeed, there needs to be an executive mandate and company-wide understanding that even though
everyone gets a voice, product decisions ultimately reside with product managers.
Making It Right: Product Management For A Startup World - http://amzn.to/1TPlDyX
MIND THE GAP!
Image credit
PRODUCT DEVELOPMENT PROCESS OVERVIEW
Product Planning
Product Execution
Product Discovery
Astella is a Latin root that originated the words atelier and estaleiro (shipyard); a
place where great heroes are made, through science and art.
AGILE OVERVIEW
Discover
Design
Develop
Test
Busin
ess
Requ
irem
ents
Tech
nica
lDe
sign
Codi
ngTe
sting
Clie
nt O
kLa
unch
WATERFALL METHOD TEMPLATE
DiscoverDes
ignDevelop
Test
Test
Discover
Design
DevelopTe
st
Test
Discover
Design
Develop
Test
Test
AGILE METHODOLOGY LOOP
http://agilevideos.com/videos/why-agile-methods-business-value-roi/
Manifesto for Agile Software Development
We are uncovering better ways of developingsoftware by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and toolsWorking software over comprehensive documentation
Customer collaboration over contract negotiationResponding to change over following a plan
That is, while there is value in the items onthe right, we value the items on the left more.
Twelve Principles of Agile Software
15-30days
24hours
Product BacklogSample text
Sprint BacklogSample text
Sprint
Daily ScrumSample textSample textSample text
Working increment of the product
SCRUM PROCESS
Deliverable
…………..
1 2 3 n
ConfirmationBasket Delivery details
Existing customer
New customer
GOAL: TO BUY THE ITEMS IN MY BASKET
Add product to basket
List of selected items and quantities
Edit basket
Selectcheckout
option
Login
Enter name and email address
Enter address
Select save name and address
Add new name and address
New or existing Payment
Enter credit card details
NotesSeveral existing customers find it easier to checkout as a new customer as they don’t remember their username and password and find managing address fiddly. We should aim to make this much simply with the next release and enhance the process for repeat customers.
Confirm
SCRUM TASK BOARD TEMPLATE Company name
Stories To Do In Progress Testing Done
This is a sample text. Replace it with your own text.
This is a sample text. Replace it with your own text.
This is a sample text. Replace it with your own text.
This is a sample text. Replace it with your own text.
This is a sample text. Replace it with your own text.
This is a sample text. Replace it with your own text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text.
This is a sample text. Replace it with your own.
This is a sample text.
This is a sample text.
This is a sample text. Replace it with your own text.
This is a sample text. Replace it with your own text.
This is a sample text. Replace it with your own text.
KANBAN POWERPOINT TEMPLATECompany name
BACKLOG SELECTED DONEDEVELOPMENT
ONGOING DONE
TESTING
ONGOING DONE
DEPLOYMENT
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
XYZ
T1
XYZ
T2
ALE
T3T4 XYZ
T1
XYZ
T2
ALE
T6T7
MKO
S5
UJN
S9
TGB
S1
YHN
S2
EDC
S6S7
PQR
STU
GHI
ASF
S6S7
RTG
S6S7
ASD
WER
IKL
ZXC
CVB
BNM
DFG
HJK
http://www.cognizant.com/InsightsWhitepapers/Kanban-as-a-Tool-in-the-Agile-Toolbox.pdf
The formula is: D = V * T
It reads as: DONE Features = Velocity multiplied by Time
http://agilefromthegroundup.blogspot.it/2009/09/done-features-equals-velocity.html
Astella is a Latin root that originated the words atelier and estaleiro (shipyard); a
place where great heroes are made, through science and art.