One of the goals of modern software development methodologies, particularly Agile development, is the ability to continually produce working prototypes that can be rapidly updated on the basis of stakeholder feedback. This “rapid prototyping” concept enables developers to build a better product that more accurately reflects the client’s requirements by eliciting feedback early in the process, when changes to the software can be made inexpensively.
Whether the developers of Microsoft’s PowerApps platform realized it or not, PowerApps lends itself quite well to rapid prototyping. This happy circumstance provides yet another reason for non-developers and developers alike to adopt PowerApps as an important tool in mobile app development.
Here we explore ways to use PowerApps as an auxiliary tool in traditional mobile app development.
It’s well-known that software development projects stand a far greater chance of succeeding if the stakeholders, including the end users, actively participate in the process early and often. Gone are the days when a client would provide high-level requirements to a development team, followed six months later by a presentation of software that completely failed to meet the client’s expectations. That old-fashioned approach nearly always resulted in cost overruns, missed deadlines, abandonment of the project altogether, or some combination of the three.
PowerApps can facilitate stakeholder involvement in the following ways, among others:
- Because of its visual nature, PowerApps naturally facilitates side-by-side development with business unit stakeholders. Developers and business users can work together to define the look and feel of the app.
- Non-technical users can watch as an application is built piece by piece. PowerApps is an inherently visual, low-code platform, so there is little risk of going over business users’ heads with endless lines of indecipherable code.
- Business users and developers can use the visual nature of the app to immediately see issues with the design, such as missing or extraneous controls and fields, illogical or inefficient flow, and misinterpreted or missing user stories. This greatly reduces the turnaround time during the specification phase of a project.
Further, stakeholders become invested as they directly participate in the prototyping state. When they become a part of the process, they tend to be more open to alternative ideas that might be different from their original vision but implement their requirements in a more efficient or elegant way.
PowerApps as a Living Design Specification
A static wireframe can effectively convey dozens of low-level requirements; a working prototype, even more. With PowerApps, a less-technical team member, such as a business analyst, graphic designer, or user experience designer, can quickly build a mostly functional prototype and hand it to the developers as a “living spec.”
as a “living spec.” Such a spec has numerous benefits:
- It is much easier for developers to interpret than hundreds of text-based requirements.
- Whereas text requirements and even static wireframes can be misinterpreted, leading developers down the wrong path, developers can poke around in a working prototype to understand the flow and interdependencies among user interface elements. This reduces confusion and re-work, and can lead developers to ask better questions when there are gaps in understanding.
- Ultimately, the clarity that a working PowerApps prototype increases the team’s ability to deliver the right product, on time and within budget.
Taken together, these two applications of PowerApps make it a useful tool in more traditional app development. It will be interesting to see the other creative uses people find for PowerApps, outside of its stated purpose of low-code app development.