Getting to Product Lessons-learned on how to develop and position a software product-line...

20
Getting to Product Lessons-learned on how to develop and position a software product-line architecture for long-term success Jim Wilson, CTO MD ColdFusion Users’ Group – November 14, 2000

Transcript of Getting to Product Lessons-learned on how to develop and position a software product-line...

Getting to ProductLessons-learned on how to develop and position a software product-line architecture for long-term success

Jim Wilson, CTO

Getting to ProductLessons-learned on how to develop and position a software product-line architecture for long-term success

Jim Wilson, CTO

MD ColdFusion Users’ Group – November 14, 2000

OverviewOverview Welcome! VRAPS authors

» Dave Dikel (lead author) – Senior Architect, SRA» Dave Kane – Directory of Technology, SRA» Jim Wilson (speaker) – CTO, Cyberserv» Also, Don Bellenger, Cyberserv’s VP of Products

Key Elements for Getting to Product» Concept and value proposition» Doing the right thing with the right technology – XML/WDDX,

JS, ColdFusion» Making it happen again and again – software product line

architecture» Marketing and positioning – something to sell, someone to sell,

someone to sell it to, and someone to support it» Making it right for the long-term – Software Architecture:

Organizational Principles and Patterns

Scope & StyleScope & Style This is an informal presentation … based primarily on the

speaker’s work to bring a ColdFusion product-line to market Our book is much more rigorous and formal – e.g., it can be

used as a textbook, contains formal case studies, experience from large-scale organizations like HP & Lucent, provides benchmark tools

We would like to learn about other folks most pressing problems, and think about them … feel free to ask questions

Also, our book is coming out next month … we’ll be doing many more talks, and we’d like to learn from you how we can make our presentations more valuable

HandoutsHandouts This Presentation IEEE Computer: Applying Software Product-Line Architecture Software Architecture: Organizational Principles and Patterns

– Galley Proofs (Preface) Current Analysis – Cyberserv: Mid-tier Companies Can be

More Cyber Other marketing stuff …

Value PropositionValue Proposition Cyberserv experience

» You need to set a vision that aligns with your internal capabilities and customer needs

» Cyberserv worked at this hard … and sometimes painfully We were a phone company We were an Oracle consulting house We were building an early ColdFusion product

» At the end of the day, really working hard to learn about our marketplace, technical abilities and our customers was key to forming a vision that works …

“Elevator Speech”“Elevator Speech” Simple Version

» beCyber is a help desk on steroids for the knowledge worker. Complex version

» beCyber is Cyberserv’s enterprise relationship management (ERM) software for complex, multi-level work environments

beCyber supports the real-world work of the knowledge worker within and across functional and organizational boundaries

beCyber models relationships and supports information transactions, end-to-end, across the value chain

» How does beCyber do this? beCyber provides multi-level client, project, subproject, task, action,

and event modeling – the frequently disorganized tree of information and work in a project or a collection of projects

beCyber relates rich, Web-centered content to these relationships –content includes information about people, documents, threaded discussions, calendars, projects and tasks, and knowledge bases

“Getting to Product”“Getting to Product” In “Getting to Product,” we

» Created and evolved an architecture and family of applications» Brought beCyber to Alpha and through a series of Beta’s and

‘early lives’» Hired a PR firm and executed a marketing strategy

Held internal messaging and media workshops Screamed about our company and beCyber

» Took Cyberserv and beCyber to industry analysts and the press We refined our message and asked questions all the way This resulted in articles, referrals etc.

» Started taking orders sold to Bank of America, Financial Times, AIA, Case …

Architecture – What? Architecture – What? Formally, software architecture is a collection of components,

connections among components, and constraints governing those connections

Informally, software architecture is the clear structure that defines a product and that is consistently shared among and used by developers to develop products

Generally, the more products an architecture can support, the more valuable the architecture

A good way to think about an architecture is that it is a shared platform for doing work.

Architecture – Why? Architecture – Why? Reduces complexity – Architecture tends to enforce desired

behaviors and solve really useful (but often difficult) problems Is shared – it let’s other people contribute Let’s you focus on what you do best … you can buy and/or integrate

the rest Speeds time-to-market – it’s there, it’s reusable, you can keep

perfecting it, without building from the ground-up Reduces need for collateral, documentation, training, etc. Can establish a barrier to entry … something you can build upon that

competitors cannot match Architectures that are long-lived deliver increasing value over time Architecture captures and memorializes intellectual capital

beCyber Architecture beCyber Architecture SQL/SQLServer and Oracle for data XML/WDDX for data transport between client and server, and

for server-to-server syndication ColdFusion for server side logic JavaScript for client processing HTML/DHTML for client appearance WAP/WML in progress; as is Java

WDDXXML

ColdFusionColdFusionServerServer

CF ServerCF Server

ASP ServerASP Server

JavaScript JavaScript BrowserBrowser

Windows/JavaWindows/JavaClientClient

XML

WDDX

The The NetNet

Customer-centric ArchitectureCustomer-centric Architecture

CustomerCustomerCustomerCustomer

beCyber MyPagebeCyber MyPage

Future …Future … Broader Application and Data Syndication

» Support for Coordination of Events and Data among Distributed Instances of beCyber – e.g., Denver customer support and RTP R&D

Workflow Extensions

» Routing of Content and Tasks to Distributed Knowledge Workers Additional Platforms

» Extended PDA, WAP Interfaces to MyPage

» Back-office Integration ‘Fuel Packs’

» Flash UI – e.g., look at http://www.cyberserv.com/cyber-flash/portfolio.html 

“Ask the Analysts”“Ask the Analysts” Analyst Road Show(s)

» Gartner, Jupiter, Hurwitz, Current Analysis, Aberdeen, Yankee, Meta …» We learned a lot … we posed very specific questions of analysis …

I.e., what’s most important about our offering? True web-built architecture (not just “Web Enabled”) Delivers a high level of business process transparency Ideal for ASP deployment under private label Rapid deployment, easy on the culture, affordable Integrated CSS, project collaboration, personal portal (MyPage)

and e-Marketing apps eCRM solutions and technical e-support under one roof Value proposition based on concurrent user model and OEM option Senior staff expertise in both CRM and Help desk Vertical industry CRM expertise and strategy in niche markets

Results» Invaluable positioning information – advice we could not buy» Several analyst quotes/articles, articles in trade press

Long-term “glue”Long-term “glue”

Background – long-term experience with SA; Observations at Bell Canada/BNR; Hypothesis & Grounded Research; Advisors; Software Architecture Benchmark

Book – Key FeaturesBook – Key Features Model and framework – correlation with other work in software

architecture and organizational behavior 5 Principle Chapters (VRAPS)

» Definition, Description» Criteria – Patterns and Antipatterns» Real-world experience – HP, AT&T, Microsoft, Lucent,

Andersen Consulting, ‘dot-com’ start-ups The Allaire Case Study Benchmark Chapter – Tools you can use to measure Extensive references Available – December 2000 (Prentice-Hall, ISBN 0-13-029032-7)

VRAPS PrinciplesVRAPS Principles Vision (Chapter 3) – the mapping of future value to

architectural constraints as measured by how well the architecture’s structures and goals are clear, compelling, congruent, and flexible.

Rhythm (Chapter 4) – the recurring, predictable exchange of work products within an architecture group and across their customers and suppliers.

Anticipation (Chapter 5) – the extent to which those who build and implement the architecture predict, validate, and adapt the architecture to changing technology, competition, and customer needs.

Partnering (Chapter 6) – the extent to which architecture stakeholders maintain clear, cooperative roles and maximize the value they deliver and receive.

Simplification (Chapter 7) – the intelligent clarification and minimization of both architecture and the organizational environment in which it functions.

Vision.OverviewVision.Overview Definition – Vision is the mapping of future value to architectural constraints as

measured by how well the architecture’s structures and goals are clear, compelling, congruent, and flexible.

How – Dean Thompson (HP/Agilent)

» Articulate a compelling customer value clearly and concisely

» Map the value to a small set of specific, solvable problems

» Translate these problems into a minimal set of constraints Vision Challenges

» Limits of Architect Influence

» Executive and Architect Cooperation

» Product Lines Increase the Challenges to Architects and Architects Case Study

» Allaire – We learned of this behavior at Allaire … ColdFusion identified and solved a clear problem within a minimal set of constraints, getting data to the Web using a server-side mark-up language.

» J.J. Allaire (founder, Allaire) said – “There is a magical balance between structure and function. A vision exists that is implicit in the behavior of many individuals at Allaire. We work on identifying what that vision is, culling out what is happening, and identifying the implications of strategy on our product line. We work to cull out what customers do, what they want, what they need, to make our vision effective.”

Vision.CriteriaVision.Criteria Criterion 1: The architect's vision aligns with what his or her

sponsors, users and end customers are trying to accomplish» Antipattern: ANTIGRAVITY MODULE» Pattern: FRONT-END ALIGNMENT

Criterion 2: Practioners trust and use the architecture» Antipattern: TREND SURFER» Pattern : GENERATIVE VISION

Criterion 3: Tacit knowledge about architecture and components is visible and accessible to users» Antipattern: FOLLOWING ORDERS» Pattern: ROTATION

www.cyberserv.com

Information?Email [email protected]