Canvas software development projects move through a series of phases in an agile revolving process. Heres a little insight into our development process. Learn about sharing ideas and the feature idea process.
High-level product priorities (roadmap) for Canvas are reviewed and updated every three months. At any time in this cycle, the roadmap contains numerous priorities that move fluidly through the process of development.
During the Discover phase the Product team concentrates on understanding the basic needs of users that drive their behaviors. By studying people's actions and asking questions about what they are trying to accomplish, the team hopes to understand the basic goals of the people using the software. Once they have an understanding of these basic needs they can define, at a minimum, what functionality the software must provide. Then the task of creating the software is broken down into as many discrete tasks as possible and a plan is developed to deliver benefits to the users in a series of stages rather than making them wait until all development is completed. Learn more about this process in the Methodology section below.
During discovery, the product team may:
During the Design stage, all possible solutions are explored and evaluated. Sometimes the right solution is obvious and narrowed to a few options, relying on customer feedback to get to the best solution. Think of this stage like developing a proof of concept.
Develop & Test
When a product priority is in the Develop and Test stage, engineers are actively building pieces of the solution and testing them against success metrics. As individual components are built and tested, they inform the design and best path forward for the components that engineers will work on next, allowing for a better overall solution than if each component were built in isolation.
The Release stage is when users will first see a priority (or part of a priority) emerge in Canvas Beta Release Notes. After a change has been user tested in Beta it moves to Production. The official Canvas Production Release Notes will be published the Monday before the production release on Saturday (for Monday holidays, we publish release notes on Tuesday). For more detail, reference about Canvas Release Notes.
Once a feature reaches the Evaluate stage, our product team looks at the success criteria defined in the Discover stage to determine if success was achieved.
Instructure developers subscribe to the Agile software development methodology, which describes this cyclical process. When the user community suggests an idea and it receives a high vote count, it is evaluated it to see if it can fit within existing priorities. If it is an easy update or something that could realistically fit in between larger development projects, Instructure tries to get it done immediately. If it is too big to squeeze in, but it is something we think is important, the update goes into a holding pattern for consideration in the next cycle.
Community input is very important in all stages of this process. The Community Team meets weekly with the Product Team to translate and advocate for ideas that align with defined priorities or are rising to the top of the open forum. Feature idea relevance to a priority, voter demographic, total votes, and comments are just some of the factors taken into consideration.
Every idea is important. Revising the roadmap quarterly, in combination with Agile software development, makes every idea worth submitting. Ideas may be a simple easy update, align with a priority in an unexpected way, spark a new priority added in the new cycle, or be a great idea that sits in waiting for future development. If you dont submit your idea, you'll never know. Before submitting a new idea, be sure to search for similar ideas.
An update might seem simple, however, there may be a few reasons why it's not as simple.
First, behaviors commonly overlap, and sometimes that other behavior may be more complex. Creating the right solution that resolves overlapping behaviors takes a little more time.
Second, when you unpackage a component of the core product (e.g. discussions) and make changes, there may be a ripple effect to these enhancements that needs to be tested and assessed for quality assurance, documented, and communicated to all Canvas users. There are efficiencies inherent in making several changes at one time rather than constantly changing all components with equal frequency. Also, sometimes a simple change cannot be made until another, more complicated component is updated.
Your continued support and participation in the community forums are very valuable to Canvas as a product and to the user experience. We urge you to keep sharing, commenting, and voting.
We periodically clean up the comments on this document to keep them manageable for our readers. If a question or comment has been addressed we may remove it.