Difference between revisions of "Digital Enablement Development Release Cycle"

From wiki
Jump to navigation Jump to search
m
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Translation to follow}}
 
{{Translation to follow}}
 +
<span style="float:right;">__TOC__</span>
  
The Digital Collaboration Division (DCD) continuously develops, tests and releases enhancements and fixes for its applications throughout their life cycle. There are four stages of development, testing and release for a new DCD application: Pilot, Alpha, Beta and Official release.
 
  
First an application will be in Pilot to determine what open-source software the new application will be using, or if it will be built from scratch. Once an open-source software is selected or a decision has been made to build from scratch, the new application will enter the Alpha stage where the majority of the new development and design work for the new application is completed. After all of the necessary features are developed and tested in Alpha, the new application will enter the Beta stage for any final bug fixes and enhancements required before the Official release.  
+
The Digital Enablement Development (DE-D) Division continuously develops, tests and releases enhancements and fixes for its applications throughout their life cycle. There are four stages of development, testing and release for a new web application: Proof of Concept, Alpha, Beta and Official Release.  
  
==Pilot==
+
Before entering the development process, DE-D will determine if an open source software exists that meet the business, technical and user requirements for the application. If none meet the requirements, DE-D will look into developing the new application, starting with an minimal viable product (MVP) where they will continue to iterate on the application to add additional features and functionalities.
DCD may test multiple open-source applications to develop a particular tool. When a tool is in Pilot it means that an open-source application is being tested to see if it can meet the users' needs, before the tool undergoes a more comprehensive development by the DCD team. It is a short-term, experimental phase to see how the large-scale service may work in practice.<ref>Rouse, Margaret''. “What Is Pilot Program (Pilot Study)? - Definition from WhatIs.com.”'' SearchCIO, June 2013, searchcio.techtarget.com/definition/pilot-program-pilot-study.</ref> Pilot is sometimes referred to as Pre-Alpha.<ref>“Software Release Life Cycle.” ''Wikipedia'', Wikimedia Foundation, 7 Oct. 2018, en.wikipedia.org/wiki/Software_release_life_cycle#Pre-alpha.</ref>
 
  
During this stage the scope of the project is developed, including user and business requirements. User requirements are determined through research, testing and analysis of our user base. From the project scope the DCD team defines a Minimum Viable Product (MVP) to be developed for an Official release. The MVP will not have every feature planned for the application
+
During the proof of concept phase, DE-D will attempt to demonstrate the feasibility of a concept or product to verify if it has the potential of being used. DE-D will either test an open source software to see if it meets the initial requirements, or will test a newly developed Minimal Viable Product (MVP). If the concept or product successfully goes through the proof of concept phase, it will then enter the Alpha phase where the majority of the new development and design work for the new product will be completed. Once the initial necessary features are developed and tested in Alpha, the new tool will enter the Beta phase where at least 90% of the application is completed and is released to users as the Minimal Marketable Product (MMP). During the Beta phase, final bug fixes and enhancements required are addressed before the application is officially released.
  
'''Open Pilot testing''' means that the potential open-source application is available for real users to test. '''Closed Pilot testing''' means that the potential application is only available internally to the team who will be developing the tool. The DCD team uses both of these Pilot testing methods depending on what makes the most sense for the tool being developed. When possible, open Pilot testing is preferred as it includes the user at the earliest stage of development and allows the users to provide feedback.
+
{| class="wikitable"
 +
|-
 +
|
 +
=== '''Minimal Viable Product (MVP) vs. Minimal Marketable Product (MM)''' ===
  
If the open-source application being tested is unsuitable, a different application will be Pilot tested.
+
==== '''What is a minimal viable product?''' ====
 +
In agile product development, the minimum viable product (MVP) is a bare-bones version of a new product that contains a minimum amount of features (usually 1 or 2) and that allows a team to get initial feedback from a small group of users with the least effort
  
'''The following tools are in Pilot phase:'''
+
As the main goal of the MVP is to facilitate validated learning, it can take the form of paper prototypes and clickable prototypes that generate qualitative data (as opposed to quantitative data), as long as it helps to test the idea and to acquire the relevant knowledge.
 +
 
 +
==== '''What is a minimal marketable product?''' ====
 +
The minimal marketable product (MMP) is a version of a product that includes a small set of features that addresses the needs of the initial users (innovators and early adopters), and that can be released to the market.
 +
 
 +
The main goal of the MMP is to reduce the time-to-market as it can be launched more quickly than a feature-rich product. The MMP helps focuses on what really matters, without all the unnecessary features.
 +
 
 +
==== '''In summary:''' The '''MVP''' helps you test your ideas. The '''MMP''' enables you to launch your product faster. ====
 +
 
 +
|}
 +
 
 +
==Proof of Concept==
 +
A proof of concept (POC) is a way for DE to test and demonstrate the feasibility of a concept or product to verify if it has the potential of being used. A proof of concept is usually small and may or may not be complete. DE-D will either test an existing open source application to see if it meets the initial requirements, or will test a newly developed '''Minimal Viable Product (MVP)''', before the product undergoes more comprehensive development by the DE-D team. It is a short-term, experimental phase to see how the large-scale service may work in practice and allows to better investigate a set of technologies and how they might work in a specific business culture. 
 +
 
 +
Before doing a proof of concept, the scope of the project is developed, including user, business and technical requirements. User requirements are determined through research, testing and analysis of the user base. From the project scope, the DE-D team will conduct research to determine if an open source application exist that could meet these requirements. If not, DE-D will develop a Minimum Viable Product (MVP). The MVP will not include all the features planned for the application, only the minimum amount of features required to get initial feedback from users. Further features and enhancements that add value to the tool will be developed if the proof of concept proves to be successful. 
 +
 
 +
'''Open Proof of Concept''' means that the product, or application, is available and open for any users to test. '''Closed Proof of Concept''' means that the product, or application, is only made available to a small set of users, or is only available to the team who is developing the tool. The DE-D team uses both of these testing methods depending on what makes the most sense for the product being developed. When possible, open proof of concept is preferred as it includes the user at the earliest stage of development and provides for more in-dept user feedback.
 +
 
 +
If the MVP or open-source application being tested is deemed to be successful, the application will go on to the next phase of development. If it is deemed to be unsuitable (e.g. does not meet user and/or business requirements), DE-D will determine if there is a need to pivot, abandon or come up with a different solution.
 +
 
 +
'''The following product is an open proof of concept:'''
 
*[https://message.gccollab.ca Message]
 
*[https://message.gccollab.ca Message]
*[https://etherpad.gccollab.ca/ Etherpad]
 
  
 
==Alpha==
 
==Alpha==
After the appropriate open-source application is selected, the tool undergoes Alpha development and testing. During this phase the features and design of the tool are developed based on the user needs determined in Pilot testing.  
+
Once a product (existing open source software or new MVP) successfully passes the proof of concept phase, the application will undergo Alpha development and testing. During this phase, the features and design of the application are developed based on the user feedback received during the initial testing. 
 +
 
 +
If using an open-source application, DE will develop additional features and/or remove features in order to meet users' needs, and align the user interface to use the [[Aurora|Aurora design system]]. The main focus is to make the application stable, accessible and usable for the user base.
  
Alpha testing is done by select users to test the usability and user experience of the tool in development, as well as to find major bugs that affect the functionality of the tool.<ref>“What Is Alpha Testing? An Early Alarm for Defects.” ''Software Testing Help'', 7 June 2018, www.softwaretestinghelp.com/alpha-testing/.</ref> The DCD team also focuses on accessibility testing during this stage.
+
Alpha testing is done by select users to test the usability and user experience of the tool in development, as well as to find major bugs that affect the functionality of the tool.<ref>“What Is Alpha Testing? An Early Alarm for Defects.” ''Software Testing Help'', 7 June 2018, www.softwaretestinghelp.com/alpha-testing/.</ref> The DE-D team also focuses on accessibility testing during this stage.
  
When in Alpha, the tool is functional but may not include all of the enhancements that will be in the official release. Alpha is complete when all of the necessary features and design are developed and tested, and the tool is ready to be released to the entire user base for testing and feedback.<ref>Christensson, Per. "Alpha Software Definition." ''TechTerms''. Sharpened Productions, 05 April 2013. <<nowiki>https://techterms.com/definition/alpha_software</nowiki>>.</ref>
+
When in Alpha, the tool is functional but may not include all of the enhancements that will be part of the Minimal Marketable Product (MMP) and the official release. The Alpha phase is complete when all of the necessary features and design are developed and tested, and the tool is ready to be released as the MMP, during the Beta phase, to the entire user base for further testing and feedback.<ref>Christensson, Per. "Alpha Software Definition." ''TechTerms''. Sharpened Productions, 05 April 2013. <<nowiki>https://techterms.com/definition/alpha_software</nowiki>>.</ref>
  
'''The following tools are in Alpha phase:'''
+
'''The following applications are in Alpha phase:'''
* Directory
+
* No application at this time.
  
 
==Beta==
 
==Beta==
After Alpha testing has ended, the tool enters the Beta stage of development and testing. When in Beta, the tool is at least 90% completed for the official release. During Beta testing users are asked to provide feedback on the design, functionality, and usability of the tool. Beta testing is also done to find minor bugs, as well as bugs which may have been missed in Alpha testing.<ref>“What Is Beta Testing? A Complete Guide.” ''Software Testing Help'', 7 June 2018, www.softwaretestinghelp.com/beta-testing/.</ref> The DCD uses open Beta testing to test its tools, meaning that the tool can be used and tested by every user who wishes to participate in testing in a real environment.  
+
After Alpha testing has ended, the application enters the Beta phase of development and testing. When in Beta, the application is at least 90% completed and is release to users as the '''Minimal Marketable Product (MMP)'''. During Beta testing, users are asked to provide feedback on the design, functionality, and usability of the tool. Beta testing is also done to find and address minor bugs, as well as bugs that may have been missed in Alpha testing.<ref>“What Is Beta Testing? A Complete Guide.” ''Software Testing Help'', 7 June 2018, www.softwaretestinghelp.com/beta-testing/.</ref> The DE-D team uses open Beta testing to test its tools, meaning that the tool can be used and tested by every user who wishes to participate in testing in a real environment.  
  
Beta development uses the feedback provided by the real users to develop any additional enhancements to the features or design needed to release a tool which is usable with a positive user experience. Bug fixes are also applied during this stage. There may be multiple versions released during the Beta stage<ref>“Beta Software.” ''Beta Software Definition'', 5 Apr. 2013, techterms.com/definition/beta_software.</ref>.
+
Beta development uses the feedback provided by real users to develop any additional enhancements or make any modifications to the user interface design needed in order to release an application that is usable and accessible, offering the best possible user experience. There may be multiple versions of the application released during the Beta phase<ref>“Beta Software.” ''Beta Software Definition'', 5 Apr. 2013, techterms.com/definition/beta_software.</ref>.
  
 
'''The following tools are in Beta phase:'''
 
'''The following tools are in Beta phase:'''
Line 37: Line 61:
  
 
==Official Release==
 
==Official Release==
When all necessary features and design are developed and implemented to the new tool, it is officially released. As the DCD works in an Agile environment an official release does not mean that development on the tool ends. Further enhancements to the features are developed, support is provided, and bug fixes are applied throughout the entire life of a tool.
+
When all necessary features and designs are developed and implemented as part of the new application, it is ready to be officially released. As the DE-D team works in an agile environment, an official release does not mean that development on the application ends. User research is routinely conducted to determine if enhancements are reuqired  and how the usability of the tool can be improved. After the official release, DE-D continues to fix bugs, develop and release new features, enhancements and improvements on a continuous basis throughout the entire life-span of the application.
  
'''The following tools have been Officially released:'''
+
'''The following tools have been officially released:'''
* [https://account.gccollab.ca/profile/ Account]
+
* [https://account.gccollab.ca/profile/ GCaccount]
  
 
* GCWiki
 
* GCWiki

Latest revision as of 17:52, 15 February 2019


The Digital Enablement Development (DE-D) Division continuously develops, tests and releases enhancements and fixes for its applications throughout their life cycle. There are four stages of development, testing and release for a new web application: Proof of Concept, Alpha, Beta and Official Release.

Before entering the development process, DE-D will determine if an open source software exists that meet the business, technical and user requirements for the application. If none meet the requirements, DE-D will look into developing the new application, starting with an minimal viable product (MVP) where they will continue to iterate on the application to add additional features and functionalities.

During the proof of concept phase, DE-D will attempt to demonstrate the feasibility of a concept or product to verify if it has the potential of being used. DE-D will either test an open source software to see if it meets the initial requirements, or will test a newly developed Minimal Viable Product (MVP). If the concept or product successfully goes through the proof of concept phase, it will then enter the Alpha phase where the majority of the new development and design work for the new product will be completed. Once the initial necessary features are developed and tested in Alpha, the new tool will enter the Beta phase where at least 90% of the application is completed and is released to users as the Minimal Marketable Product (MMP). During the Beta phase, final bug fixes and enhancements required are addressed before the application is officially released.

Minimal Viable Product (MVP) vs. Minimal Marketable Product (MM)

What is a minimal viable product?

In agile product development, the minimum viable product (MVP) is a bare-bones version of a new product that contains a minimum amount of features (usually 1 or 2) and that allows a team to get initial feedback from a small group of users with the least effort

As the main goal of the MVP is to facilitate validated learning, it can take the form of paper prototypes and clickable prototypes that generate qualitative data (as opposed to quantitative data), as long as it helps to test the idea and to acquire the relevant knowledge.

What is a minimal marketable product?

The minimal marketable product (MMP) is a version of a product that includes a small set of features that addresses the needs of the initial users (innovators and early adopters), and that can be released to the market.

The main goal of the MMP is to reduce the time-to-market as it can be launched more quickly than a feature-rich product. The MMP helps focuses on what really matters, without all the unnecessary features.

In summary: The MVP helps you test your ideas. The MMP enables you to launch your product faster.

Proof of Concept

A proof of concept (POC) is a way for DE to test and demonstrate the feasibility of a concept or product to verify if it has the potential of being used. A proof of concept is usually small and may or may not be complete. DE-D will either test an existing open source application to see if it meets the initial requirements, or will test a newly developed Minimal Viable Product (MVP), before the product undergoes more comprehensive development by the DE-D team. It is a short-term, experimental phase to see how the large-scale service may work in practice and allows to better investigate a set of technologies and how they might work in a specific business culture.

Before doing a proof of concept, the scope of the project is developed, including user, business and technical requirements. User requirements are determined through research, testing and analysis of the user base. From the project scope, the DE-D team will conduct research to determine if an open source application exist that could meet these requirements. If not, DE-D will develop a Minimum Viable Product (MVP). The MVP will not include all the features planned for the application, only the minimum amount of features required to get initial feedback from users. Further features and enhancements that add value to the tool will be developed if the proof of concept proves to be successful.

Open Proof of Concept means that the product, or application, is available and open for any users to test. Closed Proof of Concept means that the product, or application, is only made available to a small set of users, or is only available to the team who is developing the tool. The DE-D team uses both of these testing methods depending on what makes the most sense for the product being developed. When possible, open proof of concept is preferred as it includes the user at the earliest stage of development and provides for more in-dept user feedback.

If the MVP or open-source application being tested is deemed to be successful, the application will go on to the next phase of development. If it is deemed to be unsuitable (e.g. does not meet user and/or business requirements), DE-D will determine if there is a need to pivot, abandon or come up with a different solution.

The following product is an open proof of concept:

Alpha

Once a product (existing open source software or new MVP) successfully passes the proof of concept phase, the application will undergo Alpha development and testing. During this phase, the features and design of the application are developed based on the user feedback received during the initial testing.

If using an open-source application, DE will develop additional features and/or remove features in order to meet users' needs, and align the user interface to use the Aurora design system. The main focus is to make the application stable, accessible and usable for the user base.

Alpha testing is done by select users to test the usability and user experience of the tool in development, as well as to find major bugs that affect the functionality of the tool.[1] The DE-D team also focuses on accessibility testing during this stage.

When in Alpha, the tool is functional but may not include all of the enhancements that will be part of the Minimal Marketable Product (MMP) and the official release. The Alpha phase is complete when all of the necessary features and design are developed and tested, and the tool is ready to be released as the MMP, during the Beta phase, to the entire user base for further testing and feedback.[2]

The following applications are in Alpha phase:

  • No application at this time.

Beta

After Alpha testing has ended, the application enters the Beta phase of development and testing. When in Beta, the application is at least 90% completed and is release to users as the Minimal Marketable Product (MMP). During Beta testing, users are asked to provide feedback on the design, functionality, and usability of the tool. Beta testing is also done to find and address minor bugs, as well as bugs that may have been missed in Alpha testing.[3] The DE-D team uses open Beta testing to test its tools, meaning that the tool can be used and tested by every user who wishes to participate in testing in a real environment.

Beta development uses the feedback provided by real users to develop any additional enhancements or make any modifications to the user interface design needed in order to release an application that is usable and accessible, offering the best possible user experience. There may be multiple versions of the application released during the Beta phase[4].

The following tools are in Beta phase:

Official Release

When all necessary features and designs are developed and implemented as part of the new application, it is ready to be officially released. As the DE-D team works in an agile environment, an official release does not mean that development on the application ends. User research is routinely conducted to determine if enhancements are reuqired and how the usability of the tool can be improved. After the official release, DE-D continues to fix bugs, develop and release new features, enhancements and improvements on a continuous basis throughout the entire life-span of the application.

The following tools have been officially released:

  • GCWiki

References

  1. “What Is Alpha Testing? An Early Alarm for Defects.” Software Testing Help, 7 June 2018, www.softwaretestinghelp.com/alpha-testing/.
  2. Christensson, Per. "Alpha Software Definition." TechTerms. Sharpened Productions, 05 April 2013. <https://techterms.com/definition/alpha_software>.
  3. “What Is Beta Testing? A Complete Guide.” Software Testing Help, 7 June 2018, www.softwaretestinghelp.com/beta-testing/.
  4. “Beta Software.” Beta Software Definition, 5 Apr. 2013, techterms.com/definition/beta_software.