Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A pull system means never assigning #278

Merged
merged 1 commit into from Jan 15, 2015
Merged

A pull system means never assigning #278

merged 1 commit into from Jan 15, 2015

Conversation

mike-burns
Copy link
Member

This introduces a new communications section for describing how best to
communicate like a thoughtbotter.

Up first: tickets. We use Trello right now, but the principles of how we
use it are the same as when we used Pivotal Tracker, JIRA, Trajectory,
GitHub Issues, and everything else. Therefore I've left it as just
"tickets."

We follow a pull system, which breaks down like this:

  • For client projects, the next designer or developer takes the ticket
    with top priority.
  • For discussion topics, such as happens on the Research board, people
    subscribe to tickets they are interested in.

Assigning people to a ticket defeats this and causes confusion.
Therefore, we don't do that.

Tickets
-------

* People assign themselves to tickets. As such, do not assign someone to a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a 'without their knowledge'? I've often asked people to assign me to things or had people ask me to do this for them because that way they knew what I was asking about.

Not sure if the clause is necessary, just a thought.

@mjankowski
Copy link
Contributor

Is this a general rule, or is it specific to the assignment of tasks/stories/etc for which there is a very concise definition, and it's just a matter of putting them in a queue for developers/designers to pick off of?

Because in that scenario, I agree.

But, for the larger case which potentially includes ad-hoc conversation or tasks where we really do need one specific person (or one role on the project) to do something, I think it's fine to assign.

Example: we need to create a new subdomain and only one person can do that and we all agree on who that is; shouldn't we assign a task to them?

@mike-burns
Copy link
Member Author

@mjankowski under Trello, no: just at-mention them.

@mjankowski
Copy link
Contributor

If they miss that first mention though, that doesn't give them a mechanism to find things that they specifically must do. Whereas assigning to them and allowing them to q the boards on the card and filter to theirs would do so.

@derekprior
Copy link
Contributor

If it's something a specific person must do then it probably makes sense to assign and ping like crazy, right?

@mike-burns
Copy link
Member Author

The inspiration for this diff is the Research board, where I often find myself assigned to new cards. Phrasings that stop this from happening are welcome.

@derekprior
Copy link
Contributor

I'm actually fine with the current phrasing. I know enough to decide when it's appropriate for me to break this rule.

@mjankowski
Copy link
Contributor

What about two bullets:

  • For well-defined tasks that need to be done, we prefer a queue of prioritized tickets and a "pull" system where team members take things off the top. Don't assign things to other team members.
  • For open tasks and discussions which would benefit from the inclusion of specific people, loop them in via at-mentions or ticket assignment.

@mike-burns
Copy link
Member Author

That second bullet point still gets people assigning me to Research cards, though. How about:

  • When in doubt, do not assign a ticket to someone.

@croaky
Copy link
Contributor

croaky commented Dec 22, 2014

What is the downside to assigning someone? Can you include the "why" in the commit message and PR summary?

@mike-burns
Copy link
Member Author

I've added a shorter, simpler rewrite and a longer, more detailed commit message.

@jferris
Copy link
Member

jferris commented Jan 14, 2015

The latest version reads well to me.

Are there any objections to merging this?

@gabebw
Copy link
Contributor

gabebw commented Jan 14, 2015

I like it.

@teoljungberg
Copy link
Contributor

I concur

This introduces a new communications section for describing how best to
communicate like a thoughtbotter.

Up first: tickets. We use Trello right now, but the principles of how we
use it are the same as when we used Pivotal Tracker, JIRA, Trajectory,
GitHub Issues, and everything else. Therefore I've left it as just
"tickets."

We follow a pull system, which means:

* For client projects, the next designer or developer takes the ticket
  with top priority.
* For discussion topics, such as happens on the Research board, people
  subscribe to tickets they are interested in.

We use a modified Kanban/CONWIP at thoughtbot. This commit message is
not the place to go into the full details of why we chose to do that,
but at its simplest the output is controlled by demand (e.g. "the
user wants this" or "the blog post author wants to write this") and
not by forecast ("this is due on Thursday", or by analogy "I want you to
write this"). This reflects how we believe software can be built and
how to run a sustainable, happy workplace.
@mike-burns mike-burns merged commit 4625411 into master Jan 15, 2015
@mike-burns mike-burns deleted the pull-not-push branch January 15, 2015 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants