As software developer,
1)how to design your career developement ladder;
2)how to build your domain expertise;
3)how to observe industrial techinical trend
4. Roadmap of technical excellence
Industry-wide
Product line & Company-wide
Product line
Product
Feature areas /
components
A feature area /
component
A
feature
5. Action guideline to achieve technical excellence
1. Build domain expertise
2. Reflect expertise into product/service
3. Use expertise to improve engineering method
4. Share expertise to influence bigger audience
6. How to build domain expertise
• Laser focus on your domain by using 5 factor
framework
• Have bird’s-eye view of the value chain you’re
in
8. 5 Factors: Customer
Definition
Customer refers to Internal/external/beta user of our product/service and partner as well
Action
Identify/establish feedback channel of customer
Checklist
1) Pillar Scenarios/User behavior
2) Key performance indicator that effects their purchase/UX
3) Concerns to adopt (Fear, Uncertainty, Doubt etc.)
4) Needs/Pain points from their daily work/process/tool (esp. those complex, error prone,
resource consuming, repeated, tedious, ugly stuff)
5) Demand/complain to existing product(feature improvement/requirement)
6) Customization to adopted product, new way to use our product
7) Other product/tools used by customers to integrate our product
8) Operation / IT support resource/process/costs related to our product
9) Their evolution path
10) Localized requirement (not only local language but also local user’s special needs)
9. 5 Factors: Competitors
Definition
Competitors refers to not only existing competitors but also potential entrants
Action
Identify competitive landscape and information channel
Checklist
1) Feature list
2) Their observation to customer
3) Architecture/design and use scenarios to walk through in order to evaluate it in terms of
performance/security/scalability/extensibility/reliability/maintainability/testability/diagnosa
bility
4) Standard/protocol/interface/API
5) Engineering method/process/tool used to build product
6) Operation and corresponding infrastructure
7) Customer’s feedback to their offer
8) Roadmap
9) Software/Hardware requirement & limitation
10. 5 Factors: Dependent Technology
Definition
Dependent technology refers to not only adopted product/service/infrastructure from
3rd party/internal but also complementary product/service
Action
Identify/establish information channel to monitor their status
Checklist
1) Pillar scenarios/capability
2) Software/hardware/underlying platform requirement
3) System limitation e.g. capacity, scalability and performance etc.
4) Standard/protocol/interface/API and assessment in terms of compliance and
openness
5) Evolution path & roadmap
11. 5 Factors: Emerging Technology
Definition
New technology/methodology/process has superior potential to be used as substitute of
existing ones adopted by us
Action
Set up radar to scan those potential area
Checklist
1) Relevant research of academia
2) Relevant productserviceengineering methodology & process of other industries of
companies other than your competitors
3) New product/service has similar functionality and potential to be substitute of our offer
from customer’s perspective
4) Potential substitute of product/service to used to replace our dependent software
12. 5 Factors: Our Production/Service
Action
1. Study how our product/service works
2. Anticipate and capture customer's needs
3. Learn from competitor
4. Take full advantage of depedent technology
5. Proactively embrace emerging technology
13. 5 Factors: Our Production/Service
Checklist Of action 1
• supported Scenarios
• current architecture and design - hierarchy of
system/subsystem/component/module, corresponding concept, design and applied principles
& rules
• current architecture and design - interface & interaction between architecture elements
• current architecture and design - interaction w/ external environment and relevant
standard/protocol/interface/API
• current architecture and design - principles guiding design & evolution
• product strategy/vision/roadmap
• adopted engineer approach: process/tool
• previous milestone review & postmortem findings
• other team’s engineering practice
14. 5 Factors: Our Production/Service
Checklist of action 2:
• customer's feedback captured as scenarios and system requirement
• Use scenario to walk through our product/service in order to evaluate the current
architecture/design in terms of
performance/security/scalability/extensibility/reliability/maintainability/testability/
diagnosability, to figure out and prioritize new feature/enhancement
• Standardize the protocol/interface/API for the sake of improving
interoperability, lower switch cost and smooth learning curve
15. 5 Factors: Our Production/Service
Checklist of action 3:
• figure out missing scenario(s) by feature comparison
• combine their customer's feedback w/ ours if necessary
• learn design/engineer approach that give them advantage against us.
Checklist of action 4:
• take full advantage of existing capability and enhancement in new release
• take into account and control dependency's change and impact to our
architecture/design
• substitute underlying technology with alterlative competitive solutions
• standardize the interface to influence supplier vendors and increase
interoperability
Checklist of action 5:
• evaluate impact of new technology/engineering method to our current
architecture/design
• how to incorporate new technology/engineering method
16. Build domain Expertise: Bird’s-eye view
Model of E2E value chain
Start
Your
Prod/Svc
add it into your value chain
Dependent
Prod/Svc Channel Customer
Tech
Dependen
If any supplier including dependent & Prod/Svc
t Prod/Svc
complementary prod/svc, put it into
Dependen
If customer is not end user but a Prod/Svc
t Prod/Svc
product or service, put it into
Set of prod/svc
is empty
Yes
End
18. Usage of value chain tool
• Get E2E view for how value of a technical solution is added incrementally and delivered to
end user
• Seeking business opportunity in a particular value chain where we can add value by providing
product/service
• Recognize ecosystem:
– For each activity, identify its player (e.g. ISV, Dev, IHV, OEM vendor, MO etc.)
– For a particular product/service, its player, upstream supplier and downstream buyer and channel in the chain are
stakeholders, which consists of its ecosystem
– For a particular type of product/service, all of its producer, supplier, buyer and channel consist of the industrial
ecosystem
– A product/service can’t thrive without taking interest of all stakeholders in its ecosystem into account.
• From upstream angle:
– Monitor and anticipate upstream industrial change
– Evaluate impact from change in upstream
– Lead/influence by standardization
– Monitor and anticipate the tendency of down-integration
• From downstream angle:
– Estimate impact of your change to your buyers/partner
– Standardize the protocol/interface/API to coordinate development, improve interoperability, lower switch cost and
smooth learning curve
– Monitor and anticipate tendency of up-integration
Editor's Notes
Domain Expertise: understand and anticipate customer’s needs and know how to build product/service that satisfies them in a particular area. It relies on our execution capability:Software construction: architecture/design/code/debug/testing, e.g. OOA/OODSoftware process: choose/tailor/optimize software process to build and deliver satisfying product/service in cost-effective and productive way.This slide covers only how to build domain expertise.Regarding software construction, there’re bunch of textbook covers it. We won’t repeat it here.Regarding software process, we’ll address it later.
We’re working on different scope which creates difference impact. Meanwhile, difference scope has difference requirement for technical proficiency level.How can we achieve technical excellence continuously? This slide tries to illustrate the roadmap.
To build domain expertise, it help usUnderstand our Situation and Anticipate change in order to Prioritization and Execution (SAPE)Explore inspires innovationChinese Citation: “从小处着手,从大处着眼”
A value chain is a chain of activities. Products pass through the chain in order and at each activity it add some value.This modeling tool is used for the purpose of iteratively figuring out the End to End value chain which we’re working on.