Enterprise Product Architecture(EPA) is a new kid on the block that hasn't been established as well nor even well understood by industry analysts, yet it may be crucial for software product companies. EPA combines methods and governance models of EA however directed at customer facing solution or software products which gives it a distinctly different set of concerns and techniques.
1. Max Poliashenko, Chief Enterprise Architect, WK Tax & Accounting
Enterprise Product Architecture December 2012
2. Max Poliashenko
Chief Enterprise Architect
Wolters Kluwer TAA-NA
Max leads the Enterprise Architecture practice across
WK TAA-NA and defines its Technology Strategy as well
as oversees the architecture of its software product
lines. He chairs the Architecture Review Board, which
performs EA governance.
Max is active in the IT Architecture community, having
served on Microsoft Certified Architect boards, as well
as on IASA’s Architect Education and Certification
boards. He holds MCA and CITA-P certifications and is
an IASA Fellow.
Presenters
2
3. Session Agenda:
— Understanding the problem that large Software Companies face:
multiple BUs, prod lines, applications
No Enterprise approach to manage technologies, platforms, code assets,
lots of duplication, inconsistency and hard to innovate
— Building a business case and value proposition for EPA
— Comparing functions of EPA vs. traditional EA
— EPA processes, governance, engagement model
— Discussing role of Architecture Review Board
— Reviewing technology roadmap examples
— Getting your feedback and input on these topics
Session Objectives
3
5. Customer Facing vs. Internal IT Architecture
Specifics of Software Product Architecture
— Building is prevalent to buying
— Often start with building product platform first
— Solutions often require creative approach and comprise IP
— Is time constrained by product release dates/ customer calendar
— Availability objectives for SaaS products are high, SLA penalties are steep
— OP products may need to support a variety of deployment environments with
little control. Product integrations are less predictable
— Customers are mostly anonymous, represented by Product Management and
Customer Support. They are divided into segments and personas
— Must support some sort of API/SDK
Similarities with Internal EA Architecture:
— Inter-product integrations
— Identity management and federation, SSO
— Rationalize services, capabilities, technologies
— MGP, technology roadmaps, target and reference architectures
5
6. Problem Statement: Have you seen this?
Portfolios of software products are comprised of multiple software
architectures & technologies
— Product Lines have been acquired over times and features various technologies
and their versions
— There is very little reuse of common architectural frameworks & components
across Product Lines
— Suite of Products vision is complicated by inconsistent architectural approaches
— LCD effect: hard to innovate and move forward, too many balls to juggle
— Ownership & Knowledge is maintained at a product level and not shared
Decreased Customer Satisfaction, challenges in Customer Support
Turn Problem into Opportunity
— Institutionalize EPA Program
— Rationalize technology, architectures, development standards, etc.
6
7. Business Case for Enterprise Product
Architecture
Goal of EPA Initiative
— Establish Enterprise Product Architecture practice responsible for
organization’s technology strategy and governing its tactical fulfillment across
the organization
Business Impact
— Top Line Growth
Increased positive Customer experience: cross product Look & Feel,
Integration & Workflow
Shortened product development cycle
Flexibility in creating new products by assembling components and features
Base Cost Reduction and increased leverage of common components
Standardization of technology stack
Decreased number of support calls
7
8. Value of EPA for Development teams
Technology platforms and frameworks be consistent across product lines
Better portability of development skills, leveraging experience of other
teams
Easier integration between products
Uniform development tools and processes
Common development standards and guidelines
Lower risks and unknowns in adopting new technologies
Common and familiar architectural patterns
Faster and more direct access to technology vendor resources (e.g., MSFT
TAP)
Concentrating of building application functionality instead of plumbing
Can afford to have architect specialists such as security, mobile
technologies, BI/BA, data warehousing, DBA, QA automation, etc.
8
9. What Does EPA Mean to Other Stakeholders?
Sales
— Products architected and behaving in consistent manner
— Products that integrate well together
Product Management
— “Go to” Technology person that is aligned with your Market &
Customers
— Componentized, modular Products lines - not monolithic apps in a silo
— MGTPs in relation to MGPPs
Customer Support
— Better supportability, resiliency and integration of products
— Decreased complexity & disparity in product architecture & design
9
10. Where do you start with EPA?
10
Business (Goals, Environment and Processes) Dichotomy:
— For a products company that means understanding business processes of your
customers … what they do and what they want from their ISV
— Understanding business strategy of your company and it BU’s, understanding
their Business Development Plans and Business Roadmaps
Technology
— Creating Enterprise and Portfolio Technology Strategy to support Business
Strategy
— Creating Product and Portfolio Technology Roadmap to support Business
Roadmap and deliver Customer Value
— Creating EA Governance: policies, standards, processes
Operating Model
— Organizational & executional structures for delivering (EA team, Architecture
Review Board)
11. Bootstrapping EPA
Define EPA charter and vision based on Business Strategy
Define EPA Principles, Goals, and Standards
Create Target Architectures and Multi-year Roadmaps for Product
Portfolios based on Portfolio Business Roadmaps and Enterprise
Architecture Principles
Create Component model for product portfolios.
Identify opportunities for Product Platforms, Reusable Components and
Integration Platforms
Govern usage of vendor technologies and POCs
Stewardship of Architecture Repository
Demonstrating EPA value with Tactical wins such as Architecture
reviews, performance, scalability or security improvements
11
12. Next Steps – Infrastructure, Business &
Information Architecture
Infrastructure Architecture:
— Owns architecture of SaaS product environments
— Defines standards for Configuration Management, Deployment and Operations
— Defines architecture for Monitoring, High Availability, Disaster Recovery of Production
environment
— Supports development, build and test environments
Business Architecture:
— Map out typical customer’s business processes and look for opportunities to automate
additional activities
— Identify Core Business Capabilities supported by product portfolio applications and
produce a heatmap as well as “genome” of such capabilities
— Analyze the heatmap for identifying common capabilities as well as “genome” gaps
— Break common capabilities into services. Define Common services
Information Architecture:
— Identity Core Information/Data objects for each of the portfolio products
— Rationalize structure of the Core Information Objects, create portfolio Information
heatmap to identify potential for common information objects
— Define information Sources, Systems of Record, data Quality Standards
12
13. Introducing new Enterprise Architect Role
13
Level Scope Detail Impact Internal
Audience
Enterprise
Architecture
All
Stakeholders
Portfolio
Architecture
Product Line
Owners
Product
Architecture Product
Owners
Low
Medium
High
Corporate
Market
Segment
Business Process /
Function
Strategic
Strategic /
Tactical
Tactical
Enterprise Product Architects
— Alignment of Technology Strategy with Segment & Product Strategy to achieve Corporate Goals
— Responsibilities typically span product lines and cover a business process space
— Optimization & Standardization of Technology Stack: Application, Data, Integration & Services
— Provide oversight and enforcement of standards across Product Architecture teams
— Own M&A Technology Evaluation
— Operationalize cost effective management of Technology Assets
14. Architecture Review Board – EPA Governance Body
14
Architecture Review Board
(Chaired by CEA)
Common Platform
(ARB Member/
EA)
Platform
Workflow (ARB
Member/EA)
Firm Management
(ARB Member/EA)
Accounting &
Audit (ARB
Member/EA)
Income Tax
(ARB Member)
Sales Tax Group
(ARB Member)
Consumer
Products
(ARB Member)
Common
Services
Platform
Integration
SCM
NextGen Tax
WFX/Gfx Tax
Document
Scan
Site Builder
Portal
Knowledge
Connect (KM)
NextGen
Practice
Workstream
Engagement
Trial Balance
Knowledge Coach/
Knowledge Tools
Complete Tax STO/STOL
Sales Tax Return
SUM/STLU
- Portfolio Product
Portfolio EA
- ARB Board Member
Product
Name
Legend
Tax Analyst
Toolset
Write Up
Common
Applications
(FAM, Install/
Update)
eFile
Center Processing
Practice
Advantage and
Legacy
15. Architecture Review Board Responsibilities
15
Set Enterprise Product Architecture Principles, Standards and Guidelines
Set EPA Policies
Review and Approve Portfolio Target Architectures
Review and Approve Portfolio Technology Roadmaps
Review and Approve Architecture Exception Requests
Discuss and act on any Technology and Architecture Issues with cross-
Enterprise Concerns
Set Enterprise Policies for 3rd party technology usage, version support,
platforms and tools
Charter EPA Initiatives, such as POCs
16. Other EPA Work-streams
Formalize Product and Enterprise Architect roles. Participate in
hiring key architecture resources. Mentorship.
Manage Architecture and new technology training for architects
and developers. Improving Development Process
Technology innovations and incubations, IP management
Managing strategic technology relationships
Participation in M&A and Partnership due diligence reviews
Defining, collecting and publishing code quality metrics and KPIs.
Participation in inter-BU or external partner initiatives
Interface with Internal IT organization, such as Back-office
operations
16
18. Example of Technology Roadmap
18
Application/Calc/
Batch Processing
Servers
Web
Infrastructure
2011 Q1/Q2 (2010-3.5) 2011 Q3/Q4 (2010-4.2, 2011-1) 2012 Q1/Q2 (2011-3.5) 2012 Q3/Q4 (2011-4.2, 2012-1) Target
Mobile
Database
Smart client
Technology Stack
.NET 3.5 SP1/VSTS 2008
Smart client UI: C#/WPF SCSF
Backend: C# (WCF, Ent. Lib. 3.1)
DB: SQL Server 2005/2008
.NET 3.5 SP1/VSTS 2008
Smart client UI: C#/WPF, SCSF
Backend: C# (WCF, Ent. Lib. 3.1)
DB: SQL Server 2005/2008/
2008R2
.NET 4.0/VSTS 2010
Smart Client UI: C#/WPF, SCSF
Backend: C# (WCF, Ent. Lib. 3.1)
DB: SQL Server 2005/2008/
2008R2
.NET 4.0/VSTS 2010
Smart Client UI: C#/WPF, SCSF
Backend: C# (WCF, Ent. Lib. 5.0)
DB: SQL Server 2008/2008R2
Mobile: HTML5/JS
Web UI: ASP.NET, HTML5/JS
Smart client UI: .NET (C#)/HTML5
Backend: C# (WCF, Ent. Lib. 5.0)
DB: SQL Server
Timeline
Windows Server 2008 R2
SQL Enterprise 2008 64-bit
SQL Server 2011 (Denali)
Mobile/Web Time Entry
Disaster Recovery
ILM: Move prior year tax returns
& documents to cheaper storage
Windows Server 2003
Prod Proc: Service Broker
NG-Queue: SQL
Stateless Calc Servers
Tax Data Cache System to
separate DD’s from MSI
Isolate Data Migration
Sharepoint Doc. Management
Mobile/Web Time Entry
Backup/Restore Data Suite-wide
SSN Redaction/Field-Level
Security
Migrate Tax Prod Proc to NG-
Queue
Windows Server 2008 R2
Merge/Split of Accounts
Conversion of competitor data
Support/Leverage Windows 8
Support Offline (Engagement)
Native E-File Export
Security Activity Log Viewer
More granular Tax DD packaging
Portal (Silverlight 3)
Product
Management Goals
Bug fixes and drive to market
readiness
Separate Product Releases
Document On-Premise
? ? ?
2013 Q1/Q2 (2012-3.5) 2013 Q3/Q4 (2012-4.2, 2013-1)
.NET 5/VSTS 2013
Smart Client UI: C#/WPF, SCSF
Backend: C# (WCF, Ent. Lib. 5.0)
DB: SQL Server 2008/2008R2
?
ProSystem fx SaaS Technology Roadmap *DRAFT* June 8th
,
2011
Analytics/Business
Intelligence/
Reporting
SQL Reporting Services Firm access to reporting data Tax Data Warehouse (Data Scan)
Tax, Practice, Document,
Workstream
?
.NET 4/VSTS 2010
Smart Client UI: C#/WPF, SCSF
Backend: C# (WCF, Ent. Lib. 5.0)
DB: SQL Server 2008/2008R2
...
...
...
Engagement Trial Balance
Module
Remove WCF redundancies
Tax Multi-User
Customer WAN Optimization
PoC for utility/cloud computing
Merge Eval & Production
Upgrade Prod/Stage vmWare to
vSphere 4
Active/Active WAN
Side-by-side SaaS/On-Premise
AM & Document Translation-
ready
Rich client capable of working offline
Globalized/localized at least for CAN, AU, and UK
Co-existence with On-Premise client and other TAA
clients
<= 100 MB installed footprint
Engagement integrated to suite
Web access for data entry tasks and part-time usage
Standalone calc services for large firms/corp. market
Server-side conversion of competitor data
Full licensing flexibility
Mobile management of tasks/workflow
Cloud/Utility computing: Ability to ramp up/down
calculation servers and pay-per-use
Integrated data lifecycle management
Full, integrated reporting capabilities throughout the
suite
Support/Leverage Office 2013
Support for Tax Offline mode
Integrate Engagement with
Suite
Large account data isolation
Partial license cancellation
Standalone calc services (large
firms/corp. market)
Suite-wide Correspondence
Common Spell Checker
Federated SSO across all products
Open API/SDK for custom solutions
Integration w/ Content (ARM/Intelliconnect)
Integration
On-Premise/SaaS Federated SSO
XML-based Tax Data Import
Service Bus
Scaling out services to Cloud
Development &
Support Tools
VSTS 2008
Rally for task/project tracking
TFS for bugs
TFS 2010
Application Monitoring
Dashboard: Basic Health
VSTS 2010
Support Toolbox
Application Monitoring
Dashboard: Diagnostics
Application Monitoring
Dashboard: Performance
Rally TFS 2010 for project
tracking
LabManager to support
virtualized testing
environments/snapshots
VSTS 2013
Audited push-button deployment and rollback
capabilities
Fully virtualized QA process
Architecture Goals
Increase Quality & Customer
Satisfaction
Document OP Canada &
Australia
Leverage New Technologies and
Extend Current Solutions
Leverage New Technologies and
Extend Current Solutions
Best-of-breed, Globalized, Integrated Solutions
World Class Software Organization...
Business Strategy 1. Deliver Value at the Point-of-Use 2. Expand Solutions across Processes, Customers, and Networks 3. Raise Innovation and Effectiveness through Global Capabilities
Reduce cost of ownership
Reduce cost of upgrades
Reduce cost of
implementation
Reduce cost of
maintenance
Reduce development cost
Architecture
Objectives
Reduce system complexity Increase efficiency of development process
Uniform technology stackAgile development tools
Modern unified look & feel
Consolidate system modules
Maintain modern product status
Simplify technology upgrades
Higher responsiveness to market changes
Faster feature delivery
Ease of integration with CCH and non-CCH products
Business Objectives
19. Example of Target Architecture diagram
19
Current State
SaaS Data Center
Regular and Large Calc
Servers
Data Layer
CommonDB Tax Return Files Tax Corr Mgr DB Account Catalog DB
Download Server Common Server Batch Processing Server
NG Queue DB
Prod Proc Queueing
DB
Logging DB
NGQueue
Processors
Tax Production
Processing
Data MigrationPortal
Common Services
Tax Metadata
Services
Return Access
Server
Calc Services
Smart Client
SSO Services
“Common To All Products”
SSO
Dashboard
Administrative Manager
Year-specific Tax Packages
Install/Update Manager
Tax DD Information
Print Layout
Information
Client-side tax
validation rules
Year-Independent Tax
Packages
Return Manager
Runtime API’s
Tax UI
Production Processing
Licensing
Security APIs
Document
Practice
Workstream
Load Balancers
Persistency (Stickiness) Profile for Calc Server
Non-persistent (Non-sticky) for Download, Common, and Batch Processing
Data Migration
SSO Active Directory
Synchronization
Static Content
(Mirrored on
Akamai)
Future State
SaaS Data Center
Download Server Common Server Batch Processing Server
NGQueue
Processors
Tax Production
Processing
Data MigrationPortal
Common Services
Tax Metadata
Services
Smart Client
SSO Services
“Common To All Products”
SSO
Dashboard
Administrative Manager
Install/Update Manager
Year-Independent Tax
Packages
Return Manager
Runtime API’s
Tax UI
Production Processing
Licensing
Security APIs
Document
Practice
Workstream
Load Balancers
Non-persistent (Non-sticky) for Calc, Download, Common, and Batch Processing
Data Migration
SSO Active Directory
Synchronization
Static Content
(Mirrored on
Akamai)
Tax DD Caching Services
Web UI
Portal (Silverlight)
Cloud Services
Federated Single Sign-On
Sharepoint (Office 365)
Data Layer
Common DB
Tax Return
Files
Tax Corr Mgr
DB
Account
Catalog DB
NG Queue
DB
Logging DB
Regular and Large Calc
Servers
Return Access
Proxy
Calc Services
Return Access Servers
Multi-User Services
Email (Office 365)
Web UI (HTML5/JS)
Portal
Document
Practice Time Entry
Tax Data Entry
Mobile UI (HTML5/JS)
Practice Time Entry
E-File Status
Workstream
Notifications
Support Toolbox