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

Tweaks to Sprint Monday + Community Hangout #28

Closed
jbenet opened this issue Jun 8, 2015 · 19 comments
Closed

Tweaks to Sprint Monday + Community Hangout #28

jbenet opened this issue Jun 8, 2015 · 19 comments

Comments

@jbenet
Copy link
Member

jbenet commented Jun 8, 2015

Hello IPFSers!

The IPFS Project is growing, and so is the number of people hanging out at the sprint meeting. At last week's hangout, we sadly left many people out.

I had three goals for the Spring Hangout:

a) Give quick synchronized updates on progress. It helps build team rapport.
b) Make space for real-time high-throughput discussion of open questions.
c) Have some regular face-to-face interaction. It's good for humans and communities :)

(a) and (b) are getting hard with so many people, touching so many different areas. At the same time, we've observed that it's actually most useful to sync about things via discussion on irc / github or dedicated topic hangout. And (c) is hard to do when you leave people out :(

Also, we've been discussing sprint things before breaking out into groups to have more detailed discussions. Usually the important sprint items appear at those discussions, and then the sprint list is finalized at the end of the day.

So, thinking of moving to this (let's try this for this week):

On monday, we have three parts:

  • Part 1: restrospective: go over last sprint and dicuss what got done, etc. kick off etherpad (async on irc).
  • Part 2: per-topic sync discussions / hangouts (sync/async) (more below)
  • Part 3: by evening, finalize sprint list (turn etherpad into an issue)

PLUS! A Weekly Community Hangout \o/ - more below.

Topic Discussions

We've naturally fallen into discussing certain topics at high throughput realtime, like node-ipfs, bitswap, and so on.

I figured it would be good to make space during monday for non-overlapping discussions on various topics. Happy to add more here, but so far the things that jump out at me are:

  • go-ipfs
  • node-ipfs
  • testing + ci
  • protocol specs
  • apps on IPFS
  • bitswap (ml)
  • data structures
  • infrastructure

Weekly Community Hangout

This is more to talk about quick community news, high level direction for the projects, status updates, show off cool hacks, have people meet each other, introduce new people, and in general just hang out.

This is like a short Meetup, or "an all-hands" (or TGIF for those familiar). I would love to experiment with different things, like hanging out in various virtual worlds, VR, video, and so on (more on this later). The time for this will be tricky, because it is towards the end of the week.

Many distributed companies get away with Friday @00:00Z (that's Thu-Fri, and Thursday at 5pm PDT). This leaves people's Friday night plans intact :) though it is 00:00 or 02:00 in Germany -- then again, everyone's around till very late anyway!

I do see a lot of people around on other days (Sun/Mon) too. So open to different times. The goal is to find a good time that works for everyone and is fun, not a problem to join.

Other Distributed Tools

@jbenet jbenet mentioned this issue Jun 8, 2015
58 tasks
@jbenet
Copy link
Member Author

jbenet commented Jun 8, 2015

times for today

@whyrusleeping
Copy link
Member

times are in UTC?

@jbenet
Copy link
Member Author

jbenet commented Jun 8, 2015

@whyrusleeping yeah

@jbenet
Copy link
Member Author

jbenet commented Jun 8, 2015

http://www.worldtimebuddy.com/ ftw

@wking
Copy link

wking commented Jun 8, 2015

On Mon, Jun 08, 2015 at 12:34:41PM -0700, Juan Batiz-Benet wrote:

  • 22:30 apps on IPFS

This seems broad and fuzzy. I guess we just see how it goes, but we
may want to split this into app classes (separate pub/sub session?
Package-manager session? etc.) in the future.

Mon, Jun 08, 2015 at 12:36:48PM -0700, Juan Batiz-Benet:

http://www.worldtimebuddy.com/ ftw

Also ‘date’ from GNU Coreutils:

$ date --date '22:30 UTC'
Mon Jun 8 15:30:00 PDT 2015
$ TZ=Europe/Berlin date --date '22:30 UTC'
Tue Jun 9 00:30:00 CEST 2015

@jbenet
Copy link
Member Author

jbenet commented Jun 15, 2015

This worked well so doing it again this week.

@jbenet
Copy link
Member Author

jbenet commented Jun 19, 2015

I think this has been working very well (please give feedback!!)

We haven't yet done a "Community Hangout", we should plan one for next week. Maybe using Zoom.us or maybe in another system.

@daviddias
Copy link
Member

I like the focused discussions format a lot, please keep doing it.

I would love for us to have timetable ready at least 24 hours before, so people can put on their schedule and be available, avoiding having to spend a lot of time pinging people in IRC, which leads to delays.

jbenet added a commit to ipfs/team-mgmt that referenced this issue Jun 22, 2015
We've had pretty good success with the Sprint Planning format
suggested in ipfs/community#28 so this
commit adds a rough description of it to this repo.

Note: the sprint discussion times are quite late for people in
GMT+2 to join. I suggest we move up the discussion up by 2 hours
for the future (next week). I'll poll the group today and see what
is best for everyone.
@jbenet
Copy link
Member Author

jbenet commented Jun 22, 2015

@diasdavid

I would love for us to have timetable ready at least 24 hours before, so people can put on their schedule and be available, avoiding having to spend a lot of time pinging people in IRC, which leads to delays.

very much agreed. do you mean the time table for "discussions"? they've been ~roughly the same for the last couple weeks. i added them to https://github.com/ipfs/pm#sprint-discussion-schedule -- or do you mean something else?

maybe you mean the individual checkin over irc? i'd go with allocating 5min to everyone (so we could make a timetable) but that may waste more time as people wont always be exact... also good for people to listen to what others are up to/getting done, etc? not sure. it could work well.

@daviddias
Copy link
Member

@jbenet true that the discussions have been roughly at the same time, but there was still some 30 to 60 min delays for some of them and that makes things harder for the people in Europe, as it gets later and later. Nevertheless, you just solved it with the addition to a specific base schedule :) Thank you.

As for IRC "pings", I just meant that before having it officially scheduled, someone had to "ping" to check who was around, which in part caused the delays.

@jbenet
Copy link
Member Author

jbenet commented Jun 23, 2015

Yep all agreed. I'm very much in favor of wasting zero time :)

@ghost
Copy link

ghost commented Aug 20, 2015

A few things which I'd like us to do, or resume doing:

  • setting sprint goals: helps to prioritize tasks, and to focus on them over the course of the sprint. If sync concludes well (in, say, 20 minutes), we can briefly set the goals for the sprint. Example: this week we'll work towards achieving X and Y, because event Z is ahead, and X+Y+Z is important because of [...].
  • new and improved sprintbot, which knows weekends, makes the sync role call, announces the hangouts, and is aware of the sprint participants.
  • having the new etherpad ready before the hangouts.
  • taking brief notes of what was discussed in the hangouts. the notes don't have to be detailed at all, just a quick list of topics. at the beginning of each hangout, we'd agree who takes notes in the sprint etherpad.

@jbenet
Copy link
Member Author

jbenet commented Aug 21, 2015

@lgierth yes i completely agree. If someone can take over:

  • can someone take over managing the etherpad + sprint issues from me? i have too many random things to get done and this is really important.
  • can someone take over "making sure someone takes hangout notes on the etherpad"?
  • @whyrusleeping or @lgierth can you make the necessary changes to sprintbot?

@whyrusleeping
Copy link
Member

I can modify sprintbot, and can also potentially make him generate a 'blank' etherpad on mondays

@ghost
Copy link

ghost commented Aug 24, 2015

  • can someone take over managing the etherpad + sprint issues from me? i have too many random things to get done and this is really important.
  • can someone take over "making sure someone takes hangout notes on the etherpad"?

I'll take care of it -- I'm not sure I'll make all the hangouts but I'll keep bugging people

@jbenet
Copy link
Member Author

jbenet commented Aug 24, 2015

thanks @lgierth

@RichardLitt
Copy link
Member

So, I recently read this article on remote working, and I had some takeaways:

Events

Having coordinated, real-life meet ups every now and then would be hella cool.

Video preparedness

I (and by extension, most other people) don't know before showing up which video conferences will be done that day. That shouldn't be happening; we should post the day before which ones are going to exist, or not. I think this should be the sync masters job, unfortunately - or it could be the job of a chosen participant for each of the videos.

Long Running Notes

Further, there's no real continuity between the different video meetups. There should be a running log of things talked about in those video chats. The easiest way to do that is to have a single document for taking notes. From the article: "All recurring meetings have a single Google Doc with a running head for “pending” items, and dated notes, in reverse chronological order (newest items at the top)." Everyone in a meeting should be responsible for taking notes. Everyone shouldn't take individual notes- they should take notes, together. If you were there, you should have added to the shared notes, because that's what they are for - communication is the most important part of coding, and other people who may want to help can't if they don't know and aren't present. What I think we can change here is to have a single document that is persistent for each meeting, and have updates clear to that. The 'Add your notes' thing we are doing doesn't work. "Here's the Hangout link, and here is the notes link (same as always)" should work better.

Preparing sprint updates before the sync

I think everyone should have their notes prepared before the sync. Otherwise, we kill a lot of time asking who is able to go first, not saying X should go first, and there's a lot of asking if someone is ready yet. It should be assumed that you are, or not.

Being on IRC during the sync

People are not actually on IRC during the sync, far too often. I've often seen someone post their updates, waited a minute, asked if someone else can go, and then people jump in saying they need to catch up and read the previous persons notes, when they had plenty of time. This slows the entire sync down, and leads to people who have already communicated wandering off and reading random wikipedia articles. The only way I can see around this is to ask everyone, absolutely everyone, to only have one tab open during the sync: the IRC tab. This means preparing your checklist before, too.

@ghost
Copy link

ghost commented Oct 20, 2015

There should be a running log of things talked about in those video chats.

Very much agreed, this is important! I've been trying to keep logs of the infrastructure hangouts in etherpads, and have been adding the link to the respective sprint etherpad.

Here's the Hangout link, and here is the notes link (same as always)" should work better.

Maybe this should be "here's the meeting link", which is the notes etherpad and also contains the link to the hangout at the top.

Being on IRC during the sync

Agreed, the syncs should be a lot shorter. In addition to the explicit start (a la "alright who wants to go first"), they should also have an explicit ending.

@RichardLitt
Copy link
Member

Ought we to close this? I think we have a good system at the moment. We've replaced the sprint bot with me, but I think it works better to have a human do it.

Things that are in this thread that would be good that we don't do:

  • Weekly Community hangout, to talk about random stuff
  • Have sprint goals that are for the entire team, and not just for each segment (go-ipfs for why, js-ipfs for diasdavid, and so on).

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

No branches or pull requests

5 participants