59. 产品团队之业务分析能力拼图
Understand Needs of
the Customer
Develop Product
Strategy
Manage Product
Portfolio
Achieve Customer
Acceptance
Define Business
Requirements
Product Strategy Solution Requirements Develop Product Launch Product
Operate and Support
Product
Define Product
Backlog
Establish Product
Vision
Define Product
Roadmap
Plan Launch
Engage Stakeholders
Planning
Coordinate Launch
Establish
Development
Environment
Manage Suppliers
Ensure Process
Adherence
Identify and Remove
Impediments
Ensure Internal
Communication
Maintain Work
Environment
Develop Team
Support Operations
Provide Customer
Support
Support
Implementation
Coordinate Work
Maintain Architecture
Understand
Requirements
Maintain Product
Quality
Design and Engineer
Solution
Deploy Product
Integration Testing
Learn from Outside
Sources
Commit To Agility
Manage Risks Provide Job Training
Everyone
Environment
Perform Maintenance
and Customizations
Product Development
60. 产品团队之工程技术能力拼图
Understand Needs of
the Customer
Develop Product
Strategy
Manage Product
Portfolio
Achieve Customer
Acceptance
Define Business
Requirements
Product Strategy Solution Requirements Develop Product Launch Product
Operate and Support
Product
Define Product
Backlog
Establish Product
Vision
Define Product
Roadmap
Plan Launch
Engage Stakeholders
Planning
Coordinate Launch
Establish
Development
Environment
Manage Suppliers
Ensure Process
Adherence
Identify and Remove
Impediments
Ensure Internal
Communication
Maintain Work
Environment
Develop Team
Support Operations
Provide Customer
Support
Support
Implementation
Coordinate Work
Maintain Architecture
Understand
Requirements
Maintain Product
Quality
Design and Engineer
Solution
Deploy Product
Integration Testing
Learn from Outside
Sources
Commit To Agility
Manage Risks Provide Job Training
Everyone
Environment
Perform Maintenance
and Customizations
Product Development
61. 产品团队之工程领导协作拼图
Understand Needs of
the Customer
Develop Product
Strategy
Manage Product
Portfolio
Achieve Customer
Acceptance
Define Business
Requirements
Product Strategy Solution Requirements Develop Product Launch Product
Operate and Support
Product
Define Product
Backlog
Establish Product
Vision
Define Product
Roadmap
Plan Launch
Engage Stakeholders
Planning
Coordinate Launch
Establish
Development
Environment
Manage Suppliers
Ensure Process
Adherence
Identify and Remove
Impediments
Ensure Internal
Communication
Maintain Work
Environment
Develop Team
Support Operations
Provide Customer
Support
Support
Implementation
Coordinate Work
Maintain Architecture
Understand
Requirements
Maintain Product
Quality
Design and Engineer
Solution
Deploy Product
Integration Testing
Learn from Outside
Sources
Commit To Agility
Manage Risks Provide Job Training
Everyone
Environment
Perform Maintenance
and Customizations
Product Development
75. User Interface Action Data Control Environment Quality Attribute
Customer What types of
users might
access this chat
feature?
What will the interface
look like? Are there
interfaces to external
data files needed?
What type of
actions will
users take
when using
this chat
feature?
What data is
needed to
support those
user actions?
Are there any
constraints on
what user can or
cannot do in the
chat feature or
on data they can
access? Are
there any rules
about what data
we can store?
Will it work on a desktop
app or mobile as well? If
on a mobile device, which
ones?
What are customer’s
expectations around
response time and
usability?
Business How does this
chat feature
distinguish us
from the
competition in
the mind of the
user?
How important is the
user interface design
to the success of this
chat feature? To be
competitive, do we
need to interface with
any external databases
or systems?
How can
these actions
push
customers to
a cart or
purchase?
What data is
most useful
for business
analysis of the
value of this
chat feature?
Are there any
regulations or
internal policies
that we need to
conform to for
this chat feature?
What are device
platforms should we
support for the best ROI?
Can we quickly move
from one chat center to
another to reduce costs?
How much
infrastructure can we
afford and how will it
translate to response
time?
Technology Who are the
roles that
interact with
the chat
feature?
What design will
satisfy the user
experience? What
APIs do we need for
the actions to
communicate with
business systems?
Does the
team have
the skills and
knowledge to
implement
the chat
feature?
Where do we
store the data,
protect the
data, and
expose the
data?
How do we
ensure that the
chat interface is
secure?
What software and
hardware platforms will
be use? What application
development experience
do we need to support all
the requested platforms?
Can the chat quickly
scale to meet peak
times and still maintain
a reasonable response
time? How can we
ensure the chat is fast
enough?
78. 产品版本规划方法
• 从影响地图(Impact mapping)到用户故事地图(User Story Mapping)
– 每一个版本都应当有明确的商业意图,形成合力
– 通过KPI指标对结果进行监控,评测产品版本
Our Job is NOT to develop
software, our job is to
change the world.
- Jeff Patton
82. 功能流程设计方法 – UML时序图
sd Interaction2
«business actor»
End User Manager IT Project Manager Enterprise
Architect
Legal Officer Tender
Management
System
Contract
Management
System
Review and Supplement System Specification()
Prepare System Specification()
Supplement Tender with Legal Terms()
Prepare Tender Document()
Review Tender Document()
Search Contracts()
88. Process & Organisation Technology Quality assurance Deployment routines
Configuration
management
Build & Continuousintegration
Advanced
Self organised and cross
functional.
The team can solve any task.
Releases continuously.
Continuous improvement.
DevOps!
Loosely coupled
architecture.
It is easy to replace
technology for the
benefit of something
better (Branch by
abstraction).
All testing automated.
Almost all testing is automated,
also for non-functional
requirements.
Testing of infrastructurecode.
Health monitoring for applications
and environments and proactive
handling of problems.
One-clickdeploy.
Everybody (includingthe
customer) can deploy with one
click.
0-downtime deploy.
Feedback on database
performanceand deployment for
each release.
Infrastructureas code.
Fully automated
provisioningand
validation of
environments.
Orchestration of
environments.
Build/deploy pipeline.
Same binary is deployed to all
environments.
Continuous improvement and
automation of repeating tasks.
Optimised for rapid feedback and
visualisationof integration problems.
Intermediat
e
Pull-basedprocess.
Measurement and reduction of
cycle time.
Continuous focus on process
improvement.
Always production ready code.
Simple technology.
In depth knowledge
about each technology;
why it is used and how it
works.
All of the technologies
used are easy to
configure and script
against.
Technology that makes it
simple to roll back and
forth between database
versions.
Automated functional tests.
Automated acceptance and
system tests.
Tests are written as part of
requirements specification.
All stakeholders specify tests.
Automated deploy.
Same process for deploy to all
environments.
Feature toggling to switch on/off
functionalityin production.
Release and rollbackis tested.
Database migration and rollbackis
automated and tested for each
deploy.
Database performanceis
monitored and optimised.
Application configuration
control.
All application
configurationin version
control.
The application is
configured in one place.
Self service of
development-and test
environments.
Continuous integration
Continuous integrationof source
code to mainline.
All changes (code, configuration,
environments, etc.) triggers the
feedback mechanisms.
Artifact repository.
Reuse of scripts and tools.
Generation of reports for the build.
Builds that fail are fixed immidiately.
Baseline
Agile 101.
Improved communicationwith
business.
Releases after each iteration.
Developers have access to
production logs.
Best-of-breed.
Chooses technology stack
based on what is best for
each purpose.
Preferencefor Open
Source.
Avoids products that
causes vendor lock-in.
Automated technical tests.
Automated unit and integration
tests.
Repeatable deploy.
Documented and partially
automated deploy.
Database changes are scripted
and versioned.
Dependency control.
Dependencies and
librariesare defined in
version control.
CI-server
Automation of builds/tests on CI
server.
Can recreate builds from source
code.
Big
challenges
Silo organisation.
People who in some way depend
on each others work are not co-
located.
Infrequent releases.
Developers do not have access
to production logs.
"Enterprise"
infrastructure.
Technology that can only
be configured via a GUI.
Large "enterprise" suites
claimingthey can solve all
your problems.
Manual testing.
Test department.
Testing towards the end, not
continuously.
Developers do not test.
Manual deploy.
Deployments require many
manual steps.
Manual and unversioned
database migrations.
Manual configuration.
Manual configurationin
each environmentand on
each server.
Manual routines
Manual routines for builds.
Lack of artifact repository.
Lack of reports.