Agile Evolved for Platform Development
The Miya Platform has been built to be a responsive and extensible technology base for Alcidion products. However, we also realised that our development methodology must also be capable of reliably delivering new features and product updates in response to new opportunities and to support our customers as they innovate to improve the use of technology. The Agile Development Process has many features that are desirable for software development, such as:
- Relatively lightweight process
- Adaptive to change
- Short development cycles to better manage the direction of development
- High level of customer engagement
- Allows an ongoing stream of response and innovation
While Agile has it’s strong supporters, we also recognized some problems with the approach:
- Reduces the importance of specifications
- Reduced emphasis on architecture of new development with respect to proper integration into a platform
- Not much detail on how to implement Agile processes in a platform company
- Doesn’t promote user interface design and consistency across products
Alcidion has worked to adapt the agile process to support the development of products with a high quality user experiences, and that fit into Miya Platform to keep extending the platform in a reliable and consistent manner.
Team Structure
The recommended team structure for a project has Alcidion roles (in blue), and direct contact with stakeholders responsible for the operations in the target organisation, as well as with the product owner of the project.
The product owner works with Alcidion staff to generate stories of enough resolution that describe the core functions of the product. These stories are documented and prioritised to create a product backlog.
Story to Sprint
At Alcidion we try to break development into sprints of about 2 weeks. This means the team will work out how to implement stories that result in an interim version of the product in about 2 weeks of time. We have modified the Agile process to add “gates” that must be passed before a sprint commences:
- An Architecture review that recommends the way to implement the product that is consistent with the established patterns and existing frameworks in the Miya Platform
- A User Interface review that establishes the way in which the product should be implemented that is consistent with the Alcidion User Interface guidelines, and that will pass hazards assessments and usability tests
- Content review if applicable, where clinical content may have to be deconstructed into decision support modules (rules, decision tables), smart forms or checklists.
Future sprints are planned at a high level, with the understanding that story priorities may change as product development progresses.
Candidate stories are selected according to priority and are broken into tasks with time estimates for time to complete, technical risk, and complexity (e.g. implications for other framework components).
During a sprint tasks are captured on a whiteboard, with cards moved across the board as tasks are completed, tested and verified.
Burn up charts are generated daily to track tasks expansion, progress, and budget expenditure. The product stakeholder ideally has daily stand-up meetings with the team to review progress, and to resolve any potential issues that have emerged during implementation.
Testing and Stabilisation
Testing takes a variety of forms: unit testing, sub-system testing, demo releases for user testing, factory acceptance testing against a virtualised environment that mirrors the customer environment, and then user acceptance testing.
Alcidion continues to progress with continuous build and test automation, overnight runs, week-end soak testing for scalability and performance using simulated data, functional and story-based testing.
Ideally the Miya Platform is released in 3-4 month builds, with whole product testing allowing stabilisation across all components of the platform.
















