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

TL quarterly planning process RFC #97

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

maniarathi
Copy link
Contributor

@maniarathi maniarathi commented Aug 6, 2019

This process has been heavily modified since the last activity on this RFC back in August and therefore is going through a second full round of RFC review. If you have approved the RFC in the past, please revisit the document.

November 18th: Last call for community review

@maniarathi maniarathi changed the title Writing an RFC for a repeatable (yet modifiable) TL quarterly planning process TL quarterly planning process RFC Aug 6, 2019
Copy link
Contributor

@parthshahva parthshahva left a comment

Choose a reason for hiding this comment

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

Looks pretty good! Nice to see this process a little more well defined

rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
@maniarathi maniarathi force-pushed the maniarathi-tech-planning-process-rfc branch from 459d1e3 to 39af982 Compare August 7, 2019 00:02
Copy link
Member

@ambrosejcarr ambrosejcarr left a comment

Choose a reason for hiding this comment

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

Looks great, minor suggestions.

rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
@maniarathi maniarathi force-pushed the maniarathi-tech-planning-process-rfc branch 5 times, most recently from 801d396 to 3ea6769 Compare August 7, 2019 18:11
rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
Copy link
Member

@kislyuk kislyuk left a comment

Choose a reason for hiding this comment

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

This looks good to me overall, although I wish the process was a little bit more lightweight. It seems like a lot of work for the shepherd.


- Quarter 1 (Q1): first Monday of January -> last Friday of March
- Quarter 2 (Q2): first Monday of April -> last Friday of June
- Quarter 3 (Q3): first Monday of July -> last Friday of September

Choose a reason for hiding this comment

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

It doesn't really matter, but this is kind of a weird way to define quarters. For example, this year it would leave a 9 day intra-quarter period between Q3 and Q4.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed it altogether since the Roadmap and Planning RFC doesn't contain it.

Copy link

@mckinsel mckinsel left a comment

Choose a reason for hiding this comment

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

Sounds like it's worth a shot 🙂

Copy link
Member

@xbrianh xbrianh left a comment

Choose a reason for hiding this comment

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

Looks like it's worth a whirl :)

However, it does seem a bit heavyweight. It would be nice for us to be conscious of the burdens of process and planning, and put some effort into (iteratively) streamlining them. It's preferable for developers to develop more and process less.


|   Week in Milestone (Week in Quarter)   | Deliverables |
| :----: | :--- |
| **M2W3 (Week 7)** | - Each component MUST enumerate the work they believe the DCP should prioritize in the following quarter, along with rough estimates of time (sized using T-shirt sizes) and specify any other activities that will also occur (e.g. onboarding new team members) and rough estimates of time. |
Copy link
Member

Choose a reason for hiding this comment

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

If this process is meant for TLs to surface their thoughts about the technical requirements of the DCP, specifying "other activities" seems like a distraction.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I put this here because I feel like one of the common reasons for overcommitment is not allocating enough time to other activities. Surfacing them at least creates some constraints when trying to consolidate things because when you see everything on the table, you realize that the math doesn't check out.

^^ last sentence somewhat stolen from Marie Kondo.

@maniarathi
Copy link
Contributor Author

I hear ya @kislyuk and @xbrianh about the process being too heavyweight. Justin had a great comment to explicitly state in the RFC that the success of the process should be documented and modified over time and I don't have a better process yet so let's give it a shot and see where it takes us?

Copy link
Member

@rexwangcc rexwangcc left a comment

Choose a reason for hiding this comment

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

LGTM! I left my 2 cents, neither of which are blockers :)

of what TL would like to prioritize work on in the following quarter.

**Component:** Also known as a “Box” or a *chartered component*; represents a piece of the DCP led by a TL and worked on
by a team of software engineers. The list of chartered components are maintained
Copy link
Member

Choose a reason for hiding this comment

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

nit: some chartered teams consist of not only software engineers, but also computational biologists and ontologists (e.g. DataProcessingPipelines)


**TL Roadmapping Shepherd:** Each quarter one TL acts as the “Shepherd” to make sure the TL planning process takes place
in time to produce the expected Technical Objectives RFC for presentation to the TL+PM planning meeting. The Shepherd
role will rotate once a quarter according to a spreadsheet drawn up post the approval of this RFC.
Copy link
Member

Choose a reason for hiding this comment

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

It'd great for the TLs on duty if they could get notified (by people or by some cron jobs) at the beginning of each Q, or at least a few weeks before their shepherd role starts.

Copy link
Member

@Bento007 Bento007 left a comment

Choose a reason for hiding this comment

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

It's a bit involved, but I look forward to see how this process plays out.

rfcs/text/0000-tech-planning-process.md Outdated Show resolved Hide resolved
| Week in Milestone | Deliverables |
| :----: | :--- |
| **M1W1** | A Google Doc is sent out (either the previous document used from a previous quarter or a fresh document) to the Technical Architecture team in order to solicit input on what are deemed to be important technical areas of improvement that should be prioritized in the upcoming quarter. The input to this document is free-form and TLs may or may not choose to participate, with the understanding that if no participation is given, no objectives will be generated. |
| **M1W2** | The Technical Architecture Chairperson (Chair) will spend the week coalescing the free-form text into concrete objectives that will be presented in the Technical Architecture meeting. A discussion will ensue to form consensus around the objectives and if no consensus is met, the entire set of objectives will be included in the RFC for further debate during the RFC's community review. |
Copy link

Choose a reason for hiding this comment

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

I recommend the consensus part is spread over 2 weeks rather than one, so that someone who happens to absent one week still has a chance to comment on the second. Or this could be left to the RFC period. What do you think? Otherwise lgtm.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmm maybe my language isn't clear here? That's actually what I was going for.. M1W1 was part one of consensus and M1W2 was week 2 of consensus building? I was trying to say that if somehow it's done by W1, then we can skip week 2.

@maniarathi maniarathi force-pushed the maniarathi-tech-planning-process-rfc branch from 8aa051e to 19e2767 Compare November 8, 2019 17:36
@maniarathi
Copy link
Contributor Author

Per the comments in today's Tech Arch discussion, one additional week has been added to the process to accommodate up to two Tech Arch calls for technical objective discussion.

@hannes-ucsc hannes-ucsc removed their request for review May 4, 2021 00:39
@sampierson sampierson removed their request for review December 6, 2022 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.