What is the feature development process for Canvas?

Document created by communityteam Administrator on Aug 8, 2015Last modified by jivedocs@instructure.com on Apr 22, 2017
Version 7Show Document
  • View in full screen mode

    Official Canvas Document

Canvas + Logo transparent (WHITE)- 300px.png

Related links include:

 

Canvas software development projects move through a series of phases in an agile revolving process. Here’s a little insight into our development process.

 

What is the development cycle for Canvas?

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, which is illustrated below:

Discover:

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:

    • Visit sites to interview users
    • Survey users
    • Review community content (ideas, discussions, questions, CanvasLive sessions, etc.)
    • Review support cases
    • Collect feedback from Customer Success Managers (CSMs)

 

Design:

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.

 

Release:

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.

 

Evaluate:

Once a feature reaches Evaluate stage, our product team looks at the success criteria defined in the Discover stage to determine if success was achieved.



What methodology is used for development?

Our 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, we evaluate 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, we try 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.

 

Where does the Community input fit in?

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.

 

If my idea doesn’t align with a priority, is it still important?

Yes. Every idea is important. Revising the roadmap quarterly, in combination with Agile software development, makes every idea worth submitting. Your idea may be a simple easy update, align with a priority in a way you didn’t expect, spark a new priority added in the new cycle, or be a great idea that sits in waiting for future development. If you don’t submit your idea, you’ll never know. (Before submitting a new idea, be sure to search for ideas like your own!)

 

What if something seems like it would be a simple update?

Perhaps it might be. However, there may be a few reasons why it’s not as simple as you may think. First, behaviors commonly overlap, and sometimes that other behavior may be more complex (which you may not be able to see). 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.

8 people found this helpful

Attachments

    Outcomes