Task Requirements correlate to the use cases, above. ?There should be at least one task for each use case bubble.
?Each use case should be briefly described. ?If there are specific requirements related to the use case, they should
also be listed. ?This section captures high-level, basic functional requirements. ?Detailed requirements will be
defined during the Requirements Specification contests.
TopCoder Member Requirements
4.4.1 Request membership in Co-Pilot Pool
Each member can request membership in Co-Pilot pool. Each request will be processed by TopCoder managers. Following
categories are allowed to enter the pool:
1) Members who have previous successful Co-Pilot work history;
2) Members who have rating > 1500 in architecture, specification or concept;
3) Members who have reliability 100% in architecture, specification or concept and 3 or more contests in these
tracks;
4) On PM discretion, well-known and qualified designer and developers can also be added to Co-Pilot pool
4.4.2 View Co-Pilot Profile
Each member can see Co-Pilot profile. However, the information will not be full. Member will be unable to download
previous submissions.
Co-Pilot Pool Member Requirements
4.4.3 Communicate with Customer on forums
When Co-Pilot Pool Member registers for a contest, he must communicate with customer on forums to reveal all details
of the project and create a reasonable documentation. This is one of the main differences in compare with previous
Co-Pilot process, where direct communication with client was very limited.
4.4.4 Register for Co-Pilot contest
Each Co-Pilot Pool Member can register for the Co-Pilot contest. He must submit a gameplan and pass screening, if he
didn’t unregister.
4.4.5 Unregister from Co-Pilot contest
During registration phase, each registrant is able to unregister from the contest. This is very important to
unregister if member is not going to submit, because penalizations for it will be serious.?
4.4.6 Submit documentation
Co-Pilot contest registrant must submit documentation that will be screened by TopCoder and analyzed by client.
4.4.7 Submit Development Strategy document
Development strategy document is a kind of ‘vision’ for the project. It is a merge of conceptualization and system
architecture, greatly reduced in size and details. This document will be a proof for the game plan provided.
4.4.8 Submit Game Plan
Game plan is a document that defines project timeline and cost. Although game plan is a subject to change, it is
important to create as precise game plan as possible initially, since this is one of factors for Co-Pilot work
quality measurement.
4.4.9 View screening result
After screening, submitter can see screening result. No appeal phase will be available, so documentation must be as
clear as possible.
4.4.10 Set up privacy settings
In TopCoder profile there will be a separate setting – hide Co-Pilot earnings. This will be separate from usual
Payments number.
4.4.11 View Past Contest Submissions
Each Co-Pilot pool member can see previous submissions on previous Co-Pilot selection contests. This will help to
provide valuable submissions.?
Co-Pilot Requirements
4.4.12 Manage contests
Co-Pilot’s main task is to help with contest management. It includes different aspects of the TopCoder software
development process, so, the experience in different types of contests is encouraged for the Co-Pilot. He must be
familiar with all available competition tracks.?
4.4.13 Check and adjust contest timeline
The timeline for the competition can be adjusted, if some member asked to extend the deadline. The extension will
not affect Co-Pilot payment, but, in case of large number of extensions, overall project timeline will be extended
and this will be seen in Co-Pilot profile page. Possibly, it is one of the main things the client will check when
selecting co-pilot – how precise he’s able to meet the timeline.?
This use-case also corresponds to notifying submitters/reviewers about late reviews/final fixes.
4.4.14 Check reviewer existence
Each contest must have reviewers registered. If reviewer is not registered, broadcast mail to review board members
must be sent to ensure that timeline won’t shift because of empty reviewer slot.
4.4.15 Fix initial submission?
Client will describe issues found in initial submission. Co-Pilot must fix them in order to start work on project.
4.4.16 Track contest status
Co-Pilot will be able to see contest statuses for his project on one page. This information is detailed in 3.1.9
4.4.17 See project timeline in Google Calendar
Co-Pilot will be able to see project timeline in Google Calendar on his web-browser or mobile-phone. This
information is detailed in 3.1.10
4.4.18 Communicate on forums with contestants
One of the main tasks is to assist contestants. Often, other member is responsible for answering questions (i.e.
architect answers designer questions, designer answers developer questions), but, Co-Pilot is the only member who
follows project from the beginning to end and he must be able to address any complex and not trivial issue.
4.4.19 Process VM requests
Development is often done on Virtual Machines provided by Amazon. Co-Pilot is responsible for VM assignments to
competitors.
4.4.20 Check that somebody works on the contest
If forum is inactive no one is going to submit, Co-Pilot must communicate with registrants and ask about submission
perspectives. In case that anyone needs extension/more information, required help must be given.?
4.4.21 Launch contests
Co-Pilot will be responsible for launching the contests and gathering all required documentation for them.?
4.4.22 Leave the project in the middle
It can happen that Co-Pilot is unable to continue working on project. It is very bad for the project, however, this
possibility must be taken into account. The Co-Pilot who leaves the project in the middle will be penalized
seriously and lost all his payments delayed for project finish.?
4.4.23 Discard co-pilot opportunity
After client selection, Co-Pilot can discard the position. Such behavior is highly discouraged and will be
penalized, however, it is better than leaving project in the middle. The penalization will not be as strong as in
4.4.19 case.
4.4.24 Work with client on deployment
The deployment on client environment is Co-Pilot responsibility. He must ensure that software was correctly deployed
and use bug-races if any small problems arise. In case of serious errors that prevents projects from being deployed,
additional contests could be made, but this will lead to lower Co-Pilot characteristics. In cases when deployment
work is not very simple (this happens quite often), special Deployment task can be created by Co-Pilot.
4.4.25 Test final submission
The final distribution must be tested by Co-Pilot. It includes both testing on TopCoder VM and client environment.
4.4.26 Communicate with customer
The key for project success is good communication skills. Co-Pilot must ask client early about each problem/possible
choice.?
4.4.27 Communicate with customer using IM
To allow faster communication than in e-mail or forums, client and Co-Pilot can exchange their IMs and use them.
However, this way is discouraged, because it will be hard to track conversation history.
4.4.28 Communicate with customer on forums
Communication on forums is still important, because allows to include community opinions.?
4.4.29 Communicate with customer using e-mail
E-mail conversations are still a most convenient and traditional way to communicate and will definitely be used.
However, this way is discouraged, because it will be hard to track conversation history.
Customer requirements
4.4.30 View Co-Pilot service description
Client must be able to get clear description about what is a ‘Co-Pilot’, what are benefits of Co-Pilot and how much
will it cost. Some descriptive graphic can be created for this in addition.
4.4.31 Request for Co-Pilot
Client can request for a Co-Pilot and ask for a special copilot selection contest. The client will choose one of
submitters as Co-Pilot for his project.
4.4.32 Communicate with Co-Pilot?
The key for project success is good communication skills. Client should communicate with Co-Pilot on all
project-related questions.?
4.4.33 Communicate with Co-Pilot on forums
Communication on forums is still important, because allows to include community opinions.
4.4.34 Communicate with Co-Pilot using e-mail
E-mail conversations are still a most convenient and traditional way to communicate and will definitely be used.
4.4.35 Communicate with Co-Pilot using IM
To allow faster communication than in e-mail or forums, client and Co-Pilot can exchange their IMs and use them.
4.4.36 Communicate with Co-Pilot Pool Members
On the Co-Pilot selection contest, client must answer questions on forums to allow better project understanding.?
4.4.37 View Co-Pilot profiles
Client should view submitters’ profiles to learn Co-Pilots project history and find out who fits the position best.
4.4.38 View Co-Pilots submissions
Client will view the submissions which passed screening and determine their fit to the project needs.
4.4.39 View Game Plan
Game plan is a document that defines project timeline and budget. On this early stage this document can be not
ideally, but it will give a rough estimation. The quality of estimation will be reflected in Co-Pilot’s profile, so
customer can determine the usual correctness of one’s submission.?
4.4.40 View Development strategy document
This document is a proof for a provided gameplan. It must contain enough technical and business details to allow
clear feeling of right way for project implementation.
4.4.41 Describe issues of Co-Pilot submission
Client will describe issues that are required to be fixed in the winning submission (if any). He must do it using TC
Direct and/or Forums for communication.?
4.4.42 Write Co-Pilot review
After project finish, client can write Co-Pilot review. It will be moderated by TopCoder PMs and shown on Co-Pilot
profile page. Reading these reviews can help customer to select Co-Pilot for their needs.
4.4.43 Select Winning Submission
Selection of winning submission must be done not only by quality of that submission, but the history and profile of
Co-Pilot. There will be no objective criteria for that selection, client will choose the Co-Pilot.
?
4.4.44 Discard all submissions
If client likes no submission/submitter than no Co-Pilot will be selected. TopCoder will provide hired Project
Manager for that project possibly.
4.4.45 Hire TopCoder Manager
TopCoder can provide PM in addition to Co-Pilot. This will make process more expensive for the client, but the
process will be more responsible and reliable.
4.4.46 Provide initial documentation
Client will have to provide initial documentation in questionnaire form defined in 3.1.1
TopCoder manager requirements
4.4.47 View Co-Pilot profile
TopCoder Manager will be able to view Co-Pilot profiles as any other members. In addition, they’ll be able to see
hidden fields (as Co-Pilot payments).
4.4.48 Check GamePlan Quality
Checking initial GamePlan and its comparison with real timeline will be project manager responsibility. He will
determine that information and will Co-Pilot profile with corresponding values after project finish.
4.4.49 Do screening
Initially no community review board will be created for screening Co-Pilot contests. TopCoder staff will do this
work. In future, screening will also be community driven.
4.4.50 Manage Co-Pilot pool access request
Managers will be responsible for populating Co-Pilot pool with new members. Members can be added using common
criteria defined above, or, at Manager discretion (he knows that this member is qualified well).
4.4.51 Communicate with Co-Pilot Pool Members?
News and Co-Pilot opportunities can be mailed to Pool Members by Project Manager.?
4.4.52 Communicate with Customer
Manager must communicate with customer and resolve all problems raised between Co-Pilot and client.?
4.4.53 Communicate with Co-Pilot
Project manager can communicate with Co-Pilot. He should notify him about some not answered questions or other
problems in cases when client and Co-Pilot didn’t manage to solve the problem by themselves.?
4.4.54 Remove member from Co-Pilot pool
In cases of low-quality work or reliability issues member can be removed from Co-Pilot pool.
4.4.55 Remove member from Co-Pilot pool temporarily
In case of reliability issues, member of Co-Pilot pool can be suspended for some amount of time (1,2,3,4 months).
After that time member account must become active automatically.
4.4.56 Remove member from Co-Pilot pool permanently
In case of serious issues (leaving the project without any notification), member can be removed from Co-Pilot pool
forever without restore rights.
4.4.57 Remove member from Co-Pilot pool permanently
PM can write review of Co-Pilot work. It will be also seen at Co-Pilot profile.
System requirements
4.4.58 Track statistics
All contest-related statistics must be tracked. It includes all contests, all reposts, all successes for the
project.
4.4.59 Process statistics
Gathered statistics will be process to present in human readable way in Co-Pilot profile page
4.4.60 Assign Co-Pilot to project
Co-Pilot must be ‘assigned’ to the project in the backend in order to allow him management actions.
4.4.61 Calculate payments
Co-Pilot payments must be calculated according to selected payment model.