Table of Contents
Developer RoleDevelopment for SimSig is a privilege, not a right, and certain expectations are made of you. That said, we appreciate a good simulation that expands the SimSig range of products.
Each time a developer wishes to start a new simulation, permission must be sought from an Administrator. They will ensure that area has not been allocated to somebody else, and that your workload is not too high. Generally only two to three simulations may be in development by one developer at a time (prior to release).
An agreement will be provided for the developer to electronically sign. This sets out the expectations as follows:
The size (small/medium/large) shall be agreed by the developer and administrator at development start, but may be altered later if both agree. This simulation size also dictates the release price. Factors to determine simulation size include:
A simulation goes through three main phases:
If beta testers find a large number of bugs then the simulation will revert back to alpha testing. The threshold for this is any of following:
In addition, if a significant change to the simulation is made while beta testing, such as adding a new signalling area, or adding ARS where previously it did not have ARS, or an era is added/removed, then the simulation will revert to alpha testing.
If a simulation reverts to alpha testing, the same beta testers can re-test the simulation when the simulation returns to beta testing.
Developers are expected to use the Developer forum for data questions. Administrators should not be singled out for questions. This includes foreign development as >95% of the data is not geo-specific.
[See Tester Roles for full details] For the smallest to medium size simulations, Developers may nominate up to six testers for alpha testing, and up to six testers for beta testing. No more than two other developers, not including the simulation developer, should form part of those twelve. Each tester must have been previously approved (they will have the Tester role listed in their public profile). Tester licenses can no longer be issued to users without that Tester role.
For large to extra large simulations, Developers may nominate up to seven testers for alpha testing, and seven testers for beta testing. No more than three other developers, not including the simulation developer, should form part of those fourteen.
Two administrators, or one developer plus the simulation developer, may agree to grant more tester licenses in exceptional circumstances.
Respect others' opinions, even if they do not match your own. If a stalemate is reached over how a subjective issue should be resolved, the opinion of two other developers should be sought.
SimSig uses the standard Mantis definitions for ticket severities. Testers should categorise a ticket in the following way:
Examples:
Testers have their own set of tips for how to report issues and questions but here are some for developers:
Use the User Manual template, either the single page version for smaller simulations, or the multi-page version for larger simulations. All user manuals will now be on simsig.co.uk, no exceptions All manuals are now locked against modification by normal users.
You don't need to write the manual yourself, but no other developer or administrator is going to either. But you must ensure it is accurate.
The user manual must be ready before beta testing commences.
The SimSig GIT must be used for version control. No exceptions.
Data with a check-in comment or label of V1.0 must be committed prior to release. The first public release of a simulation shall be 1.0 (major.minor). Subsequent releases must increment the minor number, skipping any number ending in zero(es) such as 10, 200, etc. The build version shall not be used for public releases. A major version number increment should be considered for breaking changes, such as a chunk of simulation added.
Once a simulation has been released, the developer is expected to be available to fix bugs according to the following schedule:
1. In the first 7 days minor bugs must be fixed by a re-release date of 7 days after the initial release.
2. In the first 7 days major or more severe bugs must be fixed within 24 hours of the bug being raised.
3. A second re-release is due by release+21 days, assuming minor or more severe bugs exist
4. A third re-release is due by release+60 days, assuming minor or more severe bugs remain
5. Any minor or more severe bugs found after the third release are expected to be fixed within 30 days. The developer may lower the severity with the agreement of either the reporter or an administrator. The reporter or administrator should add a note to the ticket indicating an agreement to regrade the severity.
Any failure to address major bugs within the above timescales will result in another developer, nominated by an administrator, will attempt to step-in and fix those issues. Failure to maintain after such an episode will result in a review by two administrators who will decide whether to hand over the simulation to another developer. Profits will then be adjusted according to the result of that review which will take into account the work done by the new developer.
At the time of signing the Developer agreement, a developer may have one or more sims already in development, and one or more sims already released. Where this is the case, the following applies and overrules anything above:
Released simulations are unaffected by maintenance points 1 to 4, but point 5 will be in effect, with the time period starting at the time of signing.
In-development simulations are expected to be finished within one year (large) or six months (smaller) [per comments near the top] from the date of signing the agreement.
Developers who choose not to sign the agreement will relinquish their developer role for that simulation. What happens to that data is up to the developer:
preferences for design.
If a developer chooses to leave, they will continue to receive their income, subject to the conditions in the Maintenance section of this page.
If a developer passes away after release of a simulation, their income may be directed towards a nominated person. The administrators should be emailed the name of the person and their contact details. It is up to the developer to maintain this information. Maintenance of the simulation may be transferred to another developer, per the Maintenance section in this page.
If a developer passes away before release of a simulation, and the Git repository has data for that simulation (including research notes), then the administrators may nominate a new developer. Again, the income would be divided per the Maintenance section in this page.
Last edited by GeoffM on 27/02/2019 at 17:58