wiki:PLATFORM_STANDARDS_GENERAL

Version 49 (modified by todor, 16 years ago) (diff)

--

Tasks types

Currently we have five task types. Each task has different requirements for revision phases - Analysis, Design and Implementation.

  • Coding tasks
    • Description - This task type contains tasks which result should be added application functionality, code change/improvement.
    • Analysis - Analysis of these tasks revision contains what are the requirements for the task, what are expected results, functionality/improvement requirements, how-to demos, implementation ideas.
    • Design - Design of these tasks should describe technology that will be used for reaching task's requirement. It should contain initial tests, libraries needed, rough algorithm explanation, class diagrams, etc.
    • Implementation - In implementation section of task's revision the results must be linked with explanation what was done during this revision. Explain which part of source you've added/edited and how. The result of your work should be presentable in Analysis/How to Demo section.
    • Testing - In testing should be described how this task will be tested, here should be linked trac tickets, auto tests, test cases.
  • Bug Fix
    • Description - Bug fix type tasks are part of Unplanned tasks. These tasks consist of different kinds of unwanted application behavior - lack of functionality, wrong functionality, different errors. Bug tasks should be presented as "BUG_TASK_NAME"
    • Analysis - Analysis of Bug Fixes should contain exact explanation of exactly happens / not happens (what's wrong). How to demo should contain steps to recreate to prove that the bug doesn't exist anymore. In this section links to tickets can be very useful
    • Design - Design of bug fixes is similar to Coding tasks' design, but should also answer the questions why does this bug appear, which part of the code is guilty for the wrong functionality (what was wrong with the code, why it was not suitable). Design also contains auto-tests that prove bug wouldn't be presented after implementation.
    • Implementation - Implementation section should contain link to files where was added/maintained/re factored code, should also describe what was done. The results should be presentable in Analysis/How to Demo section.
    • Testing - In testing should be described how bug task will be tested, here should be linked trac tickets, auto tests, test cases.
  • Document
    • Description - Document tasks require different documents as result. In most cases, these documents are auxiliary for other tasks. Commonly, the result of document tasks will be Wiki page, but may also be other document and may consist of text, diagrams, media files, spreadsheets, examples, etc.
    • Analysis - Analysis section should contain document requirements (file format, dimensions, formatting), contents requirements. This section should also contain related tasks - tasks that depend on that one, tasks of which this task depends, similar tasks, etc.
    • Design - Design should point which tools will be used, how the document will be created.
    • Implementation - Implementation section as in other tasks should contain link to created documents and explanation how they were done. The results should be presentable in Analysis/How to Demo section.
  • Setup
    • Description - The result of this tasks are hardware/software setup of different computer appliances that will be used for executing all other tasks. These contain website, wiki, developer platform setup, etc.
    • Analysis - Analysis answers the question what are the requirements for this appliance - hardware and software. For example, some of the community server hardware requirements are space and bandwidth, and software - running web server, security issues. Here should be also listed tasks that depend on that one. How to demo should point the address of the server/computer and presentation of some features.
    • Design - In this section should be decided which computer appliance will satisfy the requirements, how it will be set up, what technologies will be used. Give links to websites of software solutions that should be used.
    • Implementation - This section should contain how exactly was this appliance set up. Give links to any setup files or other information in order for the server to be recreated.
  • Maintenance
    • Description - These tasks' aim is to keep servers, important documents, code in perfect working condition. These tasks' revisions are regularly on the schedule.
    • Analysis - Analysis should cover current issues of the server/document/code, suggestions for improving. Analysis should also contain list of trivial actions that have to be done every maintenance revision.
    • Design - Design explains what should be done for meeting the requirements, links to tools that will be used, algorithms, diagrams and whatever is needed for an easy implementation.
    • Implementation - Implementation consist of trivial actions done every maintenance and improvements listed in the design. Implementation steps should be described.

Results

The results of tasks' revisions should be described in the Implementation section of the task's current revision page PageTemplates/TaskPageTemplate. Depending on task type, results can be

  • Wiki Pages
  • Source code
  • Design section of the same task.
  • Other documents in the repository.
  • Other links.

These should be linked into the Implementation section. If needed, additional wiki pages should be created and linked as TASK_NAME/PART where PART should describe the containing of this wiki page. In different revisions same results can be linked, but revision result should be described.