Tool Integration in the age of Agile Mats Berglund, Enterprise Architect, Ericsson
Tool Integration in the age of agile Mats Berglund Enterprise Architect
Age of Agile Challenge Vision Landscape Architecture Strategies Use Case Conclusion Mats Berglund Enterprise Architect 2013-10-23 Page 3
Age of Agile Tool Integration in the age of Agile
Agile Manifesto Mats Berglund Enterprise Architect 2013-10-23 Page 5
dark ages of Tool integration ISO-9001 7.5.3 The organization shall identify the product status with respect to monitoring and measurement requirements throughout product realization Mats Berglund Enterprise Architect 2013-10-23 Page 6
Agile Traditional Agile Transformation Need Plan Fault Design Code Build Test Release Deploy Product Mgmt Req mgmt Fault Handling Modeling IDE Build Test Mgmt Productify Project Debug SCM Test Auto Product repository Product Backlog Product mgmt & High level planning Team Backlog Team tasks Modeling IDE Continuous Delivery Debug Build Test Auto Shipment Provisioning SCM Product repository Mats Berglund Enterprise Architect 2013-10-23 Page 7
Analysts says Although products are evolving from silos of function, most companies have several overlapping ALM solutions, rather than one. This reinforces the need for tools to work together, and for solutions that bridge the silos with workflow, reporting, etc. Three trends are driving companies that demand an integrated team approach: Enterprise agile Once projects move beyond small teams of developers, tools that enhance collaboration and reporting (but don't get in the way) are critical. Cloud computing The ability to build applications that use cloud technologies and tools that leverage the cloud are critical to improving operational efficiency. Mobile Web The rapid uptake of mobile devices, as well as growth in number of browsers, brings back the challenge of multiplatform variant complexity. Mats Berglund Enterprise Architect 2013-10-23 Page 8 Gartner Magic Quadrant for Application Life Cycle Management
The missing piece Portfolio Team Program / Project Product Mats Berglund Enterprise Architect 2013-10-23 Page 9
Challenge Tool integration in the age of Agile
Size XXL By Ericsson The company s Lean & Agile story provides a number of lessons and insights that are becoming increasingly clear especially when we talk about scale. Here we are referring to huge systems with millions of lines of custom code that have to work reliably for 5 to 10 years and sometimes even longer than that. Mats Berglund Enterprise Architect 2013-10-23 Page 11 Softhouse : Size XXL Lean and Agile projects within Ericsson
Product Development Principle We constantly strive to use the best available tools having open integration-interfaces Mats Berglund Enterprise Architect 2013-10-23 Page 12
Ericsson Customers The next Big thing ICT DevOPS Users ICT citizen Develop Telco Cloud Global ICT Centers telco grade 99.999 Open B2B Deploy Operate Mats Berglund Enterprise Architect 2013-10-23 Page 13
Vision Tool integration in the age of Agile
Federated ALMs ALM tools from various vendors, open-source and in-house solutions cooperates and are easily interchangeable using standardized API s Tuleap Integration API s Jenkins EriCOLL Clear Case Titan Mats Berglund Enterprise Architect 2013-10-23 Page 15
Tools Framework System & Product Architecture Use Cases Defects Modeling Release Team & Program Backlog Anatomy Dashboard Resources Wiki Design & Implementation IDE Code generation Builds Reviews CAD? Integration & Verification Pass or Fail Test Automation Simulation SQA Mats Berglund Enterprise Architect 2013-10-23 Page 16
Mission Identify and evaluate alternatives for an interconnected heterogeneous R&D tool environment, allowing for flexibility over time. Mats Berglund Enterprise Architect 2013-10-23 Page 17
Landscape Tool Integration in the age of Agile
Landscape Dart Team Program Enterprise User Mats Berglund Enterprise Architect 2013-10-23 Page 19 Enterprise collaboration Program/Project collaboration Team collaboration
Information Objects BI Roll-up Dashboard Doc Gen On-line Widget Wiki Chat In Context Team Program Enterprise Note: Not complete. A snapshot of vocabularies used at Ericsson. Roadmap Backlog Timeline Task Project Anatomy Story Epic DRS Demand MRS TR CSR Corr. Defect Bug Edit User IDE Code Gen System Descr. Model System Anatomy CBA Archive Gate Way SCM CPI Code Test Case Automate Compile Build SQA SCM Reuse Mats Berglund Enterprise Architect 2013-10-23 Page 20 PDM Lab Load Equipment Deploy Compute Farm Orchestrate Information objects Enterprise collaboration Program/Project collaboration Team collaboration
Team TEAM Simplification Self-managing e.g. backlog, burndown, User: Developer Creating e.g. coding, testing, Avoiding too many tools for the Developer team by using multi-capable tools Mats Berglund Enterprise Architect 2013-10-23 Page 21 Enterprise collaboration Program/Project collaboration Team collaboration
Team Tools Map Outlook MS Project Mail man Lync Replir EPP Jabber PAIPE Insight Micro Strat Confluence Share Point Media Wiki ScrumWorks RTC Mingle GreenHopper Focal Point Accept360 SAP BW Birt Birt Insight TeamForge RTC Tuleap MARS RRC HP ALM Jira Doors Redmine FusionForge MHWeb Hansoft TFS RSA SMS CQ Rally Mylyn Rhapsody MHWeb Jira Power Des. Bugzilla Developer Eclipse Papyrus Coverity Net Beans PRIM/GASK SW Gateway EriDoc CCA RAM Nexus JCAT JUnit CDT RQM GCC Maven Visual Studio Clear Case Git / Gerrit Subversion ALEX CPIX Titan HP QC TPT2 Make SWDI Central tools (IT org support) Local tools TASS SEA TitanSim MGWsim Jenkins Cruise Ctrl LSF Accelerator Enterprise collaboration Program/Project collaboration Mats Berglund Enterprise Architect 2013-10-23 Page 22 Team collaboration
Integration types Team Program Enterprise A C User B A. Same purpose integration E.g. Epic Epic B. Inter sub-domain integration E.g. Requirement Test Case C. Intra sub-domain integration E.g. Customer defect Design bug Mats Berglund Enterprise Architect 2013-10-23 Page 23 Enterprise collaboration Program/Project collaboration Team collaboration
Architectures Tool Integration in the age of Agile
What is a Framework? Point-2-Point Tools CC Git JIRA Eclipse TeamForge Bus Platform Data model, transport, mechanisms, synchronization Authenticate, Authorize (Roles) Metadata References Bus service catalogue Mats Berglund Enterprise Architect 2013-10-23 Page 25
What is a Bus? Enterprise Service Bus (ESB) CRM Bus [DSB] ERP Bus [DSB] PLM Service Bus [DSB] R&D Bus [DSB] M&A Bus [DSB] B2B Bus [DSB] OSLC OSLC Sales & Marketing Supply Finance HR PPM & Product Information System Engineering Open Source toolset Merger and acquisition Partner / Customer PLM ALM Enterprise Extended Mats Berglund Enterprise Architect 2013-10-23 Page 26
What is OSLC? Open Service for Lifecycle Collaboration A set of OASIS standard API s in the ALM space www.open-services.net YouTube video Eclipse Lyo - an OSLC SDK Specifications and workgroups: Change Management Requirements Management Quality Management Architecture Management Configuration Management Asset Management Embedded Systems Mobile Reporting ALM-PLM interoperability and more Mats Berglund Enterprise Architect 2013-10-23 Page 27
Lifecycle Integration Reference Architecture Client Eclipse Web UI Rich client A Mylyn A B 1 B 2 Synch Tool A UI A OSLC UI delegate Tool B 1 A B 1 UI Tool B 2 A B 2 UI BL BL BL DB A OSLC linked data B 1 DB B 2 DB Other Tool ESB OSLC SOA Broker Transformation Other Domain Registry OSLC over ESB Application Lifecycle Management (ALM) SOA Domain Mats Berglund Enterprise Architect 2013-10-23 Page 28
Client Reporting & Monitoring Reference Architecture Eclipse Web UI Trend Data Instant Data Tool A Tool B Tool C 12 12 UI 12 UI 12 12 UI UI 12 UI 12 BL BL BL 12 12 DB X o Y o Z o DB X o Z o Q o DB Y Z Q over the complete landscape over the complete landscape OSLC compliant OSLC compliant Proprietary format Doc gen X Y Z Q ETL DB Y o Z o Q o Report Engine Lifecycle Index ETL Trend analysis X o X o X o Y o Y o Y o Z o Z o Z o Q Q o o Q o Data Warehouse Mats Berglund Enterprise Architect 2013-10-23 Page 29
Client Continuous Integration Reference Architecture Eclipse IDE Web UI Orchestration ESB OSLC Auto trigger Schedule Feb 12 Execute Monitor Build Analysis Deploy Test Execution Compile & Link Code Analysis Provisioning Test Execution System (Incl. Compliance Check) Test Interface Test Interface Test Interface NTAF TTCN-3 Server Server Server Server System Emulator Test Equipment Test Nodes System Under Test (SUT) Virtualization Compute Farm Accelerator Test Environment SCM Repository Artifact Repository Storage Log File Repository Test Script Repository Continuous Integration Mats Berglund Enterprise Architect 2013-10-23 Page 30
Strategies Tool Integration in the age of Agile
5 main strategies 1. Point-to-point integrations 2. Vendor Suite integration 3. Vendor Platform integration 4. Commercial Middleware integration 5. Open Standards integration Mats Berglund Enterprise Architect 2013-10-23 Page 32
Program Pragmatic approach Very scattered area, no single protocol exists (everything on XMPP as a future wild idea) ETLs that are compatible with a prominent chosen reporting tool Team Enterprise Established protocols like OSLC Point to point for integration with SCM tools Established protocols like OSLC OSLC, already used within Ericsson User OSLC? REST based artifact transport implemented by e.g. Nexus, Maven and Artifactory Well established point-to-point integrations are enough OSLC for test management NTAF and TTCN-3 for automation and controlling test equipment Mats Berglund Enterprise Architect 2013-10-23 Page 33 Well established point-to-point integrations are enough Note: Not conclusive. A dialogue captured at a certain point in time. Showing the need for a pragmatic approach per area.
Central vs. Local SaaS User Operations SLA 24/7 Operations SLA 24/7 PaaS Tool A Tool B Tool C Tool D Tool E Integration Framework IaaS Integration Platform IT Infrastructure Mats Berglund Enterprise Architect 2013-10-23 Page 34 Central Tool (IT org supported) Local Tool
Limited diversity Immature Domain Mature Domain 2012 2013 2016 RTC ABC ABC Global Hansoft Local Mingle Scrumworks Pro foobar XYZ bluebar Market matures Regular reconsideration of tools Strong process for removal Strategy pros and cons + Simpler less costly framework - Time and effort to select and agree on tools to select Mats Berglund Enterprise Architect 2013-10-23 Page 35
Tool Integration in the age of Agile Use Case
Same But different Observations Customer Org A Org B Org C The same item changes nature at different stages in the process: High Product/ Service CSR (SMS) CSR (SMS) CSR (SMS) Customer Product Project/Program Team Program/ Project TR (MH Web) TR (MH Web) Defect (CQ) The same terms means different things in different organizations: Fault Ticket Trouble Report (TR) Team Low Defect (RTC) Defect (RTC) Sticker Tool n Sticker Tool n Defect Bug The same tool is used at different stages: SMS MHWeb RTC Jira (or other tool) Yellow sticker Mats Berglund Enterprise Architect 2013-10-23 Page 37
Flow challenge Fault found in maintenance. Analyze shows same code in other maintenance track and in design. Cloned to a TR as well as RTC. Fixed in all tracks. 1 Fault found in design, fixed in the same or next sprint (Agile) Defect WI in RTC ID: RTC-004 Title: Wrong label Descr.: Bla, bla State: Found Fixed Link: - Fault found in design on already released code. TR is raised, becomes master and links back to RTC. Fixed on both tracks. Defect WI in RTC ID: RTC-009 Title: Bad sector Descr.: - State: - Link: TR-1234 2 TR in MHWeb ID: TR-1234 Product: 1/23 ABC-456 Title: Bad sector Descr.: Bla, bla State: Analysed Corr Resolved CCB Release ShoDet: Design phase DiDet: In field Link: RTC-009 TR in MHWeb ID: TR-7890 Product: 2/23 ABC-456 Title: Loss of data Descr.: Bla, bla State: Analysed Corr Resolved CCB Release ShoDet: Design phase DiDet: At FOA Link: RTC-023, TR-7891 3 TR in MHWeb ID: TR-7891 Product: 1/23 ABC-456 Title: Loss of data Descr.: Bla, bla State: Analysed Corr Defect WI in RTC Resolved CCB Release ID: RTC-009 ShoDet: Design phase Title: Bad DiDet: sector At FOA Descr.: - Link: RTC-023, State: - TR-7890 Link: TR-7890, TR-7891 Defect Clone Design flow (low ceremony) sprint sprint sprint sprint sprint sprint sprint sprint shipment shipment Correction Correction Maintenance track A Maintenance flow (high ceremony) Maintenance track B correction Mats Berglund Enterprise Architect 2013-10-23 Page 38
Initial implementation A new Work-Item type (TR WI) is added to RTC. It is a copy with subset of the MHWeb TR data and business logic, kept in synch. Architectural concerns: Same (similar) data is copied into two repositories. Master? Will it diverge? Same (similar) business logic in two locations. Master? Will it diverge? MHWeb TR logic within RTC. Do we want to tailor RTC with heavy logic? Unclear when to use Defect WI vs. TR WI RTC MHWeb Defect WI TR WI TR Business logic triggers Subset of MHweb data kept in synch existing type new type existing type Mats Berglund Enterprise Architect 2013-10-23 Page 39 OSLC but not as intended
Final solution MHWeb TR s can be viewed and manipulated from RTC as if they were part of RTC (some limitations). A Defect WI link acts as TR reference. User concerns: Can t make reports on TR s within RTC (requires data warehouse) Can t see status changes in MHWeb from RTC Will have to use MHWeb much more than anticipated (mental change) Some limitations in UI delegate editing RTC MHWeb Defect WI TR UI delegate existing type existing type Mats Berglund Enterprise Architect 2013-10-23 Page 40 Link True OSLC
RTC MHWEB: on over Mats Berglund Enterprise Architect 2013-10-23 Page 41
RTC MHWEB: UI Delegate Mats Berglund Enterprise Architect 2013-10-23 Page 42
Mats Berglund Enterprise Architect The Lean & Agile transformation has caused an explosion of tools An open integration framework is needed Integration from enterprise to team level - and across silos We shall be pragmatic Loosely coupled is the way to go Mats Berglund Enterprise Architect 2013-10-23 Page 43
Mats Berglund Enterprise Architect 2013-10-23 Page 44 Q&A
Integration in the age of Agile Mats Berglund, Enterprise Architect, Ericsson