Skip to content

Commit d91c6d0

Browse files
committed
KUBI process
1 parent 9282879 commit d91c6d0

File tree

2 files changed

+89
-0
lines changed

2 files changed

+89
-0
lines changed

sphinx/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ Welcome to Specify Developer documentation!
5050
misc/useful_bash_cmds
5151
misc/vs_code_django_unit_test_debugging_notes
5252

53+
.. toctree::
54+
:maxdepth: 1
55+
:caption: Personnel:
56+
57+
personnel/dev_expectations
58+
5359

5460
Indices and tables
5561
==================

sphinx/personnel/dev_expectations.rst

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
Developer Expectations
2+
########################
3+
4+
Student developers:
5+
=======================
6+
7+
* Attend student developer meetings.
8+
* Work in the office at least 50% of the time.
9+
10+
Staff and Student Developers:
11+
==================
12+
13+
Planning
14+
-------------
15+
16+
* This project has many interlocking parts and dependencies, and requires the team to
17+
work closely together to ensure that dependencies are met in a timely manner.
18+
* Respect deadlines and complete tasks within the agreed timeframe.
19+
* Define realistic timelines for new features you accept.
20+
* Commit to projects that you start working on.
21+
22+
Support and Maintenance Tasks
23+
-------------
24+
25+
* Developers should never directly receive any user-support requests, if that happens,
26+
please bring it to your supervisor. User issues should be created by the user-support
27+
team in the specify-development repository.
28+
* When asked to work on user issues or test panel bugs etc (anything that is not a part
29+
of the milestones or specify7 issue repo):
30+
31+
* Ask the requester to create an issue on the specify-development repo or create one
32+
yourself. Include details such as requirements, related components and/or database.
33+
* Assign yourself to it
34+
* Verify with your supervisor the priority.
35+
* Define together a time to work on the new issue.
36+
37+
* With some exceptions, delay response to user or user-support requests for at least
38+
24 hours to allow users to work out the problem themselves.
39+
40+
Development Tasks
41+
-------------
42+
43+
* When starting work on an issue/branch, check in even unfinished code changes
44+
regularly. Mark as unfinished when applicable.
45+
* Do not comment on code until you are personally tagged as a reviewer, or the entire
46+
dev group is tagged. If new code is added after your review, wait for a new request
47+
to be sent.
48+
* Thoroughly test PRs with more general testing procedures before sending for review.
49+
Do not skip previously-passing tests after changes, as some bugs come back to life.
50+
* Write detailed instructions for testers, possibly adding to the testing instructions
51+
after changes.
52+
* Complete individual PRs to the “request testing” stage before moving on to another
53+
issue.
54+
* Respond to requests for changes on PRs as soon as possible, sometimes setting aside
55+
newer issues or other assigned tasks.
56+
57+
Communication
58+
-------------
59+
60+
* Communicate clearly, respectfully, and in a timely manner on all code issues. Offer
61+
improvements in code reviews or in meetings, not in isolation.
62+
* Offer alternate implementation strategies at the appropriate time in the development
63+
cycle. Do not disrupt the process after a decision has been made.
64+
* If you are not sure of the best course of action on a complex issue, call a meeting
65+
with other developers to talk out the implications of different solutions.
66+
* If a strategy agreed on by a group proves inadequate, discuss with the group before
67+
changing course.
68+
* Meetings with the development group are preferable to extensive discussion on GitHub
69+
or Slack. After the meeting, provide an appropriate summary on GitHub.
70+
* Always write clear and concise summaries of the issues AND the agreed-upon solutions
71+
on Github or the appropriate platform.
72+
* When appropriate, fully document the reasoning behind complex decisions in writing.
73+
This historical record will help our development process in general, so that if we
74+
choose to modify or refactor something, we do not overlook considerations that went
75+
into the original design.
76+
* Act as a mentor to newer (staff or student) developers. Follow up verbal interaction
77+
with some type of documentation. Write an explanatory email or document, as well as
78+
pointing to any relevant code.
79+
* Provide adequate written/verbal notice to your supervisor, as well as adding events
80+
on the shared calendar, before taking vacation time. Some time periods may not be
81+
approved (though rarely) if there are important deadlines or meetings for which
82+
rescheduling is impossible.
83+

0 commit comments

Comments
 (0)