Edwin Kempin | c68ebd0 | 2019-08-07 11:56:21 +0200 | [diff] [blame] | 1 | --- |
| 2 | title: "Design Doc - ${title} - Solution - ${solution-name}" |
| 3 | sidebar: gerritdoc_sidebar |
| 4 | permalink: design-doc-${folder-name}-solution-${solution-name}.html |
| 5 | hide_sidebar: true |
| 6 | hide_navtoggle: true |
| 7 | toc: false |
| 8 | folder: design-docs/${folder-name} |
| 9 | --- |
| 10 | |
Edwin Kempin | 78ae685 | 2019-08-01 15:27:44 +0200 | [diff] [blame] | 11 | # Solution - ${solution-name} |
| 12 | |
| 13 | ## <a id="overview"> Overview |
| 14 | |
| 15 | High-level overview; put details in the next section and background in |
| 16 | the 'Background' section (see dev-design-doc-use-cases-template.txt). |
| 17 | |
| 18 | Should be understandable by engineers that are not working on Gerrit. |
| 19 | |
| 20 | If a solution is a variant of another solution, that other solution |
| 21 | should be linked here. |
| 22 | |
| 23 | ## <a id="detailed-design"> Detailed Design |
| 24 | |
| 25 | How does the overall design work? Details about the algorithms, |
| 26 | storage format, APIs, etc., should be included here. |
| 27 | |
| 28 | For the initial review, it is ok for this to lack implementation |
| 29 | details of minor importance. |
| 30 | |
| 31 | ### <a id="scalability"> Scalability |
| 32 | |
Edwin Kempin | 663ac68 | 2019-08-07 11:47:29 +0200 | [diff] [blame] | 33 | How does the solution scale? |
| 34 | |
| 35 | If applicable, consider: |
| 36 | |
| 37 | * data size increase |
| 38 | * traffic increase |
Han-Wen Nienhuys | 348a603 | 2019-09-24 19:44:57 +0200 | [diff] [blame] | 39 | * effects on replication across sites (master-replica and master-master) |
Edwin Kempin | 78ae685 | 2019-08-01 15:27:44 +0200 | [diff] [blame] | 40 | |
| 41 | ## <a id="alternatives-considered"> Alternatives Considered |
| 42 | |
| 43 | Within the scope of this solution you may need to describe what you did |
| 44 | not do or why simpler approaches don't work. Mention other things to |
| 45 | watch out for (if any). |
| 46 | |
| 47 | Do not describe alternative solutions in this section, as each solution |
| 48 | should be described in a separate file. |
| 49 | |
| 50 | ## <a id="pros-and-cons"> Pros and Cons |
| 51 | |
| 52 | Objectively list all points that speak in favor/against this solution. |
| 53 | |
| 54 | ## <a id="implementation-plan"> Implementation Plan |
| 55 | |
| 56 | If known, say who would be willing to drive the implementation. |
| 57 | |
| 58 | It is possible to contribute solutions without having resources to do |
| 59 | the implementation. In this case, say so here. |
| 60 | |
| 61 | If mentor support is desired, say so here. Also briefly describe any |
| 62 | circumstances that can help with finding a suitable mentor. |
| 63 | |
| 64 | ## <a id="time-estimation"> Time Estimation |
| 65 | |
| 66 | A rough itemized estimation of how much time it takes to implement this |
| 67 | feature. Break down the feature into work items and estimate each item |
| 68 | separately. |
| 69 | |
| 70 | If a mentor is assigned, this section must define a maximum time frame |
| 71 | after which the mentorship automatically ends even if the feature isn't |
| 72 | fully done yet. |