Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Xsemble - Make software like they make cars!

Xsemble is a low code product suite to create software applications by assembling independently created components. Highly suitable for distributed remote work.

  • Be the first to comment

  • Be the first to like this

Xsemble - Make software like they make cars!

  1. 1. © 10Xofy, All rights reserved February 2021
  2. 2. 2 / 26 © 10Xofy, All rights reserved Common Challenges Poor Visibility Most stakeholders, including business analysts, have no good way to examine the nitti- gritties of how software is implemented. Defects get injected unnoticed. People Issues It takes long for one to be productive. When a project gets delayed, scaling up the team does not help. Anyone leaving the team impacts timelines. Complexity Defect fixing and enhancements become difficult as the software grows in complexity. Risk of going wrong is high when you do not have a good handle. The new Xsemble technology offers a solution to these challenges!
  3. 3. 3 / 26 © 10Xofy, All rights reserved Approach to Solving Common Challenges Visibility There is unprecedented visibility into the actual working –even to non programmers. The design can be reviewed thoroughly to avoid costly mistakes. People Freed from insistence of finding programmers with domain knowledge, work assignment is easier. Onboarding time is cut down. Teams can scale up and down easily. Complexity Since programming deals only at component level, the complexity gets reduced multi-folds. Code does not become patchy due to the ease of dealing with it.
  4. 4. 4 / 26 © 10Xofy, All rights reserved Additional Benefits with Xsemble Effort & Cost Reduction Reduction of effort in both development and maintenance! Manageability High visibility and manageability of the end-to- end software development process, leading to project success with increased certainity! Work Optimization Programmers and non- programmers can focus on their strength areas, leading to more efficiency and ease of developing multi- disciplinary / deep tech applications.
  5. 5. 5 / 26 © 10Xofy, All rights reserved What is Xsemble? ✔ Low-code technology solution (patent filed) for software development. ✔ Enables “Visual Assembly of Software”. ✔ Domain agnostic. Been used to make software for various domains. ✔ Core concept: a special flow diagram that models both the control flow and the data flow. Xsemble Flow Diagram 1. The flow starts at the START node. 2. A web page asks your name and outputs it to the ‘name’ variable (gray circle). 3. An entry point takes the name and translates into server format (yellow circle). 4. A web page takes the name and greets you by name. Gray arrow = control flow Dashed blue arrow = data flow 1 2 3 4
  6. 6. 6 / 26 © 10Xofy, All rights reserved Supported Technologies Xsemble supports Rapid Application Development of Java EE applications ✔ Web applications ✔ API backend ✔ PWA applications (mobile) Support to some other technologies is underway ✔ PHP, Python coming soon ✔ Can add others depending on demand
  7. 7. 7 / 26 © 10Xofy, All rights reserved Target Customer Segments Customer Segment Key Benefits Software product companies ✔ Saving effort in development (~40%) and maintenance (~80%) ✔ High visibility of the actual working and progress across stakeholders Software services companies ✔ Efficient utilization of IT and non-IT resources ✔ Crisp project management ✔ Evolving repositories of reusable components IT-enabled businesses (Banks, Retail, Life sciences, Transportation etc) ✔ Creating IT assets while reducing vendor dependence ✔ Better control within the organization ✔ Addressing ever-evolving requirements with ease Startups ✔ Saving costs ✔ Reducing technology risk ✔ Quicker time to market Educational institutes ✔ Educating students on software design and development
  8. 8. 8 / 26 © 10Xofy, All rights reserved Xsemble Process ✔ Works across Waterfall or Agile processes. ✔ Programming is not required for steps 1 & 3. It is needed only in step 2, only for implementing components. ✔ Thus, one can own the development without being a programmer. Define components & flow visually Develop components from templates Burn the application Blueprint Components Source code Deployable 1. Design 2. Componentwise Development 3. Assembly 3 step process. Like cars are made.
  9. 9. 9 / 26 © 10Xofy, All rights reserved Step 1 - Design Define components and use them to create the flow diagram (blueprint). Components Components are molecular level building blocks, and are highly reusable – within an application or even across applications. There are 3 types of functional components: 1.Methods: Processing units, (business logic, database calls etc) 2.Pages: UI and in general anything that goes to UI 3.Entry Points: The gatekeepers of a layer. Manage data translation Method Pages Entry point
  10. 10. 10 / 26 © 10Xofy, All rights reserved Step 2 – Componentwise Development Generate implementation code template, and let a programmer add implementation code. Code Template Auto-generated based on the component definition. It has comments to aid a programmer. The programmer may use their favorite IDE for editing code.
  11. 11. 11 / 26 © 10Xofy, All rights reserved Step 3 - Assembly The burn process automatically generates the glue code to wire the component implementations. The output of this step is the application codebase in standard form, and can be treated like hand-generated code. There is no runtime dependency on Xsemble. Burn the application -- at the click of a button.
  12. 12. 12 / 26 © 10Xofy, All rights reserved Automatic Check of Design Health check facility helps any issues with the application design surface.
  13. 13. 13 / 26 © 10Xofy, All rights reserved Runtime Monitoring You can also get invokation reports which show the statistics of invokations and the values of the variables, so you know which values go in or come out of a node. Note: The application needs to be burnt with Monitoring on for runtime monitoring to work! Connect to a running application and monitor the process flow visually, as the nodes that get executed get highlighted.
  14. 14. 14 / 26 © 10Xofy, All rights reserved Unprecedented Visibility Review, Certify, Create & maintain Onboarding, Choose components, Unit testing Review, Understand Troubleshoot, Forward issue Test planning, Troubleshoot, Defect assignment Plan work, Track progress, Assess risk Quality Engineer Programmer UI/UX Domain Expert Manager Support Engineer Other Stakeholders Flow diagram that stays up-to-date over the life of the software
  15. 15. 15 / 26 © 10Xofy, All rights reserved Taking Outside Help Core Team Other team members Project Team has access to export components and send Send back impl code + test cases Freelancers Using test bundle mechanism, you can take external help for select components. Workspace Components Source code Blueprint
  16. 16. 16 / 26 © 10Xofy, All rights reserved The Big Picture Wireframe Design Requirement Analysis & Estimation UI Component Development Business Component Development Data Modeling UI/UX Design Testing Test Design Xsemble Monitoring Xsemble Application Generation UI Development WireFrames Use cases UI design Entities/ DB design Implemented components Component designs Test Cases Xsemble Design Flow diagram Deployable Static pages Xsemble Project Management Understanding flow diagram Conventional activity Xsemble-aided activity Legend Deployment/ DevOps Xsemble enhances some parts of the end-to-end process to make reliable information available.
  17. 17. 17 / 26 © 10Xofy, All rights reserved Progress statistics at the fingertips helps managers know the exact status quantitatively. Detailed report and Kanban chart further help in drilling down. Combined with the increased visibility, this leads to increasing the odds in favor of project success! Aiding the Managers
  18. 18. 18 / 26 © 10Xofy, All rights reserved Impact on Development Effort Saving Waterfall or Agile, SDLC (Software Development Life Cycle) captures the phases in software development. * Note: Actual savings vary based on engagement-specific situations. SDLC Phase Conventional With Xsemble* Reasons for Reduction Requirements 15 10 ✔ Technical resources not needed Design 25 20 ✔ Health Check helps in design validation ✔ Reliable, granular estimate from component sizing Development 40 20 ✔ Generated code and unit test templates, Generated glue code ✔ Smaller components Accuracy ► Accuracy Reduced rework ► Accuracy ✔ Better progress tracking at component level Testing and Defect fixing 15 7 ✔ Higher visibility, more accuracy Less defects ► Accuracy ✔ Ease of fixing bugs as they can be traced to component level Deployment and User acceptance 5 3 ✔ Visibility into flow diagram Omissions less likely ► Accuracy ✔ Changes at component level Easy to make ► Accuracy Total 100 60
  19. 19. 19 / 26 © 10Xofy, All rights reserved Impact on Maintenance Effort Saving Conventionally, maintenance is 85% of the total software cost. Using Xsemble, 80% savings in maintenance cost is estimated. ● Effort keeps increasing exponentially, as team members change and code becomes patchy. ● At some point, software cannot be maintained anymore. A re-engineering is forced. ● Team members having high familiarity with existing codebase is very important. Conventionally ● Using visual monitoring, an error can be traced to a component before involving a programmer. ● Programmer does a surgical fix. This does not need familiarity with the entire system. Fast and accurate. ● New team members can be onboarded easily, as component level coding is orders of magnitude little to understand. With Xsemble
  20. 20. 20 / 26 © 10Xofy, All rights reserved Summary of Effort Saving Development phase Maintenance phase Development effort saved Maintenance effort saved Technical end of life, where the software is prohibitively costly or impossible to maintain Increased life C o n v e n t i o n a l Xsemble Time Burn rate Effort saved is the area between the red and the blue curves. Conventional (red): ● Initial lump for development phase ● Maintenance starts low ● It builds up as code becomes patchy and team members change. With Xsemble (blue): ● Development effort is lower (estimated 40% reduction) ● With code changes the components may change, but the code complexity at component level does not increase. So the effort stays more or less flat.
  21. 21. 21 / 26 © 10Xofy, All rights reserved New Possibilities: Application Optimization Configured option Option 1 Option 2 Option 5 Option 4 Option 3 Option 3 Usual Application Lean Application Option 4 Click for further reading Click for further reading Build what you need, when you need. Lean application takes less to build and performs better. ✔ Configuration step not needed ✔ Unnecessary options not built ✔ Application burnt with only the option that is relevant to users
  22. 22. 22 / 26 © 10Xofy, All rights reserved Financial Impact Business Opportunities Cost Savings ● Lower Time-to-Market ● Better Quality ● Longer shelf life ● Effort saving ● Smart resourcing ● DIY (Do It Yourself) ● Easier maintenance
  23. 23. 23 / 26 © 10Xofy, All rights reserved Frequently Asked Questions ➢ For large applications, will the flow diagram become too complex to comprehend? Xsemble supports project-subproject functionality. A subproject node in a flow diagram (project) represents another project. Using this feature, you could keep a single flow diagram from becoming too complex. ➢ Can I use a UI framework of my choice? What about the database? Yes to both. A programmer is free to do almost everything that could with raw coding, within the confines of a component. The programming world is full of choices, and one is able to exercise those as appropriate. ➢ Can I use CI/CD / docker / kubernetes / cloud with an Xsemble application? At the end of the burn step, you get the complete source code of the application in a standard format, which can be used as raw handwritten code can be used, for any and all these purposes. ➢ How is the code shared among developers? Conventionally, developers use repositories such as git or svn for versioning and sharing the code with one another. The same mechanism can be used with Xsemble workspace. It contains all the Xsemble artefacts. ➢ Is it possible to stop using Xsemble at some point? Yes. You have access to the complete source code of the resultant application, and you can take it and run with it without Xsemble at any time. (But we hope you do not do that.) ➢ Is my code safe? Your component implementation code stays on your machine and gets built locally. The code is not even sent to Xsemble cloud. Its security on your machine is completely within your control.
  24. 24. 24 / 26 © 10Xofy, All rights reserved Market Validation – Case Studies Xsemble is used in creating applications for various domains. IoT 2 small applications delivered by 2 freshers in <15 days against a tight deadline. HR Built a competency matrix creation tool using Natural Language Processing. Showcasing Xsemble’s ability to utilize any technology, including deep tech. Accounting Amazon MWS API integration for fetching billing data, to import it into an accounting software. Legal Process Outsourcing Application to track outsourced legal work. With the help of Xsemble, the end customer completely owned the development effort of this complex application. Recruitment Complex application “HeadTracker” built by Acism, consisting of 1231 nodes. Supply Chain Custom reports primarily meant for supply chain and inventory management. Industry Chamber A custom content management system developed for an association of industries. Featured isolated spaces for categories within the industry.
  25. 25. 25 / 26 © 10Xofy, All rights reserved Xsemble for IT Education Programming students Non-programming students Employment Entrepreneurship Software design Software programming Blueprint creation Component implementation Student types Aiming at Can be trained for Through Xsemble
  26. 26. 26 / 26 © 10Xofy, All rights reserved Ashish Belagali Twitter @Xsemble