Regional Manager/ Service Delivery Manager at a tech services company with 201-500 employees
525
Published:Dec 6, 2021
What is software extensibility?
Extensibility is the ability of the software system to allow and accept the significant extension of its capabilities without major rewriting of code or changes in its basic architecture. Extensible systems provide technology, tools, languages designed so that developers can expand or add to their capabilities.
What are some of the benefits customers get out of extensibility?
Having an extensibility platform not only allows companies to build and run solutions that address needs beyond the standard product but also allows them to bring innovation trends to those same solutions without risking their ongoing operations.
What's the difference between scalability and extensibility?
Scalable - make the system withstand more usage (bandwidth etc...) AND make it larger. Extensible - add more functionality to the system
The 11 Attributes of Extensible & Consumable Software
One can set up a new account (or, if on-prem, one can install the product) in 30 minutes or less.
The value is seen within the first hour of use.
Full external-facing API.
The product’s UI uses the user-facing API exclusively. In other words, the UI does not depend on any API calls or interfaces that are not documented and available to customers.
Authentication is customizable within the product’s UI.
The UI has a customizable look & feel.
The UI can be extended with custom modules.
Backend logic that can be extended with custom modules in various hook points.
Customizations & extensions are upgrade-safe.
Full documentation and support for the API, extension framework, and hook points.
A rich library of readily available examples of extensibility.
Techniques for Achieving All 11 Attributes
Some tips on how to achieve more of the attributes above:
Setting up a public location with many extensibility that users can browse extensions and find one to start with.
Include a time into the software design and implementation schedule to build the right API for new features, build a simple UI, and also make the feature extensible & customizable.
If you do not have sufficient time to make it easy and extensible, start with extensibility, and schedule a project to make it easy in the immediate next release. This is a more specific incarnation of Ken Beck’s rule for software: “Make it work, make it right, make it fast. ”
Collaborate in brainstorming. Get a group of creative people together around a [virtual] whiteboard, throw around ideas good and bad for ways to make the software both customizable and easy to use. You may be surprised at what you’re able to come up with together, and at how fun it is.
Use the extensibility framework internally! Any time a new feature needs to be developed, ask the question: what if we had to implement this without any changes to the core product code, just using the extensibility framework. If it’s too hard, the extensibility of your product could use improvement.
Constantly ask what the easiest way to provide customizability and extensibility would be. Instead of making the customer learn a domain-specific language (DSL), could we allow them to program extensions in a language they already know? Instead of requiring them to code from scratch, could we give them a working chunk of code and then let them change it to meet their needs? Or, instead of requiring them to code, could we create a configuration UI for customizing the product?
Find out what your peers are saying about SAP LeanIX, Quest Software, MEGA International and others in Enterprise Architecture Management. Updated: January 2026.
Enterprise Architecture Management plays a crucial role in aligning technology with business goals. Companies should focus on important aspects:
Alignment of IT and business strategies
Reduction in operational costs
Increased agility and innovation
Improved risk management
Enhanced decision-making capabilities
Importance of Enterprise Architecture Management lies in its ability to integrate IT ...
Enterprise Architecture Management plays a crucial role in aligning technology with business goals. Companies should focus on important aspects:
Alignment of IT and business strategies
Reduction in operational costs
Increased agility and innovation
Improved risk management
Enhanced decision-making capabilities
Importance of Enterprise Architecture Management lies in its ability to integrate IT infrastructure with business objectives. By aligning technological initiatives with strategic business goals, organizations can ensure that all resources are used efficiently, resulting in better coordination between various departments. This alignment reduces operational costs by eliminating redundant processes and streamlining operations through optimized technology deployment. By ensuring that technology investments are made wisely and support business needs, companies can achieve substantial improvements in performance and productivity. Enterprise Architecture Management facilitates agility by enabling organizations to adapt swiftly to market changes and technological advancements.Investing in Enterprise Architecture Management enhances a company’s innovation capacity. It provides a structured framework for exploring new technologies and incorporating them effectively into existing systems. Importance of risk management is amplified as well, as Enterprise Architecture Management helps businesses identify potential risks associated with technological deployments and develop mitigation strategies. It enhances decision-making by providing a comprehensive view of the organization's architecture, supporting informed strategic choices. By mapping out the entire IT infrastructure, business leaders can make data-driven decisions that help the organization achieve its objectives. In a constantly evolving digital landscape, the ability to manage and adapt enterprise architecture effectively is vital for sustaining growth and maintaining competitiveness.
Archimate is a modelling language/notation for doing architecture. Cameo Systems Modeler is a software product that I believe only does SysML and UML models.
Lets take the product out of the conversation
If you are working on systems *engineering* problems (how) you should likely we working using SysML
If you are working on more strategic questions like how your system fits into a larger la...
Information Architect at a government with 5,001-10,000 employees
Oct 25, 2023
Archimate is a modelling language/notation for doing architecture. Cameo Systems Modeler is a software product that I believe only does SysML and UML models.
Lets take the product out of the conversation
If you are working on systems *engineering* problems (how) you should likely we working using SysML
If you are working on more strategic questions like how your system fits into a larger landscape, portfolio, of business, then you should likely start with ArchiMate and then move on to SysML
given that you are even asking this question, I would ignore ArchiMate for now, and start with SysML Both have a high learning curve and no doubt your management is expecting results
If you're in the tool market, I would consider something that supports more modelling standards than just the one you are currently looking at. UML and SysML are not "architecture" tools and there are products out there that support a much broader range of modelling standards
Download our free Application Control Report and find out what your peers are saying about ThreatLocker, Check Point Software Technologies, CyberArk, and more! Updated: January 2026.