What do you think are typical apps that can be built with Low-Code / No-Code (LCNC) tools such as SAP Build Apps? Maybe you think about smaller apps that only contain a small number of pages and data sources, like a time tracking app, invoice scanner, inventory or asset management. Additionally, you as a citizen or professional developer, usually have an idea of an app and immediately start implementing the app you have it in your mind... and that’s of course the power of LCNC!
example SAP Build Apps project for time tracking
But what about more complex projects that contain tens or hundreds of different UIs, complex logic and data models? Do you think that is also something for a LCNC solution? Probably not… Well, I’m here to try and change your mind! We leveraged the power of LCNC to be more productive and improved the collaboration between business users, who defined the requirements, and professional developers, who are mainly responsible for the implementation, or in fusion teams, where both groups develop together from start to finish. In this blog post, I’ll share my experience with several of these more complex projects built with LCNC and the key aspects to keep in mind when working on these projects.
How to start:
Typically, the business needs a new application because market requirements changes, regulatory changes, you want to gain competitive advantages, generate more revenue, minimize costs like get rid off unnecessary tasks, by replacing a manual task with an automatization with SAP Build Process Automation.
Before you start with the implementation of the new complex application, you should start with a detailed requirement analysis like it is done in traditional software projects. During this requirement analysis all stakeholders from business, IT and development should be involved.
What should be captured in the requirement analysis for a LCNC project?
In my opinion the most critical part is the definition of the purpose of the application and the key success criteria. All stakeholders should be aware why the project is done and what the goal is.
Next step is the clarification of responsibilities. Who is going to create:
the UIs with SAP Build Apps and how professional and citizen developer will cooperate during the development
the processes/automatizations/workflows in SAP Build Process automation
the data model and backend services for the app
the project management
the BTP administration (destinations, roles, users)
And often not considered: who will do the testing of the application
Collaboration between business users and developers called fusion teams
Afterwards you can start the detailed definition of the requirements. Who are the different personas that will be using the app? Then, you try to model the process flow of the app for these personas to see the full picture. Online collaboration tools are a good way to do this part.
Now it comes to the finer details: You need to capture the functional and non-functional requirements. Especially for the user interfaces (UIs), mockups are a good way to capture the functional requirements. Here LCNC tools can be an incredible chance. Trained business user can try to create the basic UIs as mockups in SAP Build Apps or an advanced user can model the requirements of the business user directly in SAP Build Apps in a workshop. In this phase focus on functionality not the design. These mockups can be the basis for the final app. Often the requirements are capture in spreadsheets, but for complex projects I can highly recommend project management tools for this purpose. The setup maybe needs more time in the beginning, but you will have a better documentation and better testing capabilities at the end!
In SAP Build Apps you can create your own reusable components (tutorial custom components ). Try to define the basic structure of these components at the beginning. It will speed up the development time afterwards, because you can reuse the components on different pages. Example you want a dynamic input field that contains a textbox, a red asterix if the field is mandatory, and an input field - something like this:
custom components in SAP Build Apps
During the analysis also keep in mind where you need to use external data sources and where you need to create a new data persistency. Try to finalize the data model and corresponding services as soon as you can. Changes afterwards can cause a lot of work in the UIs.
Don’t forget to talk about non-functional requirements like usability, maintainability, availability and so on.
The next point is something you maybe have not expected in a LCNC project. In complex projects you often have naming convention for the development. This also has a huge impact on the maintainability of a LCNC application. I am going to share some more information in my next blog about LCNC coding best practices.
To summarize it now, the main steps of a successful project are: knowing what you want to build and why, defining responsibilities, and outlining the requirements. And if you spend, better said, invest some time in the preparation for a more complex project, and capture the requirements in a structured way, these projects can be also successful with LCNC tools like SAP Build.
I would love to learn from your experience. What was your biggest project with SAP Build? What was the use case? How many UIs did you need to model?