Max Poliashenko - Enterprise Product Architecture

20
Max Poliashenko, Chief Enterprise Architect, WK Tax & Accounting Enterprise Product Architecture December 2012

description

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.

Transcript of Max Poliashenko - Enterprise Product Architecture

Page 1: Max Poliashenko - Enterprise Product Architecture

Max Poliashenko, Chief Enterprise Architect, WK Tax & Accounting

Enterprise Product Architecture December 2012

Page 2: Max Poliashenko - Enterprise Product Architecture

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

Page 3: Max Poliashenko - Enterprise Product Architecture

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

Page 4: Max Poliashenko - Enterprise Product Architecture

4

Enterprise Product Architecture (EPA)

Page 5: Max Poliashenko - Enterprise Product Architecture

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

Page 6: Max Poliashenko - Enterprise Product Architecture

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

Page 7: Max Poliashenko - Enterprise Product Architecture

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

Page 8: Max Poliashenko - Enterprise Product Architecture

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

Page 9: Max Poliashenko - Enterprise Product Architecture

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

Page 10: Max Poliashenko - Enterprise Product Architecture

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)

Page 11: Max Poliashenko - Enterprise Product Architecture

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

Page 12: Max Poliashenko - Enterprise Product Architecture

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

Page 13: Max Poliashenko - Enterprise Product Architecture

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

Page 14: Max Poliashenko - Enterprise Product Architecture

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

Page 15: Max Poliashenko - Enterprise Product Architecture

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

Page 16: Max Poliashenko - Enterprise Product Architecture

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

Page 17: Max Poliashenko - Enterprise Product Architecture

Example of Product Architecture Roadmap

17

Page 18: Max Poliashenko - Enterprise Product Architecture

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 2008Smart client UI: C#/WPF SCSFBackend: C# (WCF, Ent. Lib. 3.1)DB: SQL Server 2005/2008

.NET 3.5 SP1/VSTS 2008Smart client UI: C#/WPF, SCSFBackend: C# (WCF, Ent. Lib. 3.1)DB: SQL Server 2005/2008/2008R2

.NET 4.0/VSTS 2010Smart Client UI: C#/WPF, SCSFBackend: C# (WCF, Ent. Lib. 3.1)DB: SQL Server 2005/2008/2008R2

.NET 4.0/VSTS 2010Smart Client UI: C#/WPF, SCSFBackend: C# (WCF, Ent. Lib. 5.0)DB: SQL Server 2008/2008R2

Mobile: HTML5/JSWeb UI: ASP.NET, HTML5/JSSmart client UI: .NET (C#)/HTML5Backend: C# (WCF, Ent. Lib. 5.0)DB: SQL Server

Timeline

Windows Server 2008 R2SQL Enterprise 2008 64-bit

SQL Server 2011 (Denali)

Mobile/Web Time Entry

Disaster RecoveryILM: Move prior year tax returns & documents to cheaper storage

Windows Server 2003Prod Proc: Service Broker

NG-Queue: SQL

Stateless Calc ServersTax Data Cache System to separate DD’s from MSIIsolate Data Migration

Sharepoint Doc. ManagementMobile/Web Time Entry

Backup/Restore Data Suite-wideSSN Redaction/Field-Level

SecurityMigrate Tax Prod Proc to NG-

Queue

Windows Server 2008 R2Merge/Split of Accounts

Conversion of competitor data

Support/Leverage Windows 8Support Offline (Engagement)

Native E-File ExportSecurity Activity Log Viewer

More granular Tax DD packaging

Portal (Silverlight 3)

Product Management Goals

Bug fixes and drive to market readiness

Separate Product ReleasesDocument On-Premise

? ? ?

2013 Q1/Q2 (2012-3.5) 2013 Q3/Q4 (2012-4.2, 2013-1)

.NET 5/VSTS 2013Smart Client UI: C#/WPF, SCSFBackend: 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 2010Smart Client UI: C#/WPF, SCSFBackend: C# (WCF, Ent. Lib. 5.0)DB: SQL Server 2008/2008R2

...

...

...

Engagement Trial Balance Module

Remove WCF redundanciesTax Multi-User

Customer WAN OptimizationPoC for utility/cloud computing

Merge Eval & ProductionUpgrade Prod/Stage vmWare to

vSphere 4Active/Active WAN

Side-by-side SaaS/On-PremiseAM & Document Translation-

ready

Rich client capable of working offlineGlobalized/localized at least for CAN, AU, and UK

Co-existence with On-Premise client and other TAA clients

<= 100 MB installed footprintEngagement integrated to suite

Web access for data entry tasks and part-time usage

Standalone calc services for large firms/corp. marketServer-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 2013Support for Tax Offline modeIntegrate Engagement with

Suite

Large account data isolationPartial license cancellation

Standalone calc services (large firms/corp. market)

Suite-wide CorrespondenceCommon Spell Checker

Federated SSO across all productsOpen API/SDK for custom solutions

Integration w/ Content (ARM/Intelliconnect)Integration

On-Premise/SaaS Federated SSOXML-based Tax Data Import

Service BusScaling out services to Cloud

Development & Support Tools

VSTS 2008Rally for task/project tracking

TFS for bugs

TFS 2010Application Monitoring

Dashboard: Basic Health

VSTS 2010Support Toolbox

Application Monitoring Dashboard: Diagnostics

Application Monitoring Dashboard: PerformanceRally TFS 2010 for project

tracking

LabManager to support virtualized testing

environments/snapshotsVSTS 2013

Audited push-button deployment and rollback capabilities

Fully virtualized QA process

Architecture GoalsIncrease Quality & Customer

SatisfactionDocument OP Canada &

AustraliaLeverage New Technologies and

Extend Current SolutionsLeverage New Technologies and

Extend Current SolutionsBest-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 upgradesReduce cost of

implementationReduce 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 productsBusiness Objectives

Page 19: Max Poliashenko - Enterprise Product Architecture

Example of Target Architecture diagram

19

Current StateSaaS 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 DBProd Proc Queueing

DBLogging 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 ProcessingLicensing

Security APIs

Document

Practice

Workstream

Load Balancers

Persistency (Stickiness) Profile for Calc ServerNon-persistent (Non-sticky) for Download, Common, and Batch Processing

Data Migration

SSO Active Directory Synchronization

Static Content (Mirrored on

Akamai)

Future StateSaaS 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 ProcessingLicensing

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 DBTax Return

FilesTax Corr Mgr

DBAccount

Catalog DBNG Queue

DBLogging 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

Page 20: Max Poliashenko - Enterprise Product Architecture

20