Software product development basics

26
PRODUCT DEVELOPMENT (for a Software Machine)

Transcript of Software product development basics

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

Productdiscovery

MANIFEST!

1.000Manifestos: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

TheProductManifestobySVPG

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 customersegment(s) by creating gains and/or relieving their pains

PRODUCT PLANNING

Define 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

Requirementsvs.Specifications

Requirement:short statementof theproblem

Specification:howtosolvetheproblem

PRODUCT OPPORTUNITIES – ROADMAP

A 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

Ret

urn

on

inve

stmen

t

Abi

lity

to

exec

ute Prioritized

roadmap

PRODUCT OPPORTUNITIES – ROADMAP

Best practices:

1. Identify key stakeholders

2. Prepare list of questions, tailor per different group of stakeholders

3. Gather requirements and expectations (vision!)

4. Prepare a matrix of questions and answers

5. Convert answers into key takeaways

6. Cost them and probably split into 3 sets: short (within 6 months), middle (6-12 months), long term 12+ months

7. Score each of the key points

8. 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 SPECS

High fidelity mockups thatincorporate 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

Mustread: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.

MakingItRight:ProductManagementForAStartupWorld- http://amzn.to/1TPlDyX

MIND THE GAP!

Imagecredit

PRODUCT DEVELOPMENT PROCESS OVERVIEW

ProductPlanning

ProductExecution

ProductDiscovery

Astella is a Latin root that originated the words atelierand estaleiro (shipyard); a place where great heroes are

made, through science and art.