-
Notifications
You must be signed in to change notification settings - Fork 38
let's talk about process #163
Comments
I'm looking at http://inside.gratipay.com/big-picture/product and thinking about our development process. I want an excellent product. I want something I'm proud of. That's my goal. My goal is, together with you, to build something that I am proud of. I want you to be proud of it, too! 🏆 |
The past couple months I've been onboarding people onto GitHub—non-geeks, as part of https://github.com/ambridge/ambridge/. I want to feel good enough about Gratipay to do the same thing. That's my growth plan (#89). Not blog posts. Not social media. I want to talk to normal people IRL: "What do you do?" Right now we fail right here. "Pull out your phone. Go to Gratipay.com" See this: Just ... embarrassing. Shoddy. Totally amateur hour. :-( Scroll down, more suck: 😞 |
I mean, we're just goddam amateurs. We're a mess. Our product is a disgrace. 🍧 |
|
The shuttle group's process is ultimate waterfall. Our process is not their process. But the meta concern, I buy: to deliver an excellent product, we need an excellent process. We're not delivering an excellent product, therefore we need to improve our process. Take those screenshots above. Wrong (what we've been doing): "These screenshots suck." Right (what we need to start doing): "These screenshots suck." |
I have hope. The other day I convinced Gitter to join, and I found out they joined when I got an email notification about it! Yay! 💃 I loved seeing that email. It made me feel like we have a real product. |
Upshot of IRC discussion with @rohitpaulk is that we're going to keep the focus on our PR pipeline. One pattern that seems to be emerging: I touch PRs at the beginning and end of the pipeline. That is, I start PRs on a certain course, and double-check them at the end, while giving @rohitpaulk @Changaco et al. creative freedom in the middle for implementation. When I start a PR I'll try to explain my intentions, probably in terms of Product and other IA big picture pages. Can you work with that, @Changaco et al.? |
With that, I've abandoned the sprint experiment in favor of a continued and deepening focus on our PR queue. |
I propose we abandon the Objections? |
I propose we abandon the |
Has anyone been using Huboard? I propose we close our account there. |
In fact, by getting rid of |
Also: I'm going to spend even less time on the backend. I'm going to spend my time on information architecture and visual design. Wish me luck. :-) |
I'm going to try to keep a single TODO list in the description for each PR, rather than scattering TODOs about in comments. Hopefully this helps with visibility into PR state. |
I want more visibility into and communication about what work everyone is prioritizing and why. Anyone share this itch? That's really the point of weekly sprints. Milestones are an obvious solution, but sprint milestones conflict with how we're currently using milestones (see gratipay/gratipay.com#67 (comment)). We could accomplish the same goal with a "sprint" ticket at the beginning of every week. If we don't want to centralize the conversation about priority in a milestone or ticket, we could have priority discussions decentralized among tickets. The PR queue encodes what we're prioritizing, as do assignments (helpful for non-PR work). Comments on assigned issues and PRs could then work to communicate why. I think it'd be helpful to have a central conversation about priority, though, to make it easier to compare across tickets. I want to know what you're prioritizing this week and why. Anyone else? |
I'm not sure I like the idea of people starting PRs that they have no intention of finishing.
Closing sends the PR into oblivion, it seems unlikely that someone would remember to reopen it.
We don't really use |
Whatever we decide about labels, let's adopt the same across all (relevant) repos. I've been wanting queues that span our projects (cf. #157), and it turns out that GitHub enables this with their global issue search. Here's all open PRs across all Gratipay repos. |
What's the difference between " |
@Changaco I would love to finish the PRs I start, but I have no time. :-( The problem I'm trying to solve is that I do so much toilet-cleaning (security queue, user support, contributor support, finances, queue visibility, etc.) that I feel like I'm losing my ability to influence the direction of the product. I appreciate you for being so productive. Code is influence, and I feel like anymore I have to throw stuff into the pipeline any chance I get in order to have any influence, because I never know when you're going to emerge with a string of awesome PRs that ... it is my delight to review ... and which squeeze out any time I have left to make big PRs of my own. I feel like after all the toilets are clean, I'm left reacting to your work instead of introducing much of my own. Knowing what's coming down the pike from you and being able to influence the PRs you work on before they land in my lap for review would help me feel not so threatened, hence #164. P.S. I don't mind cleaning toilets per se, and I know you and @rohitpaulk help with support as well as managing deployment and production errors, etc. I think I clean a lot of toilets around here, but if you think you do too I trust you'll correct me. :) |
We would remember to reopen it, because it would be linked on the issue(s) that it was addressing. When someone revisited the issue, they would see the old PR and this would prompt them to reopen or cherry-pick as appropriate. Others watching or discussing would be able to remind them as well. |
Another angle: I'm trying to figure out how to influence product direction on a monthly/quarterly time scale (gratipay/gratipay.com#3248) without slowing down work done on a daily and weekly scale. |
One of the uses of the
At least a few times I think, and some issues can even be entirely about discussing something and not about writing code. A |
Considering that @rohitpaulk has been reviewing bigger PRs and that I was "gone" most of January, I doubt I've been taking up that much of your time this year.
You have at least some idea of what I'm working on, you've linked to it previously, and you could simply ask me on IRC if you want to know more.
Threatened?
FTR I also manage translations.
Can you define "toilet-cleaning" more precisely? Is it everything besides writing code? Is it "boring" stuff in general? |
As far as I remember, that was its primary purpose. I don't think it fulfills that purpose well, but let's make that a separate discussion: #166. |
I don't think we do this enough to warrant a separate label. The purpose of a label would be to answer questions and filter issues. Have you ever wanted to see all issues that are just a discussion? Or have you ever found an issue listing so cluttered with discussion-only issues that you wanted to exclude them? I haven't. |
True. !m @Changaco
I guess the distinction I'd make is between making progress and avoiding regress, which probably has as much to do with personal motivation as with the task itself. For me, writing code is clearly making progress, while calling the bank to get our Travis charge unstuck is clearly avoiding regress.
To be honest, I actually had not registered that you were gone most of January (perhaps because I was distracted with the retreat and its aftermath?). And, yes: you and @rohitpaulk seem to be working well together, which is awesome.
I mean, not threatened threatened, but yeah, vaguely uncomfortable. When you're quiet I don't know if it's because your attention is elsewhere (for how long?), or you're heads-down on a PR. And if it's because you're heads-down on a PR, then what PR is it? Why did you pick that one? And how does it relate to my own goals for Gratipay? By now I trust your work from a technical perspective. However, to take Gratipay to the next level we need to do a better job of designing our product from the outside in, and that's what I'm trying to do without slowing you down. I think it would help us coordinate the outside-in and inside-out perspectives if we could get a little more communication about what we're working on each week and why.
Yes, I've noticed that you use assignments to signal what you're interested in working on. However, you hold on to assignments for months, so that doesn't help us know what you're paying attention to this week:
Moreover, assignments alone don't help us collaborate on setting priorities. Why are we each paying attention to the things we're each paying attention to? How do our priorities relate to each other?
Fair enough. Can we try an IRC chat every Monday to discuss priorities for the week? |
I dropped |
@rohitpaulk has said he's willing to pick up PRs that I start, so I think we're good there. |
Proposal to close this ticket:
|
Objections? |
That color is typically used for warnings and such, maybe switch with the yellow of |
I'd make an additional distinction between writing/modifying "clean" code, and fixing "dirty"/broken code. I've spent a lot of time cleaning up Gratipay's code (plus some time on Aspen's), and while it is often interesting and can be viewed as "making progress", it wouldn't be necessary if things had been done "right" the first time, and thus can occasionally be boring/irritating.
That seems to indicate that I'm not the problem, especially since me not being here didn't result in you landing big PRs of your own.
We've already had that conversation in the past, there are plenty of possible motives.
If by "oustide in" you mean starting with the UI like you did in gratipay/gratipay.com#3112, that seems like a bad idea. If you start with the backend you can split the work in multiple PRs of reasonable sizes, but if you start with the UI you end up with a giant PR. |
Correct. You are not the problem. :-)
I believe you're thinking of IRC, yes?
That answers the question in a general way, but it doesn't answer the question in specific instances. At any given time, why are you focusing on this instead of that? Actually, though, let's flip this around: I want you to know what my goals and motivations are. Why? So that you can help me reach them by critiquing my prioritization decisions. In other words, maybe the problem is me. ;-) |
I mean slowing down and spending more time in requirements gathering and implementation design before starting to code. "Design from the outside in, build from the inside out." 3112 is not a paragon of this. gratipay/gratipay.com#3220 is more what I want to do, and that's the tip of the iceberg. I'm planning to use gratipay/gratipay.com#3248 as the focal point for what I want to accomplish in terms of product design, with weekly radar tickets to help me stay on track and communicate with the rest of you, and much better-scoped PRs. |
More deliberate. "Here's what we want to deliver. Here are the clearly-defined steps we need to get us there." I'm nervous. I'm bad at working like that. :-( |
@whit537 I am too. I find that narrowing the scope of the deliverable helps. |
@Changaco I am unpleasantly surprised by this, because the last I knew we were going to have a discussion about switching to I appreciate you for not being afraid to "own" Gratipay. We want a shared sense of ownership. Something feels wrong about this, though. What is it? What's wrong with our process that we ended up in this situation? |
The first PR to introduce a table that references |
Alright, stream of consciousness GO. 🐎
The text was updated successfully, but these errors were encountered: