screenshoot

Benefits

The benefits arise from the following:

  • Components are tiny and independent. The focus of programming is always one component at a time -- never the complete application.
  • The blueprint of the application is a flow diagram. It is an accurate and explicit representation of how the application works. Being visual, it is easy-to-understand even to non-programmers.
  • The blueprint always stays up-to-date with the actual working. This is because any changes to application first happen at the blueprint level, and then percolate to any component level changes.

Business Benefits

Xsemble provides a feature for visual monitoring of a running application. This is highly useful to understand the runtime behaviour of the application, to the level of the data being passed and coming out of a component. This helps in troubleshooting and identifying problem components -- all visually, without needing a programmer.

The unprecedented visibility into the working of the application in terms of visuals is invaluable. That makes the programming and non-programming stakeholders more productive. The latter can now analyse, troubleshoot and even take over the design. This reduces rework and helps you reach your finish line quicker.

The domain knowledge that is needed by programmers is just enough to handle the component in hand. This brings down the training needs. It also means that you could shuffle programmers easily as needed.

It is possible to export only a selected number of components for development or unit testing using Xsemble's "Test Bundle" functionality. Assigning work part-wise without giving visibility of the large context is beneficial for IP protection or military applications.

Xsemble makes remote working easy. As the deliverables go small in size, individual contributors can work on those. The crisp definition of work helps in management and measuring productivity.

You can do better project management through component level estimation and progress tracking. Xsemble auto-generates a Kanban chart and lets you do slicing and dicing of the information.

In the big picture, Xsemble enhances those parts of the software development process which traditionally have been blocking visibility at a detailed level. With this enhancement, the end to end process becomes transparent and more manageable. This greatly reduces the risk of failure.

Technical Benefits

There is a significant reduction in the effort and cost during both the development and maintenance phases. The code complexity at component level is always low. Therefore the code never becomes patchy. The software stays easy to enhance and maintain, even as it grows over time and changes hands.

Xsemble makes it easy to create and maintain repositories of reusable components. These components may be reused within one application or across applications. The reuse of pre-tested components reduces the effort and time to market while raising the quality of the finished product.

The "Health checks" in Xsemble provide automatic identification of design issues, which could be potentially missed out in raw coding. They thus contribute to making a robust software.

Programming at component level brings down the concern by orders of magnitude -- hence being easier, faster and high quality.

It is easy to re-organize an Xsemble-based application by moving components. One use case of this is migrating a monolithic application into microservices. Similarly, moving business logic from one microservice to another is easy.

Re-engineering of legacy applications to Xsemble architecture is done using Stranger pattern. The ease of enhanceability, maintainability and the longer shelf life that the migration would result in make a case for it.

Xsemble does local processing (compilation etc) on your machine. Your component implementation code stays on your machine. The team can share the code and artefacts using standard configuration management tools.

Xsemble may be used in education effectively. A tiny component is a small enough context for a student to practise programming skills. Further, the design of large applications as Xsemble flow diagrams is easy to learn without getting into programming.

Use Scenarios

icon
Software Product Companies

Let business analysts own the software. They can go to programmers for component work as needed. Reduce domain knowledge transfer overheads. Kill rework. Raise productivity.

icon
Software Project Companies

Manage projects better with increased visibility into the work progress and ability to move people around. Benefit from the ease of enhanceability and maintainability of software.

icon
Education

Programming students learn the practical aspects through programming components. Non-programming students (even from non-IT streams) learn the design of applications.

Case Studies / Testimonials

Case Study at SoftDEL

When Xsemble was used at SoftDEL, it was the first ever time that it was used outside 10Xofy. The conditions were quite challenging and Xsemble shined through it. The below video covers this experience through 3 perspectives: the programmer's perspective, the Project Manager's perspective and the top management's perspective.

Student Projects

Practical learning of programming concepts is achieved through mass internships provided to college students. The students worked in their free time, from the convenience of their college lab or at their homes, and gained good confidence.

The Toolkit

The Xsemble suite consists of three desktop applications. They use the services of Xsemble cloud in the background. These applications are created with Java technology, and work on a wide range of platforms (Windows, Linux, MacOS and others) that support Java8 and above.

All your code and supporting artefacts are stored within your file system, and may be version controlled using a version control system such as git. They are processed locally by the Xsemble desktop applications.

The below table describes how these tools relate to the various phases of the Software Development Life Cycle (SDLC).

SDLC Phase Developer's Workbench Assembler's Workbench Monitoring Workbench
Requirements -- -- --
Design Define components Create flow --
Development Implement components -- --
Testing -- -- Visual Monitoring
Deployment -- Burn application --
Maintenance -- -- Visual Monitoring

Plans

Xsemble plans comes in two flavours: FREE and Premium.

Here are the differences between the two.

To get started with Xsemble FREE version, click here.
To upgrade to Xsemble Premium, write to sales@acism.com (Xsemble reseller).

FAQs

Here are some common questions that we get asked a lot.

Xsemble is equally suitable for all sized projects - small to large. Xsemble shines in situations when the software is expected to grow with time, and needs to be maintained throughout its life. We do not advise Xsemble for quick-and-dirty throwaway projects.

There is a one time "re-engineering" effort involved for making a pre-existing product Xsemble-based. The effort depends on many factors such as the technology, size and complexity of existing codebase, but it is generally expected to be sizeable. We have a proprietary document could soften this process, through identification of common steps and and existing tools which may be used to make the job easier.
The decision of whether to invest this one time effort is typically based upon the cost benefit analysis. However, given how projects grow complex and harder and costlier to maintain with time, and how enhanceable and maintainable they become once they get into Xsemble, many times it would make sense to go for this re-engineering and cut down the future costs and painful decisions. The sooner you make this decision the more will be the saving.

Xsemble is equally suited for various programming methodologies such as waterfall or agile. Its design-develop-burn process can be taken up within the agile iterations.

10Xofy owns Xsemble. It focuses on research, and is involved into adding new capabilities into Xsemble. Acism Software Private Limited is a services company. It provides allied services such as training, consulting, project management and software development. One of the important services would be the assistance for re-engineering of existing software. These services help organizations benefit out of using Xsemble.

Our model involves working with freelancers, and even referring them for Xsemble related work with our customers. Register here and you will be contacted for suitable work.