├── .DS_Store ├── .gitignore ├── LICENSE ├── README.md ├── _config.yml ├── issue_template.md ├── media ├── ra-eval-timeline.png ├── ra-evolution.png ├── rm-apid-eagile-25.png ├── rm-banner.png ├── rm-cellular-ent-25.png ├── rm-cellular-ent-30.png ├── rm-cellular-ent-40.png ├── rm-cellular-ent-50.png ├── rm-cellular-ent-75.png ├── rm-cellular-ent.png ├── rm-fw-apid-25.png ├── rm-integration-agile-25.png ├── rm-integration-agile-35.png ├── rm-integration-agile-40.png ├── rm-integration-agile-50.png ├── rm-integration-agile.png ├── rm-iterative-trans.png ├── rm-maturity-model-pv.png ├── rm-maturity-model.png ├── rm-monolith-fw-25.png ├── rm-monolith-fw.png ├── rm-org-structure.png ├── rm-platform.png └── rm-sdp-timeline.png ├── pull_request_template.md └── reference-methodology.md /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Attribution 4.0 International Public License 2 | By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. 3 | 4 | Section 1 – Definitions. 5 | 6 | Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. 7 | Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. 8 | Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. 9 | Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. 10 | Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. 11 | Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. 12 | Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. 13 | Licensor means the individual(s) or entity(ies) granting rights under this Public License. 14 | Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. 15 | Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. 16 | You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. 17 | Section 2 – Scope. 18 | 19 | License grant. 20 | Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: 21 | reproduce and Share the Licensed Material, in whole or in part; and 22 | produce, reproduce, and Share Adapted Material. 23 | Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 24 | Term. The term of this Public License is specified in Section 6(a). 25 | Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. 26 | Downstream recipients. 27 | Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. 28 | No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 29 | No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). 30 | Other rights. 31 | 32 | Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 33 | Patent and trademark rights are not licensed under this Public License. 34 | To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. 35 | Section 3 – License Conditions. 36 | 37 | Your exercise of the Licensed Rights is expressly made subject to the following conditions. 38 | 39 | Attribution. 40 | 41 | If You Share the Licensed Material (including in modified form), You must: 42 | 43 | retain the following if it is supplied by the Licensor with the Licensed Material: 44 | identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); 45 | a copyright notice; 46 | a notice that refers to this Public License; 47 | a notice that refers to the disclaimer of warranties; 48 | a URI or hyperlink to the Licensed Material to the extent reasonably practicable; 49 | indicate if You modified the Licensed Material and retain an indication of any previous modifications; and 50 | indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 51 | You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 52 | If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 53 | If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. 54 | Section 4 – Sui Generis Database Rights. 55 | 56 | Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: 57 | 58 | for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; 59 | if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and 60 | You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. 61 | For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. 62 | Section 5 – Disclaimer of Warranties and Limitation of Liability. 63 | 64 | Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. 65 | To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. 66 | The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. 67 | Section 6 – Term and Termination. 68 | 69 | This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. 70 | Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 71 | 72 | automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 73 | upon express reinstatement by the Licensor. 74 | For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. 75 | For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. 76 | Sections 1, 5, 6, 7, and 8 survive termination of this Public License. 77 | Section 7 – Other Terms and Conditions. 78 | 79 | The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. 80 | Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. 81 | Section 8 – Interpretation. 82 | 83 | For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. 84 | To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. 85 | No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. 86 | Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. 87 | Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. 88 | 89 | Creative Commons may be contacted at creativecommons.org. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Reference Methodology for Agility 2 | 3 | ![rm banner](/media/rm-banner.png) 4 | 5 | A Proven approach to helping every development organization become an integration agile organization 6 | 7 | You can find more details from [**Reference Methodology specification**](/reference-methodology.md). 8 | 9 | Integration projects today follow a time-consuming waterfall model, ill-suited to solving complex integration challenges. In response WSO2 has developed organizational, project management, and technical expertise to help IT organizations transform integration projects to a more efficient and scalable continuous agile approach. 10 | 11 | We welcome and appreciate any feedback, changes, or contributions. Please send a pull request, create a github issue, or send a mail to asankaa@wso2.com. -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /issue_template.md: -------------------------------------------------------------------------------- 1 | **Description:** 2 | 3 | 4 | **Suggested Labels:** 5 | 6 | 7 | **Suggested Assignees:** 8 | 9 | 10 | **Affected Product Version:** 11 | 12 | **OS, DB, other environment details and versions:** 13 | 14 | **Steps to reproduce:** 15 | 16 | 17 | **Related Issues:** 18 | -------------------------------------------------------------------------------- /media/ra-eval-timeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/ra-eval-timeline.png -------------------------------------------------------------------------------- /media/ra-evolution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/ra-evolution.png -------------------------------------------------------------------------------- /media/rm-apid-eagile-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-apid-eagile-25.png -------------------------------------------------------------------------------- /media/rm-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-banner.png -------------------------------------------------------------------------------- /media/rm-cellular-ent-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-cellular-ent-25.png -------------------------------------------------------------------------------- /media/rm-cellular-ent-30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-cellular-ent-30.png -------------------------------------------------------------------------------- /media/rm-cellular-ent-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-cellular-ent-40.png -------------------------------------------------------------------------------- /media/rm-cellular-ent-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-cellular-ent-50.png -------------------------------------------------------------------------------- /media/rm-cellular-ent-75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-cellular-ent-75.png -------------------------------------------------------------------------------- /media/rm-cellular-ent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-cellular-ent.png -------------------------------------------------------------------------------- /media/rm-fw-apid-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-fw-apid-25.png -------------------------------------------------------------------------------- /media/rm-integration-agile-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-integration-agile-25.png -------------------------------------------------------------------------------- /media/rm-integration-agile-35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-integration-agile-35.png -------------------------------------------------------------------------------- /media/rm-integration-agile-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-integration-agile-40.png -------------------------------------------------------------------------------- /media/rm-integration-agile-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-integration-agile-50.png -------------------------------------------------------------------------------- /media/rm-integration-agile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-integration-agile.png -------------------------------------------------------------------------------- /media/rm-iterative-trans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-iterative-trans.png -------------------------------------------------------------------------------- /media/rm-maturity-model-pv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-maturity-model-pv.png -------------------------------------------------------------------------------- /media/rm-maturity-model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-maturity-model.png -------------------------------------------------------------------------------- /media/rm-monolith-fw-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-monolith-fw-25.png -------------------------------------------------------------------------------- /media/rm-monolith-fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-monolith-fw.png -------------------------------------------------------------------------------- /media/rm-org-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-org-structure.png -------------------------------------------------------------------------------- /media/rm-platform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-platform.png -------------------------------------------------------------------------------- /media/rm-sdp-timeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wso2/reference-methodology/01969ff17ef6c0d7ecf3c5363953618c233fa8b1/media/rm-sdp-timeline.png -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Purpose 2 | > Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc. 3 | 4 | ## Goals 5 | > Describe the solutions that this feature/fix will introduce to resolve the problems described above 6 | 7 | ## Approach 8 | > Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here. 9 | 10 | ## User stories 11 | > Summary of user stories addressed by this change> 12 | 13 | ## Release note 14 | > Brief description of the new feature or bug fix as it will appear in the release notes 15 | 16 | ## Documentation 17 | > Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact 18 | 19 | ## Training 20 | > Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable 21 | 22 | ## Certification 23 | > Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to certification@wso2.com and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why. 24 | 25 | ## Marketing 26 | > Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable 27 | 28 | ## Automation tests 29 | - Unit tests 30 | > Code coverage information 31 | - Integration tests 32 | > Details about the test cases and coverage 33 | 34 | ## Security checks 35 | - Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no 36 | - Ran FindSecurityBugs plugin and verified report? yes/no 37 | - Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no 38 | 39 | ## Samples 40 | > Provide high-level details about the samples related to this feature 41 | 42 | ## Related PRs 43 | > List any other related PRs 44 | 45 | ## Migrations (if applicable) 46 | > Describe migration steps and platforms on which migration has been tested 47 | 48 | ## Test environment 49 | > List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested 50 | 51 | ## Learning 52 | > Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem. -------------------------------------------------------------------------------- /reference-methodology.md: -------------------------------------------------------------------------------- 1 |

Reference Methodology for an Agile Digital Business

2 |

3 | 4 | Version Summer-2021
5 |
6 |

7 | 8 | **_Current Author_** 9 | + Asanka Abeysinghe | Chief Technology Evangelist- [WSO2, Inc](https://wso2.com/) | [@asankama](https://twitter.com/asankama) 10 | 11 | **_Original Authors_** 12 | 13 | + Asanka Abeysinghe | Chief Technology Evangelist- [WSO2, Inc](https://wso2.com/) | [@asankama](https://twitter.com/asankama) (Summer-2018 - Summer-2021) 14 | + Paul Fremantle | former CTO and Co-Founder - [WSO2, Inc](https://wso2.com/) | [@pzfreo](https://twitter.com/pzfreo) (Summer-2018 - Spring-2020) 15 | 16 | >This document describes a reference methodology for modern agile digital enterprises. Our goal is to move organizations from the current maturity stage towards the integration agile stage. The outcome of moving higher in the maturity model is to increase the productivity of employees, save costs by reallocating resources from a “center of excellence” to self-organized teams, and provide a better customer experience by being digitally aligned. The methodology for moving through these maturity stages involves people, process and technology. 17 | 18 | ## Introduction 19 | 20 | As APIs, microservices, software as a service (SaaS), and serverless architectures evolve, integration is not fading away; instead almost every new application involves integration across an exploding set of endpoints. The microservices mantra of smart endpoints and dumb pipes fundamentally addresses a deeper problem. Integration must learn from code to become immutable, type safe, testable, continuously built and deployed so they are more robust, resilient and above all - agile. 21 | 22 | ## A Methodology 23 | 24 | A methodology formalizes an approach to achieve a particular goal or set of goals. Our end goal is to make an organization integration agile. The proposed methodology is an iterative process characterized by five stages. Additionally, the methodology defined in this document looks at the organizational improvements in three dimensions. 25 | 26 | The methodology does not expect an organization to start from scratch, but rather to first conduct an [assessment](https://wso2.com/agile-maturity-assessment) to understand the current state and define a path to move to the next desired level. This paper outlines a meta-process for organizations to refer and become integration agile. 27 | 28 | ## Maturity Model 29 | 30 | A maturity model defines how an organization can measure the current stage of integration agility and defines a direction for improvement in three dimensions: people, process, and technology. There are two foundational elements for enabling the continuous improvement of an organization and move to the right in the maturity model: 31 | 32 | + For both people and process the foundation is the culture of an organization. 33 | 34 | + For technology the foundation is the architecture designed and implemented by the organization. 35 | 36 | ### Summary view 37 | 38 | | | Monolithic | Fast Waterfall | API-Driven | Early Agility | Integration Agile | 39 | |---------|---------|---------|--------|--------|-------| 40 | |**People**|Centralized|COE|API Teams|Decentralized|Self-Organised Teams| 41 | |**Process**|Waterfall|Fast Waterfall|API Iterative|Semi-Continuous|Continuous| 42 | |**Technology**|Silo|EAI/ESB|API-Driven|Early Agility|Continuous Agility| 43 | |**Digital Alignment**|Separate|Ad-hoc|Early Strategic|Digital-First|Adaptive| 44 | 45 | The maturity model defined here contains five stages, and each stage is defined in three dimensions. Let's look at each dimension in detail. 46 | 47 | ### People 48 | 49 | People and their ability to define solutions by understanding the current situation is the most important thing for an organization. Culture and the organizational structure control the way people operate, and it is the platform for enabling people’s productivity. Culture plays an important role in adapting to change. Habits and best practices inherited from an organization’s culture are more powerful than those merely enforced by policies. 50 | 51 | ![org structure](/media/rm-org-structure.png) 52 | 53 | The organizational and decision-making structure affects how innovative ideas from each part of the organization are implemented and delivered to end-users. Traditional divided pyramid, hub and spoke structures create a center-of-excellence (COE) mentality and can rapidly block the flow of innovation. As an alternative, we propose a podular organizational structure, which allows organizations to become adaptive, innovative and agile. People (organization & culture) must move from sequential waterfall and waterfall-agile approaches which include siloed “center of excellence” teams, to a fundamentally decentralized set of agile teams. In a podular structure, each of these teams then own the responsibility for building, running and managing their integration applications. One of the main characteristics of a podular organization structure is each pod act as an individual business unit [2] which allows to operate and take decisions independently as well as add the people with the required skills to the team. 54 | 55 | ### Process 56 | 57 | Process defines the steps an organization should take to achieve its goals. A process is connected with the people involved in its execution, as well as the technology being implemented to optimize their productivity. This document mainly focuses on defining a meta-process. 58 | 59 | ![sdp timeline](/media/rm-sdp-timeline.png) 60 | 61 | While many software development processes have been introduced, we can put them all into two buckets: waterfall and agile. To date, there have been many attempts to become truly agile, but it has not been an easy task due to several technical and cultural constraints. As a result, many enterprises have had to fall back to waterfall-agile or fast waterfall processes. However, now we are living in an era with of DevOps improvements and extremely flexible deployment infrastructures, which create continuous processes that allow teams to operate in a truly agile manner. 62 | 63 | ### Technology 64 | 65 | Although the reference methodology is fundamentally about people and process, it has technology requirements that must be met to enable the right processes and approach. For example, decentralized continuous integration/continuous development (CI/CD) with canary deployment requires a cloud orchestration model, such as Kubernetes. Agile development of integration applications requires integration tools that support continuous build, test and deployment. This is pushing a shift away from configuration-over-code approaches such as an enterprise service bus (ESB) towards code-over-configuration approaches that bring type validation and integrated development environment (IDE) integration and work more effectively with version control and CI/CD tooling. Integration applications must work in cloud native environments, including containers and serverless. Integration applications must be observable using distributed tracing and monitoring tools. 66 | 67 | As we described earlier, architecture is the foundation for technology. Architecture references the maturity of the overall enterprise and integration architecture of the organization as well as the technology adoption. In the WSO2 Reference Architecture (RM) for Agility paper [1] we discussed three emerging architectural patterns; layered, segmented and cell-based, which can represent the enterprise and integration architecture implemented or planned in any organization. The desired architecture pattern has a direct impact on the technical usage and how an organization can enforce an agile approach (iterative architecture) in practice. 68 | 69 | ![evolution of architecture](/media/ra-evolution.png) 70 | 71 | The architecture dimension represents the maturity of internal and external integration of the business, level of integration as well as how seamless. 72 | 73 | ### Digital Alignment 74 | 75 | Digital alignment is an outcome of the improvement of people, process and technology. Digital alignment mainly focuses on the maturity of digital transformation, both internally and externally, with employees and customers. Internally it affects how employees benefit from digital products and endpoints, such as APIs, events and streams, to increase their productivity and improve their decision-making process. Externally, it affects the experiences that customers and partners have with the digital products and endpoints focused on enabling an external transformation. In the current digital era, consumers are looking for a real-time, personalized, geo-sensitive and predictive experience from the products and the services they use. 76 | 77 | ### Platform for Organizational Maturity 78 | 79 | ![RM platform](/media/rm-platform.png) 80 | 81 | Together, culture and the architecture create a platform for enabling people, process, and technology to operate and improve. Culture plays the primary role in supporting people while architecture has the primary role in supporting technology. However, both of these foundations have overlapping and complementary roles in supporting all three pillars of digital alignment: people, process, and technology. 82 | 83 | ### Maturity Model: Current outlook 84 | 85 | ![maturity model](/media/rm-maturity-model.png) 86 | 87 | ## Agile Maturity Model: Matrix 88 | 89 | | | Monolithic | Fast Waterfall | API-Driven | Early Agility | Integration Agile | 90 | |---------|---------|---------|--------|--------|-------| 91 | |**People**|***Centralized***:Team is structured around a single project. |***COE***:Single or large development teams are controlled and governed by multiple centers of excellence (COE). Governance is complex.|***API Teams***:Teams are distributed; parallel projects are running, but dependencies and the execution model bring them back to waterfall.|***Decentralized***:Has distributed teams with centralized technology platforms and EA practices that create a COE.|***Self-Organised Teams***:Has decentralized teams and decision-making. Projects and systems connect by using the DevOps pipeline. Teams can rapidly and independently deliver projects.| 92 | |**Process**|***Waterfall***:ollows a waterfall process. Executes one project at a time.|***Fast Waterfall***:Follows a waterfall or spiral method. Has lengthy project release cycles. Is highly non-agile.|***API Iterative***:End-user applications and API development follow an agile process by dividing into small teams.|***Semi-Continuous***:Continuous processes are tied to the central platform. Has one build pipeline, which creates another COE|***Continuous***:Has a pipeline-first approach for every project and individual release pipelines for each team/project. Processes are fully automated.| 93 | |**Technology**|***Silo***:Legacy and COTS* operate as silos. There is little or no EA practice. Data is aggregated manually.|***EAI/ESB***:Relies on legacy EAI and/or ESB technologies. Is highly non-agile|***API-Driven***:API management is used within organizations to streamline governance and provide decentralized discovery.|***Early Agility***:Uses lightweight ESBs with continuous integration and test, but still centralized, with manual discovery, governance, and other processes. Early adoption to Microservice architecture is occuring.|***Continuous Agility***:Has automated decentralized integration with APIs, streams and events published and discovered in federated registries, and CI/CD. Uses a cell-based architecture.| 94 | |**Digital Alignment**|***Separate***:Business runs individually. Edge of the business is disconnected from management.|***Ad-hoc***:The business connects with partners and has initiated digital transformation. However, only internal consumers benefit.|***Early Strategic***:Provides a basic digital experience for the customer in a batch or near real-time manner.|***Digital-First***:Is connected with the ecosystem. Provides a multi-channel digital experience to customers in real time or near real time. Each consumer has a digital identity.|***Adaptive***:Offers a comprehensive multi-channel digital experience for consumers. Adapts based on consumer feedback and demand using analytics and AI.| 95 | 96 | (*Commercial off-the-shelf software. **Center of Excellence. ) 97 | 98 | ## Maturity Model : Pragmatic view 99 | 100 | ![maturity model pv](/media/rm-maturity-model-pv.png) 101 | 102 | The maturity model has a definite vertical separation of each stage, but most organizations might find it hard to fit into one vertical pillar. As a result, an organization may align with three different horizontal stages as depicted in the diagram. 103 | 104 | This approach helps an organization in planning the transformation and where to put more effort and focus. 105 | 106 | For example, an organization might move to a complete cloud-native infrastructure with a mature CI/CD pipeline, but the team structure might not be podular enough to have a genuinely agile enterprise. 107 | 108 | ## How to Move to the RIght in the Maturity Model: Methodology 109 | 110 | >***“ Transformation is a journey without a destination”*** - Marilyn Ferguson 111 | 112 | ### Approach: Iterative business transformation 113 | 114 | ![iterative bt](/media/rm-iterative-trans.png) 115 | 116 | The overall approach of moving from one stage to another is iterative. Plan, implement, review, improve, and go back to plan. Also, start small by beginning with a small group, a single project, and one line of business instead of going for a company-wide approach. Skipping stages is dangerous because any change takes time for people to adopt and become productive. Therefore, minimizing change at each stage is an important factor in being able to continue business as usual while the transition is happening in parallel. 117 | 118 | ### Monolithic to Fast-Waterfall 119 | 120 | ![monolith-fw](/media/rm-monolith-fw-25.png) 121 | 122 | **People**: Organize development teams by introducing the basic software development methodologies described above. Incorporate governance by introducing a source control system and test frameworks. Code quality and design reviews can be manual. 123 | 124 | **Process**: Introduce a primary software development process, such as the waterfall or spiral instead of using an ad-hoc development process. 125 | 126 | **Technology**: Define an enterprise architecture using a layered architecture pattern. Categorize each layer based on the functionality, most organizations follow a “system of system” (SoS) [4] view when defining each architecture layer. Start connecting internal and external systems by using integration and messaging middleware. 127 | 128 | **Digital Alignment**: Build internal applications and dashboards by utilizing the consolidated data gathered by integrating internal systems and partners. 129 | 130 | ### Fast-Waterfall to API-Driven 131 | 132 | ![fw-apid](/media/rm-fw-apid-25.png) 133 | 134 | **People**: Build multiple project plans and groups by planning the execution of projects in parallel. 135 | 136 | **Process**: Introduce agility by converting API and end-user application development teams into small teams. Use APIs as the connectors for these small teams. 137 | 138 | **Technology**: Start an API program, and expose the core business capabilities created by integrating internal and external systems as APIs. Follow API design guidelines [5], and standardize the APIs in the industry. Encourage internal and external app developers to use the APIs when developing applications to consume business functions and data. Use federation, and move towards a segmented architecture from the layard architecture. 139 | 140 | **Digital Alignment**: Encourage internal and external app developers to deliver creative and competitive ideas as a digital experience for consumers by utilizing the APIs. Allow partners to seamlessly connect using the APIs. 141 | 142 | ### API-Driven to Early Agility 143 | 144 | ![apid-eagile](/media/rm-apid-eagile-25.png) 145 | 146 | **People**: Distribute the decision-making and management to each project team. Provide technical capabilities as a shared service through a platform. Enforce governance and policies through the platform. 147 | 148 | **Process**: Enhance the agile process introduced in the previous stage by bringing in continuous integration and continuous delivery (CI/CD) by associating with the DevOps team that manages the centralized infrastructure and technology platforms. 149 | 150 | **Technology**: Move to a segmented architecture based on the scope of the services. Allow decentralized deployment whenever possible. Encourage the use of automated DevOps practices, and initiate continuous integration and delivery. Start using lightweight deployment environments, such as hypervisor-based virtual machines and containers. 151 | 152 | **Digital Alignment**: Provide a unique digital identity for each internal and external consumer. Build a real-time and near real-time information exchange with consumers through digital apps. Extend the consumer's digital reach to multiple channels in addition to web and mobile by extending Internet of Things (IoT) capabilities. 153 | 154 | ## Early Agility to Integration Agile 155 | 156 | The primary goal of this paper is to help make your organization more integration agile. Hence we are emphasizing this section compared to the rest of the transition steps already described. Most organizations have an active effort to move to the right in the maturity model and fulfill consumer demand and stay on top of the competition. Best practices and the guidelines provided in this section helps the organizations to move right in the maturity model regardless of the current maturity level. 157 | 158 | ![integration agile](/media/rm-integration-agile-40.png) 159 | 160 | ### People 161 | 162 | #### Agile-core 163 | 164 | Because being iterative is fundamental to an integration-agile organization, culture transformation must also be handled iteratively. Forming a small group which we call the Agile-core is the first step in this process. The agile-core team is a critical success factor in the entire transformation journey of an organization. Therefore be mindful when picking people for this team. There are three rules to follow. First, pick the handful of people who accept change and adapt quickly. Secondly, pick the people who have the required skill set or can easily be trained. The third is to pick a diverse set of people who represent different levels and roles. The idea here to follow the train the trainer and let the agile-core to train others and transform the entire organization into an agile, digital workforce. Many approaches can taken in this transformation activity, such as structured training, boot camps, hackathons, lunch-and-learn sessions, and innovation labs. 165 | 166 | #### Self-Organized teams 167 | 168 | We noticed distributed teams with parallel running projects in the early maturity stages. However, distributed teams depend on various Centers of Excellence (CoE) when it comes to end-to-end delivery of a project. The motivation behind self-organized teams is to have a proper decentralized structure. A podular organizational structure provides the platform for creating self-organized teams and operating successfully. Self-organized teams plan, build, run and manage their applications independently. At the same time, the business functionality owned is exposed by using endpoints which expose data as APIs, events, and streams. 169 | 170 | #### Everyone is an Agile Master 171 | 172 | Most agile methodologies encourage having an agile master for each agile team. However, self-organized teams operate differently. Team members are engaged, empowered and entrusted to implement innovative ideas and deliver as digital products to end-users. Therefore every team member acts as an agile master in different stages and areas of the project, regardless of any hierarchical levels assigned by the organization. 173 | 174 | ### Process 175 | 176 | #### Iterative 177 | 178 | An integration agile organization uses an iterative execution model in business and technical processes. It is easy to define iterative processes but hard to execute without a conventional culture and architecture. The sub-topics we discuss under Organization & Culture are vital to creating a supportive culture. Fundamentals of the iterative approach are about starting small while having a bigger vision and continuously iterating towards the target. Planning iterations that range between one month to three months is effective. 179 | 180 | #### Continuous (Agile + DevOps) 181 | 182 | The continuous process we describe in this document is a combination of agility and enhanced DevOps, which is part of development and utilizes cloud-native infrastructure. The combination of DevOps and development enables an end-to-end automated continuous process. This approach streamlines the release process and increases development teams’ productivity. 183 | 184 | _Programmability_ is a critical factor for true agility. This approach goes beyond infrastructure automation, which is a common practice by enabling programmatic access to automate actions, procedures, processes, and runtimes used in an application’s entire lifecycle. With programmability and end-to-end automation, teams can increase productivity and flexibility and quickly decommission repeatable tasks; they can also spend more time on implementing innovative ideas. 185 | 186 | #### Code over Configuration 187 | 188 | A configuration-based approach, coupled with the utilization of heavy middleware layers, is the primary blocker that prevents development teams from operating in a real agile mode. It is difficult to link configuration-driven development models with a continuous release pipeline and fully automated application lifecycle with multiple lifecycle stages (environments). Additionally, most of the middleware runtimes are not microservices and cloud-native friendly. As a solution, a coding-based approach that uses a programing language optimized for integration will allow teams to meet the expected agility and compliance with a continuous pipeline. 189 | 190 | #### Integration First 191 | 192 | The programming model has changed during the last decade to an integration-first approach. This is mainly due to the programmable and reusable endpoints that enterprises have created using various distributed architecture patterns, such as service-oriented architecture (SOA), event-driven architecture (EDA), and microservices architecture (MSA). As a result, every programmer is an integration engineer today. Moreover, the modern enterprise architecture is integration driven, with apps and services that each have tens to hundreds of composable endpoints. 193 | 194 | ### Technology 195 | 196 | #### Pipeline tuned 197 | 198 | Developers spend much time building their sandbox environments and linking them to the source control system and build pipeline. Sometimes they do not follow standards due to manual configuration and linking. The concept of a pipeline ready is a solution for that which provides the sandbox environment and links to the development tools in a fraction of time using an automated process. Pipeline readiness increases the productivity of developers and enforces governance and development standards. Additionally, it makes the developers own most of the DevOps responsibilities from day-1 and maintain project specific CI/CD pipelines. 199 | 200 | #### Multi environment based application lifecycle 201 | 202 | The traditional development and deployment lifecycle of an application build is based on a minimum of three environments: development, testing and production. Some organizations have added a staging environment as a safe site to debug production issues. However, the iterative and rapid release nature of the self-organized team requires the addition of more environments to be productive, as well as have an infrastructure, CI/CD pipeline, and DevOps practice support. We are looking at adding blue-green, canary, and automated A/B testing environments to the application lifecycle. 203 | 204 | #### Test driven development 205 | 206 | Traditionally testing of an application is a secondary action executed by a separate group by creating another silo or a CoE. In an integration agile environment, the project team itself is responsible for delivering a high-quality application. (Remember, project teams plan, build, run and manage the application.) Therefore testing is part of the project team, which is executed by the developers. Automated tests (unit, performance, and integration) with test data and test systems (e.g., mock services) have to be created before the development and automated tests run against the code from day-one. Developers are required to enrich the test framework by introducing many test scenarios based on various business and technical use-cases (functional and non-functional). Some organizations call it the test grid, which strengthens the quality of the application. 207 | 208 | #### Cloud-native 209 | 210 | The heavily decentralized nature of a self-organized team and distributed DevOps responsibilities require a proper infrastructure to support integration-agile organizations. A cloud-native architecture based on containers and container orchestration systems helps development teams to utilize a company-wide standardized infrastructure to deploy and run applications and any dependencies. Using containers to autoscale, package applications, tune the pipeline, and support CI/CD by rapid environment provisioning are a few basic cloud-native capabilities that can be utilized by self-organized teams. Also, advanced features like event-driven and function-based architectures can utilize a cloud-native infrastructure to enhance the overall integration agility. 211 | 212 | #### Cell-based architecture 213 | 214 | Emerging architectural patterns, such as layered and segmented architectures, are centralized or depend on centralized CoEs. On the other hand, microservices defined in a microservice architecture (MSA) are too granular to treat as an architecture unit. Hence, self-controlled teams require a reference architecture to define the logical and physical architecture boundaries in the enterprise as a whole. 215 | 216 | We introduced the [cell-based architecture](https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md)[1] as a solution for this problem to have a microservice and cloud-native architecture leading enterprise architecture to utilize in an integration-agile environment. The cell-based architecture enables the conversion of legacy systems, services, and data into cells, and it reuses the functionality in combination with the cloud-native cells. In a nutshell, the cell-based architecture makes it possible to build on brownfield development. 217 | 218 | #### Open source 219 | 220 | In an integration-agile environment, you expect to do many innovations in labs (note that research and development is part of the self-organized teams), as well as rapid application development by following iterative execution model. In such an environment, you cannot afford to wait for lengthy (and slow) procurement processes to adopt the technologies that will allow you to deliver on your innovative ideas. Open source plays a significant role here by giving you access to robust and stable technologies that are used and contributed by a broader community. You can pick technologies delivered under business-friendly open source licenses, such as Apache 2.0, to avoid any corporate red lines in the future. 221 | 222 | The above paragraph explained only one side of the effect of open source for an organization, which is the usage of open source and increase productivity. Contributing to open source and creating an open culture with open source practices are two other aspects. 223 | 224 | Contributing back to the open source project mandate by some of the open source licenses but more than that contribution is a usage ethic of open source. Organizations can create ecosystem teams and contribute to open source projects based on relevance. There are many advantages to this approach. Learning from a wider audience outside the organization and increasing the usage of the code the ecosystem teams write are few advantages that can highlight. 225 | 226 | Isolated teamwork within a business or functional unit can convert into collaborative development work using open source practices. Most of the organizations start with [innersourcing](https://www.oreilly.com/library/view/adopting-innersource/9781492041863/ch01.html) (a word coined by Tim O'Reilly in 2000) - collaborative development across the teams, but within the organization is the main characteristic of innersourcing. Furthermore, the code is not available in a public repository for outsiders to access or contribute. The second stage is open source that the development and access to the code are available for outsiders but most contribution coming from the internal community. The third stage is an open community that the project donated to an independent foundation such as Apache Foundation ([ASF](https://www.apache.org/foundation/)) or Cloud Native Computer Foundation ([CNCF](https://www.cncf.io/)). Governance of the project handled by the foundation and contribution can come from anyone using or willing to commit to the project. 227 | 228 | ### Digital Alignment 229 | 230 | #### Consumer-driven requirements 231 | 232 | One of the critical characteristics of a podular architecture is bringing self-organized development teams to the edge of the business and providing access to consumers. Minimizing the gap between the consumer and the producer helps to implement solutions that are actually required by the consumers without working on hypothetical requirements that trickle down through many CoEs. The development teams can have a direct dialog with the consumers using various channels, analyze consumer behavior, and review the market outlook when identifying and prioritizing business requirements. Small iterations and rapid application development help self-organized teams to deliver a feature quickly and test run it with the actual consumers (including the rollback of a feature). Technical teams tend to complicate the requirements by looking at it from a technical point of view. In an integration-agile environment the requirements teams look at are from the consumer (or business) point of view and simply based on the consumer experience and competitive advantage. 233 | 234 | #### Start with a MVP 235 | 236 | The consumer-driven nature and business first culture result in rapid changes to the requirements and the user experience. Consumers are eager to consume new digital experiences and make themselves productive during day-to-day activities. Once they don't get the experience they are looking for, they switch the service providers. Also, there is a competitive advantage in introducing a new idea to the market before competitors provide the same. Planning, implementing and launching a minimal viable product (MVP) to the market is the best way to stick to the iterative execution model, rather than having long product delivery cycles that follow waterfall or fast-waterfall methodologies. Self-organized teams get the foundation and platform by staying at the edge, close to consumers to understand them correctly and define the MVP. 237 | 238 | #### Deliver digital-native applications 239 | 240 | As we explained earlier in this paper, consumers in the modern digital era come with certain predefined expectations. To reemphasize the current digital expectations, these include real-time, personalized, geo-sensitive and predictable experiences from digital applications. Disruptive applications released from the self-organized teams have to be digital-native to win the market and provide long-term services for the consumers. 241 | 242 | #### Enforce feedback loops 243 | 244 | A useful iterative execution model requires feedback coming from usage and runtime behavior. A cell-based architecture enforces the cell gateways to route communications and provide enough hooks to capture the data required to identify feedback about usage and the behavior of runtimes. Constructive feedback has to be considered when planning the next iteration in order to improve the user experience and runtime behavior. 245 | 246 | #### Transformative purpose 247 | 248 | Defining the transformation strategy based on a purpose helps to run a successful transformation program as well as provide results align with the business. Different frameworks can use to achieve this, most popular frameworks are OKR (Objectives and Key Results) and MTP (Massively Transformative Purpose). Defining the purpose and measurable results is an exercise the digital strategist or the steering committee required to conduct before executing the activities of the transformation strategy. Having a thorough analysis of the internal priorities, customer demand, competition, and market outlook help to define the transformative purpose. The maturity model can use to start the process by conducting an [assessment](https://wso2.com/agile-maturity-assessment) as well as a guide during the transformation journey. 249 | 250 | ## Conclusions 251 | 252 | Digital transformation is the critical success factor of the modern enterprises, and industry leaders have identified digital transformation as the fourth industrial revolution. Therefore, organizations have to plan and execute the transformation without losing their existing people, systems, data and customers. However, integration has become an essential factor in application development with the explosion of consumable endpoints we created in last two decades by building highly distributed systems. Organizations are trying to follow agile execution models for their integration but fall back to the traditional waterfall or spiral models due to non-alignment of the organizational structure, culture, architecture, technology usage, and digital strategy of their integration teams. 253 | This paper outlines a maturity model for organizations to identify where they stand with regard to their integration agility, and to help plan a transformation path to become truly integration agile. 254 | The content gathered and offered is based on our experience working with many enterprises on their integration and digital transformation initiatives. 255 | 256 | ## Highlights of the next version 257 | 258 | ### Cellular enterprise 259 | Using biology as a metaphor to define modern organization structure build with a podular architecture consist of many self-organized teams. Cellular enterprise defines units associated with an application from the human who designs and builds to a composite that deploys at the end. Refer the [Forbes article](https://www.forbes.com/sites/forbestechcouncil/2020/06/29/the-cellular-enterprise/#786824316832) for more details. 260 | 261 | ![cellular enterprise](/media/rm-cellular-ent-30.png) 262 | 263 | | Cell Type | Description | Unit | Mapping | 264 | |---------|---------|---------|--------| 265 | | C-Cell | Composite Cell | Composite | Decentralized deployment | 266 | | D-Cell | Development Cell | Development sandbox | Autonomous development | 267 | | A-Cell | Architecture Cell | Architecture block | [Cell-based Architecture](https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md) | 268 | | B-Cell | Business Cell | Business function | Cellular business model | 269 | | H-Cell | Human Cell | Self-orgenized teams | Podular organization (team of teams) | 270 | 271 | ## References 272 | 273 | [1] WSO2 Reference Architecture for Agility paper: https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md 274 | 275 | [2] Dave Gray - The Connected Company - http://www.xplaner.com/connectedco/ 276 | 277 | [3] Iterative, Segmented Architecture - https://www.slideshare.net/asankama/iterative-architecture-your-path-to-ontime-delivery 278 | 279 | [4] System of Systems (SoS): https://en.wikipedia.org/wiki/System_of_systems 280 | 281 | [5] API Design Guidelines: https://wso2.com/whitepapers/wso2-rest-apis-design-guidelines/ 282 | 283 | [6] WSO2 Agile Maturity Assessement: https://wso2.com/agile-maturity-assessment 284 | 285 | [7] WSO2 Impulse (Strategic Consulting): https://wso2.com/strategic-consulting/ 286 | 287 | [8] The Celleular Enterprise (Forbes article): https://www.forbes.com/sites/forbestechcouncil/2020/06/29/the-cellular-enterprise/#786824316832 288 | --------------------------------------------------------------------------------