A modern software factory
IT departments worldwide are mandated to provide their organizations with the most reliable and updated IT infrastructure, systems, and programs. Over the life of an organization, IT solutions come and go. Some are installed and implemented correctly, others not so much. Keeping the lights on while keeping up with new technologies and business demands is not for the faint of heart.
Our 40+ years of experience in Business Software Development has taught us a thing or two. We believe that for many organizations, a Digital Transformation process that transitions the monolithic functionality and processes to a microservices model – that can support on-prem, cloud, or hybrid deployments – makes more sense than continuing to patch it up or executing a complete rip-and-replace effort.
Organizations need a process that assists Internal Development Teams in better managing the transition to a Software Factory and the digital future of their organization.
Where did it start….
Mass customization
IT companies should reflect on the modern production methods of the automotive industry. Here we have seen that in the past, the aim was to optimize generic components into one end product. So, moving from make-to-order to make-to-stock. Henry Ford was the undisputed king with ‘every color is possible as long as it is black.’ The focus of Ford Motor Company was on generic components instead of customer-specific features because the cost price could be greatly reduced through volume, and the quality could be increased by reusing components.
We have seen a similar development in the production of complex IT solutions, such as ERP. Due to their complexity, all components were generically produced and combined into a generic end product, whereby the enormous costs of the production process could be spread over many companies worldwide. To adjust this complex product somewhat to the needs of the individual user, huge amounts of parameters were introduced.
However, after the implementation drama of a complex product as an ERP system, individual companies started to share their wishes on top of this generic product through customization. Ultimately, this has become the saga of huge costs that must be paid annually for deploying this software. One of Gartner’s former technology industry analysts, Vinnie Mirchandani has calculated these costs for the SAP platform to be at US $309 billion annually. We now see a focus in the modern industry on mass customization. Just-In-Time & Lean methodologies have gained more control over reducing the lead time of the production process.
Robotization and 3D printing make the process much more flexible, and because modern components are now equipped with many sensors, the end product can be deployed much more individually and flexibly through software applications.
So, from mechanics and electronics, there is still a need for numerous generic mass components, but for the software user, the emphasis lies much more on the specific customized solution. A good example is the iPhone, which is no longer primarily about functionality (the logic), but much more about solving the connectors to it, whereby a new product can be immediately used with it.
New ideas…
A new generation of software development
Gartner’s MASA architectural vision (mesh architecture of apps, APIs, and services) assumes that underlying platforms power an ecosystem. Think of the PaaS platforms of Salesforce or Workday. A complex ERP module can consist of legacy components, such as SAP, where bots can provide for the automatic capture of traditional screens in these legacy systems, and a web API offers the possibility to build new functionality decoupled with smart apps. The data stored in a modern data warehouse makes it possible to enrich these apps with machine learning. The starting point here should be to bring back the legacy components to plain vanilla and make no changes to the underlying engine ever again. UI-driven smart apps are constantly replacing these legacy components. We call this: the ‘daily sunset of legacy.’
For example, a procurement module can be placed outside the enterprise in a collaborative network. Our platform allows collaboration with processes like ‘procure-to-pay’ and ‘order-to-cash’ in a supply chain network in this document flow. It’s a solution that could easily replace the uber-expensive SAP Ariba solution, which is still based on legacy components.
From generic modules into 'mass customized' components
Modern software factories have to adopt the principles of Industry 4.0. Like manufacturing companies dealing with modern production concepts of mass customization, the end (OEM) manufacturer deals with many tiers of suppliers producing sub-assemblies, which are produced with different technology waves. However, the focus on the end product is simplified and looks flexible to the consumer (like a modern car with obsolete components hiding under the hood).
The same attitude is needed from a modern software factory that needs to act like a tech entrepreneur building a modern ecosystem for the digital enterprise. In the past, our role as an ERP vendor was to deliver a generic ‘off-the-shelf’ enterprise system. But we have seen the complexity and lack of flexibility with these transaction-oriented systems. The key element and focus were on the business logic hidden in silos.
The modern electronic industry focuses on integrating the sensors and components and making the life cycle as short as possible for adopting new products. The focus is on ‘build for purpose.’ The keyword in manufacturing is smart decoupling.
We need to learn from the modern electronics industry and shift the primary focus from logic to the user interface representation for the end user. UI-driven requirement definition is needed as most of the subjectivity comes in the UI design resulting in changes and customer issues. Once we accomplish that, we can categorize these requirement specs into basic types, i.e., input, system, and output, forcing the customer to think about what they expect from the system and document them.
As tech entrepreneurs, we must have the same approach by building smart ecosystems based on the consumerization of IT. Therefore, we need a smart input mechanism to immediately adopt the customer’s business logic to generate the decoupled software components. These are the same principles that differentiate us from other ERP players of the nineties.
Using the right tools…
Advantages: gathering and prototyping - in a standard and rapid way
The advantage of starting with the functional flow and an instant live app display is that the consultant can ‘build the app’ rapidly with the customer.
Since the customer sees the final screens, they can give needed features much faster, more efficiently, and with much completeness.
Risk will be removed during the estimation preparation, and it will be based on a complete understanding of the needed app and in full sync with the customer.
When change requests are submitted, it is easy to refer to the screens designed at the start (and signed off before the statement of work) and indicate which changes the customer is asking for are change requests.
Whether you like it or not…
The Importance of citizen development and citizen IT*
Business-led IT differs from shadow IT (Enterprise-led) in two vitally important ways.
Business-led IT is open and transparent from start to finish, whereas shadow IT is hidden and under the radar for all or part of its life cycle.
Business-led IT is a much more collaborative effort between business and IT where appropriate standards and policies are applied.
Gartner has seen business-led IT practices growing to 36% of the IT budget.
Business units are also increasingly controlling their application development efforts, in which citizen development will play a crucial role in the future of apps.
Application leaders must help define, guide, and optimize citizen development to maximize mutual benefits for business and IT.
* Blog, Jason Wong Distinguished VP Analyst, Gartner
Microservice architecture
The beauty of micro apps is that they are incredibly easy to create, deploy and share. New and existing applications can easily call numerous external and internal microservices, making it easy for apps to communicate with each other organically. This has spawned a new generation of app creation. It is far easier for enterprises and software vendors to accelerate these powerful applications.
![A modern software factory - decoupling layers](https://content.rappit.io/wp-content/uploads/2023/01/decoupling-layers-1024x683.jpeg)
While ‘criticasters’ perhaps correctly point out that micro apps easily propagate like mushrooms, fail to scale, and are hard to share and discover, we believe that they should be corralled by policy within an enterprise rather than heavy-handed technology.
ERP customizations are essential but can be bulky and very expensive. In the recent past, we’ve seen app development going micro. In consumer technology, the interactive notifications we get on our phones are a good example of micro-apps. The entire life and death of the micro-app depend on the task it performs and the data it presents to the user. Rappit Developer gives the ability to quickly generate and deploy containers packed with micro-apps with various functionalities at a low cost per functionality/micro-app. Changes and upgrades may also be quickly deployed, increasing the efficiency and productivity of the enterprise. The power of micro-apps is that the common functionality can be handled at the container level. This common functionality is what ties the micro-apps together. The differences (user interface, business logic) are represented by dynamic content downloaded to the container and executed.
By leveraging the power of micro-apps and the ability to reuse, Rappit Developer takes a considerable burden off developers. And thanks to the rapid prototyping capability, customers can accurately define the requirements and predict the development time. Finally, unlike many ERP giants, there is no vendor lock-in with the solutions of Vanenburg.