Hello, I'm Kamil Ebanks, a final year computer science student at University College London. I recently had the opportunity to work with Microsoft, as part of UCL's industry exchange network (IXN), on a final year project that involved using the Power Platform. Between October 2022 and March 2023, the project was successfully finished under the supervision of Microsoft representatives, Prof. Lee Stott and Olanrewaju Oyinbooke. In this blog post, I'll be sharing my experience of using the Power Platform and providing some insights into the benefits and challenges that I faced in using low-code development.
Overview Learn about Kamil Ebanks' experience as a final year computer science student at University College London working with Microsoft on a project using the Power Platform, a low-code development tool. Kamil created a platform that helps combat food waste and insecurity issues in the United Kingdom by improving resource allocation among food bank stakeholders. He shares his insights into the benefits and challenges of using the Power Platform, including the user-friendly UI, integrated testing capabilities, and version control functionality. Kamil also discusses the lessons he learned from this project, such as the importance of collaboration with stakeholders and expanding his knowledge in various technologies. He invites readers to watch a YouTube video for a more comprehensive understanding of the project.
What Was the Project?
I worked on a project aimed at enhancing resource allocation amongst foodbank stakeholders to combat prevalent food waste and insecurity issues throughout the United Kingdom. The primary objective was to create a platform consisting of three portals that promote efficient collaboration among stakeholders. The first portal was designed for foodbank workers, the second for administrative staff, and the third for both foodbank users and donators. The project required identifying the key issues that the stakeholders faced, proposing a solution to address those issues, and then implementing that solution.
This approach allowed for much faster development cycles, enabling me to deliver a functional system within a relatively short timeframe. Overall, the project highlights the potential benefits of fusion development and low-code approaches for addressing real-world challenges. Through this project, I gained valuable experience in using plethora of different technologies, which I will carry forward into my future work as a software engineer.
For those interested in a more comprehensive understanding of the project, I invite you to see the YouTube video linked below. The video covers an overview of the project and a short demonstration of each portal.
Immediate Experience as a First Timer
I was pleasantly delighted by the Power App's simple and user-friendly UI. As a beginner to low-code development tools, I was able to quickly prototype and iterate on the idea because it was so simple to pick up and understand. This made it easy to focus on creating a user-centered design, which ultimately allowed for the rapid delivery of a large project with rich set of features.
Without the Power Platform's low-code strategy, finishing this project within the allotted time would have been significantly more difficult, this demonstrates one of the main advantages of fusion development.
Testing in Power Platform
Testing was extremely important in the project's development because it helped to make sure the final product was of the highest quality possible. I was able to rapidly test the solution using Power Platform ‘Test Studio’ which provides rich functionality for testing canvas apps.
I developed integration tests using Test Studio to verify that the application functions as expected. Tests are crucial in any software engineering cycle, and it's great that this functionality is provided in a low-code solution like Power Platform. These tests were crucial in preventing regressions and identifying issues during the development process, enabling me to address any problems right away before completing the project.
In order to make sure that the solution was usable by everyone, I also used Power App's app checker for automated accessibility testing throughout the project. This functionality helped tremendously during the development process and was immensely beneficial for checking that the application complies with accessibility standards.
Overall, the Power Platform's integrated testing capabilities were a huge benefit for the project, enabling the creation of a high-caliber solution that satisfied the requirements of the users. The Power Platform's testing tools make it simple to construct solid, dependable apps, regardless of whether you are an experienced developer or a novice user of low-code development.
Using Source Control with Power Platform
During the project, version control posed a challenge that required a solution. Power Platform and GitHub enabled seamless integration of version control into the workflow. This integration facilitated change tracking which was an incredibly useful feature. Although development was done independently, I imagine that teams could benefit greatly from the version control feature offered by the Power Platform. Version control enabled easy reversion to previous solution versions, ensuring project stability. The Power Platform's version control capability provides a robust and efficient solution for collaborative projects.
What I Didn't Enjoy
Like any software development project, bugs were encountered during the project. Although some of the error messages that the Power Platform gave weren’t as descriptive as I would’ve liked, it was a relief to learn that the Microsoft team was very responsive to my concerns. Lee and Olan took prompt action in addressing the issues I raised and have been dedicating significant effort to enhancing the user experience of the platform. I look forward to seeing how the Power Platform evolves and improves in the future.
What I Enjoyed and Lessons Learned
Working on this project was an enriching experience, as it allowed me to collaborate closely with various stakeholders, including the project partner, my supervisor, and foodbank workers. This collaboration was essential in building a solution that truly met their needs and was a great opportunity to develop my skills in both technical and interpersonal aspects of software development. These skills will undoubtedly be invaluable to me in future endeavors.
I believe that my experience with the Power Platform highlights the incredible potential of low-code development tools. As someone studying computer science, I have come to appreciate the unique strengths and limitations of both low-code and pro-code approaches. In this case, the Power Platform's intuitive low-code environment enabled me to create a robust and highly functional system within a tight timeframe.
I am enthusiastic about the prospect of further exploring the capabilities of low-code development tools and integrating them into my future workflows. I highly recommend that other developers do the same. By combining low-code and pro-code approaches, we can unleash a new level of efficiency and productivity that is sure to benefit the entire industry.