product definition, product vision, product life cycle · • product managers -> overall market...

34
www.cs.helsinki.fi Product definition, product vision, product life cycle Tommi Mikkonen Dept. Computer Science University of Helsinki, Helsinki. Finland [email protected]

Upload: others

Post on 18-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

www.cs.helsinki.fi

Product definition,product vision,

product life cycleTommi Mikkonen

Dept. Computer ScienceUniversity of Helsinki, Helsinki. Finland

[email protected]

Page 2: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Product definition, product visionProduct creation and product life cycleSoftware evolution view to productsScaling product managementFor further readingSummary and conclusions

Content

Page 3: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Product management

Components- Versioning: Which versions exist, how

to find old versions, etc. - Identification: Which component this is?

What properties it has?- Production: How to create a particular

component (which compiler version, whichflags, etc).

- Change management: How to preventsimultaneous changes, which changeshave been made, …

Configuration- Versioning: Which versions exist, how to

recreate old versions, …- Identification: Which configuration this is,

which components and component versionsare used by client x’s installation y …

- Production: How to build client x’sconfiguration a.b.c

- Change management: Which components(and their versions) a certain change willhave an effect on? Which configurations(and their versions) a certain change willhave an effect on? …

Practices, processes, etc.- Responsibility and privileges- How phase products move from one system/phase to next?- How new versions are approved and released?- How change proposals and error reports are made, managed and processed? - Archives and backups…

Page 4: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

“A good or service that most closely meets the requirements of a particular market and yields enough profit to justify its continued existence.” - http://www.businessdictionary.com/definition/product.html

“The totality of goods or services that a companymakes available”- http://www.dictionary.com/browse/product

Software product definition

Page 5: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

“For a mid-sized company’s marketing and sales departments who need basic CRM functionality, the CRM-Innovator is a Web-based service that provides sales tracking, lead generation, and sales representative support features that improve customer relationships at critical touch points. Unlike other services or package software products, our product provides very capable services at a moderate cost.” - https://www.joelonsoftware.com/2002/05/09/product-vision/(as proposed by Jim Highsmith Practice Director, Agile Project Management, Cutter Consortium.)

Software product vision

Page 6: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

• For (target customer)• Who (statement of the need or opportunity)• The (product name) is a (product category)• That (key benefit, compelling reason to buy)• Unlike (primary competitive alternative)• Our product (statement of primary differentiation)

https://www.joelonsoftware.com/2002/05/09/product-vision/

Software product vision

Page 7: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Product life (US Department of Justice (2003). INFORMATION RESOURCES MANAGEMENT Chapter 1. Introduction.)

Page 8: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Product life (US Department of Justice (2003). INFORMATION RESOURCES MANAGEMENT Chapter 1. Introduction.)

Great opportunities to create useless inventories!

Page 9: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

https://en.wikipedia.org/wiki/Crossing_the_Chasmhttps://en.wikipedia.org/wiki/Product_life-cycle_management_(marketing)

Product life cycle management

Page 10: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

World does not stand still at maintenance: iterations, versions, etc.(https://en.wikipedia.org/wiki/Systems_development_life_cycle)

… …

Page 11: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Methodologial vs. ad-hoc feedback loops

• Prototyping• Incremental development• Sprints• Lean startup

Page 12: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Prototyping (& partly also demos)

Goals

• Figuring out what is technicallydoable

• Validating designs and predicting large problems

• Communication, assuring management and other stake-holders

Attributes

• Cycle length: From hours to months

• Team size: From one developer to a team of developers

• Termination condition: Full stop once a technological solution is proven to be feasible.

Page 13: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Incremental development

Goals

• Provide value to the customers already during the project.

• Taking advantage of new technology.• Assuring users that the development is continuous and on-going.

Attributes

• Cycle length: Any given time that is needed to get a new increment done..?

• Team size: Software team (and the related stakeholders)

• Termination condition: When the new software asset/increment is considered done.

Page 14: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Sprints

Goals

• Responding to emerging user needs• Helping in execution and coordination of the work

• Improving the ways of working• Guiding to frequent evaluations of new parts of the system

Attributes

• Cycle length: One to four weeks• Team size: Software team• Termination condition: Calendar

deadline (1-4 weeks)

Page 15: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Lean startup

Goals

• Gathering justifiable evidence ifprofitable, scalable user needs exist.

• Evaluating if a hypothesized business model is feasible to satisfy the user needs.

• Learning by creating MVPs.

Attributes

• Cycle length: From days to weeks• Team size: From a single

developer to a whole softwareteam.

• Termination condition: Once the learning goal can be validatedwith statistically significant results.

Page 16: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Focus Motivation Goal Staff

Prototyping Feasibility and implemen-tability

Almost always technical in nature

Explore design space for a particular solution

individual developer, team of developers

Incremental development

Scoping the technical work feature-wise

Mix between business and technical aspects

Organize company operations as a whole in releases

Affects the whole organization

Sprints Scoping the technical work time wise

Liberate devel-opers from constant changes to a fixed set of features

Considers mostly development aspects.

Executed by a Scrum team up to 12 people; variations exist

Lean startup Learning and experimenting

Business oriented in nature.

validate a business hypothesis with minimum effort

Usually executed only by a minimal team

Page 17: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

“More is better”?

http://upload.wikimedia.org/wikipedia/en/thumb/6/6b/Redkali3.jpg/220px-Redkali3.jpg

v. 2.0

v. 1.0

http://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Statua_della_Sirenetta-_2014-01-20_00-37.jpg/240px-Statua_della_Sirenetta-_2014-01-20_00-37.jpg

Page 18: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

“Process of developing software, then repeatedly updating it for various reasons”“Over 90% of the costs of a typical system arise in the maintenance phase, and

that any successful piece of software will inevitably be maintained” - Fred Brooks

“Agile methods stem from maintenance-like activities (originally in and around web based technologies)”

- Wikipedia

Software evolution view to products

Page 19: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Lehman’s laws of software evolution(https://en.wikipedia.org/wiki/Lehman%27s_laws_of_software_evolution)

S-type programs are those that can be specified formally;

P-type programs cannot be specified but an iterative process or procedure is used to find a working solution;

E-type programs are embedded in the real world and become part of it thereby changing it, and requiring a feedback system where the program and its environment evolve in coordinated fashion.

Algorithms, e.g. sorting

Process control, e.g. maintaining correct temperature

Systems that interact with people and other parts of their environment

Page 20: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Continuing Change. All E-type systems need continuous adaptation or they become progressively less satisfactory.

Increasing Complexity. Because all E-type systems evolve, their complexity increases unless work is done to reduce it.

Self-Regulation. E-type system evolution process is self-regulating with distribution of product and process measures close to normal.

Conservation of Organizational Stability. The average effective global activity rate in an evolving E-type system is invariant over a product lifetime.

Continuing Growth. The functional content of an E-type system must be continually increased to maintain user satisfaction.

Characteristics of an E-type system

Page 21: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Conservation of Familiarity. As an E-type system makes everything associated with it evolve, developers, sales personnel, users, for example, must maintain mastery of its content and behavior to achieve satisfactory evolution. Because too rapid growth diminishes that mastery, the average incremental growth remains invariant as the system evolves.

Declining Quality. The quality of E-type systems will appear to be declining unless they are rigorously maintained and adapted to operational environment changes.

Feedback System. E-type evolution processes constitute multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement over any reasonable base.

Characteristics of an E-type system

Page 22: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

• Corrective – diagnosing and fixing errors, possibly ones found by users

• Adaptive – modifying the system to cope with changes in the software environment (DBMS, OS)

• Perfective – implementing new or changed user requirements which concern functional enhancements to the software

• Preventive – increasing software maintainability or reliability to prevent problems in the future

Types of upgrades(https://en.wikipedia.org/wiki/Software_maintenance)

Page 23: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Corrective maintenance: Reactive modification of a software product performed after delivery to correct discovered problems.

Adaptive maintenance: Modification of a software product performed after delivery to keep a software product usable in a changed or changing environment.

Perfective maintenance: Modification of a software product after delivery to improve performance or maintainability.

Preventive maintenance: Modification of a software product after delivery to detect and correct latent faults in the software product before they become effective faults.

Types of upgrades(ISO/IEC 14764)

Page 24: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Maintenance specialists 35%High staff experience 34%Table-driven variables and data 33%Low complexity of base code 32%Y2K and special search engine 30%Code restructuring tools 29%Re-engineering tools 27%High level programming languages 25%Reverse engineering tools 23%Complexity analysis tools 20%Defect tracking tools 20%Y2K “mass update” specialists 20%Automated change control tools 18%Unpaid overtime 18%Quality measurements 16%

Maintenance factors (for/against success)Error prone modules -50%Embedded variables and data -45%Staff inexperience -40%High code complexity -30%No Y2K of special search engines -28%Manual change control methods -27%Low level programming languages -25%No defect tracking tools -24%No Y2K “mass update” specialists -22%Poor ease of use -18%No quality measurements -18%No maintenance specialists -18%Poor response time -16%No code inspections -15%No regression test libraries -15%

Page 25: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Vote: Does PO role scale?

Page 26: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Example: Mozilla connected devices process(https://wiki.mozilla.org/Connected_Devices/Product_Innovation_Process)

Page 27: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)
Page 28: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Example: The Long Tail (http://www.longtail.com/about.html)

Page 29: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)
Page 30: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Product Owner vs. Product management• Product Managers -> overall market success of their products, not just

delivery of software• Product Owner (agile/sw term) -> Small subset of the Product Management

Option #1: Product management picks up additional, tactical responsibilities of the Scrum product owner• Does not scale: agile teams require intense, daily tactical support.• Product managers usually not interested in the technical part

Option #2: Product owners assume some of the responsibilities of the product managers• Overlapping responsibilities; “Who decides what the product is supposed to

do?”• POs are unlikely to be trained or skilled in the other aspects of the traditional

product manager role

Scoping product management “in the large”

Page 31: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Option #3: Dual agile roles• market/customer-facing product managers

…. continue in their role along with most of their existing responsibilities, … adopt agile practices, including taking on a tighter relationship with the development teams.

• solution/product/technology-facing product owners … are either technically inclined product managers or business analysts, or development team members who are interested in that new role

• … assume the agile team product owner responsibilities but also take on a tighter relationship with product management

Scoping product management “in the large”

Page 32: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

PO vs. PM: An agile interpretation

Agile product owner• Technology/team facing• Co-located (and also reports

to) development or technology• Focus on product and

implementation technology• Owns the implementation• Drives iterations

Agile product manager• Market /customer facing• Co-located (and reports to)

marketing or business• Focus on market segments,

product portfolio, return on investment (ROI)

• Owns the the vision and product roadmap

• Drives the release

Page 33: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Product vision:https://www.joelonsoftware.com/2002/05/09/product-vision/

Iterative cycles:http://scholarspace.manoa.hawaii.edu/handle/10125/41874

Software inventory (and how Trello was ideated):https://www.joelonsoftware.com/2012/07/09/software-inventory/

Lehman’s laws (of software evolution):https://en.wikipedia.org/wiki/Lehman%27s_laws_of_software_evolution

Scrum anti-patterns (as requested in the class):http://ieeexplore.ieee.org/abstract/document/6805443/

For further reading

Page 34: Product definition, product vision, product life cycle · • Product Managers -> overall market success of their products, not just delivery of software • Product Owner (agile/swterm)

Product vision needed to guide the development towards new versions

• To whom, why better than competition, why specia

Iterative approach is a practical must to learn & scope things as you go

Software evolution driving towards more and more complex designs

Scaling PO role up is practical, but requires discipline

Summary and conclusions