Support/PlatformEngineering: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(category -> Support Archive)
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Draft}}
= Overview =
= Overview =
We need to come up with a plan for engineering a sustainable platform for SUMO.  The goals are:
This document is a plan for engineering a sustainable platform for SUMO.  The goals are:
* Evaluate the updated Tiki platform for suitability as a codebase that can continue to grow and improve with SUMO and with other projects using it for support
* Evaluate the updated Tiki platform for suitability as a codebase that can continue to grow and improve with SUMO and with other projects using it for support
* Improve code platform quality to
* Improve SUMO code platform quality to
** Increase robustness and performance
** Increase robustness and performance
** Increase developer happiness
** Increase developer happiness
** Reduce time to implement new features
** Reduce time to implement new features


= Tiki Upgrade =
= Tiki Evaluation =  
As [[https://wiki.mozilla.org/Support/TikiWikiUpgrade|decided]] in Q3 2009, Q1 2010 will be occupied with getting SUMO running on Tiki 5.1.  We have both a [[Support/TikiUpgradePlan|high level plan]] and a [[Support/TikiUpgradeImplementation|detailed implementation plan]].
[[Support/PlatformEngineeringTikiEvaluation]] discusses our evaluation of TikiWiki 5.1 as a possible future development platform. We arrived at a decision to rewrite the SUMO platform from scratch.
 
= Evaluation =
In Q2 2010 we will develop our first releases based on top of TikiWiki 5.1.  This will enable us to evaluate the success of our upgrade.
 
The evaluation criteria are as follows:
* Is the new codebase easier to understand and develop further?  That is, is it easier/more enjoyable for our webdevs to do their jobs? 
* Can we get more done in a release cycle?  This requires more than one release cycle, as the first one will be testing a new process.
* Is the new codebase more robust?
* Is the new codebase at least as performant as the old one?
 
= Option 1: continue with Tiki =
 
== Refactoring ==
We need to identify which parts of Tiki we plan to rewrite or refactor. The criteria for choosing these are as follows:
* Existing poor code quality and/or fragility
* Impact of refactoring: choose areas that will have the biggest impact for users and developers
* Ease of refactoring: While this would never be the only criteria, there is certainly value in choosing low hanging fruit
 


= Option 2: Redevelop SUMO platform =
= Kitsune =
The outcome of the option matrix we developed in Q3 2009 ([[https://spreadsheets.google.com/ccc?key=0Ao5KB_TZOvbVdDgtSEdRNnNyeDBvWUtJOUZYZnU0Rnc&hl=en]]) was that none of the other existing platforms look significantly better than TikiWiki.  If we go down this path we would be looking at reimplementing SUMO from scratch.
[[Support/Kitsune]] is our project to reimplement SUMO.


When considering this option we should remember the pros and cons of porting to a new platform that [https://wiki.mozilla.org/Support/TikiWikiUpgrade#Port we analyzed previously].
= Frameworks =
[[https://spreadsheets.google.com/ccc?key=0Ao5KB_TZOvbVdGhxNVlad2YxSW55Qy1wRnhWZmhJX1E&hl=en Framework Matrix]] looks at possible languages and frameworks for building the new SUMO.


In addition, while developer morale and retention is a reason for moving away from TikiWiki, having the previous six months' work discarded quickly will likely not improve morale.  Having committed previously to the upgrade path, the consequences of now moving away from that path must be considered.
[[Category:Support Archive]]

Latest revision as of 09:13, 14 July 2021

Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

Overview

This document is a plan for engineering a sustainable platform for SUMO. The goals are:

  • Evaluate the updated Tiki platform for suitability as a codebase that can continue to grow and improve with SUMO and with other projects using it for support
  • Improve SUMO code platform quality to
    • Increase robustness and performance
    • Increase developer happiness
    • Reduce time to implement new features

Tiki Evaluation

Support/PlatformEngineeringTikiEvaluation discusses our evaluation of TikiWiki 5.1 as a possible future development platform. We arrived at a decision to rewrite the SUMO platform from scratch.

Kitsune

Support/Kitsune is our project to reimplement SUMO.

Frameworks

[Framework Matrix] looks at possible languages and frameworks for building the new SUMO.