Skip to content
This repository was archived by the owner on May 27, 2025. It is now read-only.

Commit 73d66f0

Browse files
committed
vault backup: 2025-01-18 16:57:40
1 parent ede35dc commit 73d66f0

File tree

4 files changed

+85
-1
lines changed

4 files changed

+85
-1
lines changed

content/management/scrum/workflow.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: My scrum workflow
3+
tags:
4+
- thoughts
5+
---
6+
I recently became a task lead at my company. While I'm thrilled at the opportunity, I also am terrified.
7+
8+
I want my teammates to be succeed. I want to also not trap them in meetings, I think we would all appreciate having more time to do technical things. Most importantly, I want the team to never loose sight of the end goal, generating business value. That's why we get paid the big bucks.
9+
# Sprints
10+
- Looser sort of scrum
11+
- "Kanban with deadlines"
12+
- No story points
13+
- I find story points are not a great way to really measure "complexity"
14+
- Software is complex, and we are not great at measuring said complexity!
15+
- Creates the wrong incentives in terms of works — I'd rather prioritize devs working at their own pace
16+
- It's on me, the TL, to make sure things are flowing smoothly
17+
- Standup 2x a week
18+
- Standups are mostly focused on giving updates, making sure the rest of the team is synced, and making sure everyone is unblocked
19+
- If a blocker comes up, schedule a meeting after with the relevant parties to unblock
20+
- Longer sprints (3-4 weeks) versus shorter sprints
21+
- Less meetings overall
22+
- Probably works bc I work in a matrix model company
23+
## Retros
24+
25+
### 1:1
26+
- I like 1:1 meetings.
27+
- Once a week is too often, before the end of a sprint is a good way to decompress + aid in sprint planning.
28+
- 2-3 days before retro
29+
- Meeting is max 30 minutes long
30+
- First half (15 minutes):
31+
- "Personal" stuff
32+
- General check-in, how are you, how are you satisfied, what can I do to support you and your goals
33+
- Strictly not about the project
34+
- Second half (15 minutes):
35+
- "What did you work on"
36+
- "What needs to get done"
37+
- **Share notes directly with them after the meeting**
38+
- If you want your colleagues to trust you, then they need to know how you're interpreting things
39+
- Gives them the opportunity to make corrections
40+
- When the retro comes, your notes can help them shape their own notes
41+
### Refine scope, asynchronous collaboration
42+
#### Create tickets, preliminary
43+
- Based on convos with team members, create draft "tickets"
44+
- I'll likely do this inside obsidian via obsidian-projects
45+
#### Meet with PM
46+
- Meet with the PM
47+
- 30 minutes max meeting
48+
- Refine scope, check if everything looks good
49+
- Discuss high-level plans
50+
#### Post retrospective whiteboard publicly, ask for the creation of notes.
51+
- Each team member must create 5 notes in advance
52+
- Gentle bump 1 hour before retro if not completed
53+
- Ideally: notes are private to everyone _before_ the retro begins
54+
- Prevent copying of notes
55+
- Gets honest feedback and discourages herding
56+
- Is this possible with our current software
57+
- Color-coded notes, each team member gets their own color
58+
#### Actually create the tickets inside of Jira
59+
- Potential: automate it based on the Jira API with a python script?
60+
### Retrospective and planning
61+
- Maximum ONE hour
62+
- While I like icebreakers, I think they can potentially be a huge time sink while artificially extending the length of the meeting
63+
- So. Don't. The goal is for the retrospective to be "fun" outside of the icebreaker.
64+
- Chit-chat, buffer (5 minutes)
65+
- Inevitably, it will happen
66+
- Retro (30 minutes)
67+
- Given the pre-filled notes, spend time grouping them into the various categories (5 minutes)
68+
- Have each team member talk about their notes (5 minutes)
69+
- Create a list of action items based on the common themes of the notes (5 minutes)
70+
- Vote on which ones are more important (5 minutes)
71+
- Check if we accomplished the action items from last retro (5 minutes)
72+
- Sprint Planning (25 minutes)
73+
- Go over JIRA board, as a group
74+
- Make slight modifications as needed
75+
- If more drastic modifications are needed, hold a follow up meeting with the relevant parties

content/programming/languages/python/asyncio/asyncio-gather-taskgroup.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
tags:
33
- observations
44
title: Running a bunch of python futures in a safely
5+
draft: true
56
---
67
Hey, did you know that unless you know exactly what you're doing, you should _never_ use `asyncio.gather` after manually creating async tasks via `asyncio.create_task()`?
78

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: In praise of `docker compose up --watch`
3+
---
4+
I'm a big believer in the [12 factor app](https://12factor.net/), and especially [Rule 10 — Keep development, staging, and production as similar as possible](https://12factor.net/dev-prod-parity). I love developing inside a `docker compose` stack, which assuming a containerized deployment (yes, even with kubernetes), exactly matches the production environment.
5+
6+
This doesn't seem like a big boon assuming good DevOps practice, but it comes useful, _especially_ in an environment that demands compliance. If you're developing with AuthN/Z in mind, just have your production IDP like Keycloak running directly on your machine instead of putting auth backdoors in your code. Every override you have in your codebase per environment is a potential misconfiguration away from blowing up the world.
7+
8+
This does come with a downside — how can I develop dynamically? Containers by design are supposed to be **stateless**. Being able to modify the code and then see it reflected instantly is an important tool for languages like python, typescript, etc, in that you trade performance for faster iteration, as developer time is your most expensive commodity.

content/programming/tools/git/multiple-git-accounts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ Now, in `/my/path`, create a `.gitconfig`:
2525

2626
Everything nested under `/my/path` will use those git configs.
2727

28-
Note this doesn't solve the issue of "how do I authenticate to github with multiple accounts", which... is its own can of worms. Maybe someday!
28+
Now, let's assume that you have two separate github accounts. Normally, managing this is a pain in the ass, leading to people [overriding]()

0 commit comments

Comments
 (0)