Introduction
Advancements in IT accelerated business processes but emerging challenges in adapting the technologies to cater to business and business processes to adapt to using emergent tech solutions. In such a fast-paced business environment, effective management of product development lifecycle is crucial for organizations to stay competitive.
Many companies still rely on traditional methods such as offline Excel files to track and manage their product development processes. However, such manual methods often lead to version control issues, lack of collaboration, and inefficient workflow management.
This case study explores how Edstem employed the low-code solutions provided by Microsoft PowerApps and transformed the way a client managed their product development lifecycle, resulting in enhanced collaboration, streamlined workflows, and improved productivity.
Understanding the Challenges:
Our client faced several challenges in managing their product development lifecycle using online Excel files. These challenges included version control issues, limited collaboration capabilities, and complex workflow management. The manual processes hindered their ability to effectively track progress, make real-time updates, and ensure consistent data integrity.
The client approached to Edstem to develop a PoC (Proof of Concept) for solving these challenges by leveraging possibilities of PowerApps . They were specifically looking for a low-code solution which can be delivered in a fast-track manner with enough customizations to cater to their need.
What is Microsoft PowerApps?
Microsoft PowerApps is a low-code development platform that allows users to create custom applications quickly and easily. It empowers businesses to build robust apps without extensive coding knowledge, enabling them to automate processes, enhance collaboration, and improve data management.
Although there is support for low-code drag and drop style app creation, further customizations might require getting one's hands dirty in code, as was the case here due to the need for a custom Azure function in python.
The Solution: PowerApps based UI with some help from an API using Azure function
Edstem helped develop a low-code solution using the features provided by PowerApps to solve the pain points. The following steps roughly outline the phases of developing the solution:
Data definition
The initial problem to tackle was to design a data structure which will cater to the need. This has to be derived from the existing Excel sheets that the client uses while also simplifying it to different table schema meaningful to the data it represents and its relationships.
We derived multiple tables from the excel sheets which fully represented the relationship of the data by defining relevant primary and foreign keys.
The tables also needed to be compatible with importing data automatically from the excel files.
Access control
The next step was to properly define and implement access control to the tables. Newer rules had to be defined together with the client as moving away from excel presented opportunities for finer control.
Two levels of access controls were set up, one for read and write permissions to each table and the other level was about controlling the lifecycle and versioning of the document. For eg: only certain users can promote a product data from "Draft"
status to "Published"
status.
Powerapp UI
The UI development primarily leveraged the low-code features provided by Microsoft for PowerApps platform. This fast-tracked the development making use of drag and drop UI elements to build the screens and used the PowerApps plaftform to tie the tables to the UI.
Edits made to the data in the app UI were made to be committed to the tables with versioning support for each row. Transitions between pages and other UI logic were developed using custom formulae support provided by PowerApps.
We also leveraged the opportunity to build support for multiple workflows and a proper lifecycle management of the data which was not possible before using excel files.
Azure Function
PowerApps are great for basic CRUD operations but when we need something with a bit more robustness, we need to code it. In this use case, the logic of version management was far out of scope for what can be achieved with PowerApps features alone. Hence we developed a serverless API using Azure functions to handle the logic.
It was written in python and was configured to seamlessly integrate with the PowerApps UI alongside updating the tables with versioning information when an edit happens in the UI.
This was the relatively complex part of the solution where we explored the usage of Azure functions and Azure API management to access these functions, along with integrating this custom API in to the PowerApps platform.
Being able to call custom APIs like this further expands what is possible with PowerApps, although one could argue that it moves away from the low-code concept when this is extensively used.
The Result : A successful PoC completed before deadline
The project was planned for three months but Edstem's experts were able to complete and demo the app in just over two months time. Even though we used a low-code platform to develop the UI, the features provided by the custom API using Azure function and its integration was a technical achievement.
Being able to quickly adapt to using emergent technologies and seamlessly combining them with existing platforms to provide an innovative and fast paced solution to business problems is a good challenge to conquer in today's IT space.
Conclusion
By leveraging Edstem's expertise and Microsoft PowerApps' capabilities, our client successfully transformed their product development lifecycle management. The transition from offline Excel files to a custom PowerApp solution enabled enhanced collaboration, streamlined workflows, and improved data management. The success of this case study serves as a testament to the power of leveraging innovative technology to drive business process optimization.