/srv/irclogs.ubuntu.com/2008/05/28/#launchpad-meeting.txt

mrevellning!09:39
bigjoolsmoo15:00
barry#startmeeting15:00
barrytbot15:00
barryhello everyone and welcome to this week's ameu reviewers meeting.  who's here today?15:00
BjornTme15:00
bigjoolsme15:00
EdwinGrubbsme15:01
sinzu1me15:01
bacme15:01
=== sinzu1 is now known as sinzui
sinzuime15:01
allenapme15:01
flacosteme15:01
gmbme15:01
schwukme15:01
flacostesalgado is on leave15:01
BjornTintellectronica is also on leave15:02
barrydanilo_: ping15:02
barry * (Julian) Since I seem to be finding it hard to get my Soyuz comrades to follow our own informal coding standards, when reviewing Soyuz code please make sure you don't let code of the form: ` if archive.purpose == ArchivePurpose.PPA:` land, instead it should be the simpler: `if archive.is_ppa:` which not only encapsulates the decision in IArchive, it should remove an import of the DBEnum.15:02
barryerg15:02
bigjoolsahem15:02
barry== Agenda ==15:03
barry * Roll call15:03
barry * Next meeting15:03
barry * Action items15:03
barry * Queue status15:03
barry * Mentoring update15:03
barry * Review process15:03
barry   * Help people learn how big branches can be split up (BjornT)15:03
barry* (Julian) Since I seem to be finding it hard to get my Soyuz comrades to follow our own informal coding standards...15:03
* barry sighs15:03
barry * Next meeting15:03
barryeveryone okay with week += 115:03
bigjoolsyep15:03
barryanybody know you'll be sprinting or away?15:04
barry * Action items15:04
* barry had an action item to communicate our multiline guidelines15:04
barryi've updated PythonStyleGuide and will send an email to the list after this meeting15:05
* schwuk reads the updated wiki page15:05
barry * barry to solicit ideas to better handle review scheduling and workload15:05
barryFAIL15:05
statikme (sorry I'm late)15:05
barryschwuk: i welcome yours (and everyone's) feedback!15:05
barry * flacoste to add `safe_hasattr()` to `lazr.utils`15:05
barryflacoste: ?15:06
flacostei still suck, please keep it15:06
barryk15:06
barry * bjorn to add recommendation to test style guide saying don't use asserts in doctests15:06
barryBjornT: ^^15:07
BjornToops, not done15:07
barryBjornT: np, we'll keep it on the agenda15:07
barry * Queue status15:08
barryit's week 4 so a light week for branches i think15:08
barryEdwinGrubbs: how's that adeuring branch going?15:08
* bigjools has got a corker Soyuz branch coming up today15:09
EdwinGrubbsbarry: I was waiting for the dependent branch to be finished being reviewed.15:09
schwukEdwinGrubbs: is that the hwdb one?15:09
EdwinGrubbsyes15:09
EdwinGrubbsis that done?15:09
schwukIf so, -1 has just gone to merge-conditional* and it's waiting on sinzui's attention.15:09
schwukHowever I'm sure we'll revisit this branch in BjornT's agenda item...15:10
barryEdwinGrubbs, schwuk thanks15:11
barrywe have 3 other ping branches: reviewers = flacoste, jtv, allenap15:11
flacostebarry: mine is done15:11
barrys/ping/pink/15:11
barryflacoste: excellent, thanks15:11
flacosteneed to update the status15:11
allenapdoing that one today, sorry gmb for being slow.15:11
barryallenap: thanks15:12
barryanything else on the queue status?15:12
gmballenap: I hadn't noticed through the Ubuflu fog.15:12
allenapgmb: Get well soon, but not before I've done your review.15:12
gmbThanks, I think.15:12
barry * Mentoring update15:13
sinzuischwuk: I'll follow up  your review today while I lobby for an RC.15:13
barrysince it's week 4, if you have any recommendations for graduations or recruits, send them my way15:13
bigjoolsI did one for jml at UDS but otherwise it's been lean for me this cycle because of UDS and holidays15:14
barryother than that, any comments from mentors or mentorees?15:14
barrybigjools: that's my impression too15:14
bigjoolsbarry: I'll get some done next Monday15:15
schwukNot really, although week 3 was kind of lean for me (apart from the hwdb branch) as people tend to prefer non-mentored reviews. Especially on Friday :)15:15
barrybigjools: cool.  sorry i wasn't ocr this monday; us holiday15:15
barryschwuk: of week 3, eh? :)15:15
bigjoolsI seek out mentored reviews if it's not urgent - I get the benefit of two pairs of eyes15:15
barryschwuk: but really, we need to make sure mentorees have enough branches to review15:16
bigjoolsbarry: no problem re: ocr, I was at UDS anyway15:16
barrycool15:16
barryany other mentoring updates?15:17
barry * Review process15:17
barry   * Help people learn how big branches can be split up (BjornT)15:18
barryBjornT: i know we talked about this a few weeks ago, but i don't think we came up with anything specific.  any new thoughts on this?15:18
barryguess not :)15:19
BjornTno, no new thoughts from me. my proposal is still to require people submitting too large branches, to go through them with a reviewer, to see how it could have been split up.15:19
schwukPre-implementation calls are the killer here - case-in-point abel's current branch which a) didn't have one and b) is huge.15:19
bigjoolsschwuk: my thoughts also15:19
schwukIt also doesn't lend itself well to being chunked for review.15:19
bigjoolsis he even aware of the size restriction?15:19
BjornTexcept that pre-implementation calls don't always happen...15:20
bacschwuk: but abel did split his work up.  his problem was submitting all of the parts for parallel review.15:20
bacschwuk: albeit he split them after the fact, to your point15:20
schwukbac: yes15:20
schwukand I'm -1 on that sort of splitting as context can be broken15:20
schwuke.g. he had comments referring to a function that wasn't implemented in the branch I was reviewing.15:21
gmbschwuk: What if one reviewer reviewed the chunks in series?15:21
bacschwuk: ok, that's nasty15:21
bigjoolsoy15:21
gmbschwuk: So the big branch is split into chunks a, b and c, which you agree ahead of time to review.15:22
schwukHowever in his defence, it's very difficult to fit a whole new feature into 800 lines, but he should have had a pre-imp call to chunk the work more.15:22
* BjornT thinks it would be best to limit this discussion to how we can get people to try to split up the work, not how to actually do the splitting15:22
sinzuiBjorn +115:22
bigjoolsinsist on pre-imps15:23
BjornTi also don't think pre-imp calls is the answer here. they are good, but we've tried to require people to have pre-imp calls before, and it didn't work.15:23
schwukgmb: no agreement was made (by me). From my perspective he made the branch, chunked it and submitted it concurrently15:23
BjornTbigjools: how?15:23
barryBjornT: it still doesn't work.  pre-imps are rare ime15:23
bigjoolsBjornT: well some time ago I thought they were made mandatory by Steve15:23
gmbbigjools: I don't see how we can enforce them.15:23
BjornTbigjools: yes. and that didn't work.15:23
bigjoolsjeez15:24
gmbI nearly *always* forget to have a pre imp (though I often have mid-imp sanity checks).15:24
BjornTbigjools: that's why "people should have a pre-imp call" isn't a good answer.15:24
sinzuiI think a small plan is required before coding can start. Another developer must agree to the plan15:24
bigjoolsso are we to wipe everyone's bottoms for them too?15:24
flacosteBjornT: i think it's our responsibility as team leads to ensure that people do pre-impl15:24
BjornTif we can find a way to really get people to have pre-imp calls, than that's fine.15:24
gmbsinzui: But again that's an enforcement issue, isn't it?15:24
flacostewe can check that up in the daily standup15:24
flacostedid you have your pre-impl call?15:24
BjornTflacoste: sure, that's a good point.15:25
BjornTi still think that it's really useful to go through a real diff, though.15:25
flacosteso if somebody didn't have a pre-implc call, blame the team lead15:25
sinzuigmb: If part of the cover letter is written during the plan, it might be doable. That is to say. the pre-imp has a deliverable that we can track15:25
flacostesinzui does this15:25
flacosteand it works well15:25
BjornTit's easier to learn going through a diff, than to just talk about the problem.15:26
gmbsinzui: But you've still got the "whoops, I forgot, sorry, review-it-anyway please, kthxbye" factor.15:26
sinzuigmb: That is true, there is also the critical branch that even I skip the implementation plan15:26
gmbRight.15:26
barryi also think reviewers need more latitude to kick a branch (or several branches) out of the review queue if they are not organized well and/or didn't have a preimpl15:26
sinzuigmb: We want best practices, not dogma15:27
flacosteagreed15:27
gmbAlso true.15:27
sinzuiWe need better planning, but we don't need to require planning to the point of unprodictivity15:27
barrysinzui: true15:28
bigjoolsI think this should be brought up at the team meeting15:28
bacbarry: you mean remove not just reject?  i did that yesterday but didn't feel like there was much precedent.15:28
schwukbarry: You're right. There's (unseen) pressure to review a branch even if it exceeds the line limit or hasn't been pre-imp'd.15:28
bigjoolsthen it will have more weight15:28
schwukMaybe we do need to kick more branches out.15:28
barrybac: yes15:28
bacbarry: +115:28
barryreject if you can't get to it, but remove (with an email) if there are fundamental problems with the branch15:29
barryif there are questions, contact me and we can decide together15:29
bacperhaps, for a bit, we can set all branches with no pre-imp to 'needs-reply' where the developer has to explain why they didnt' do a pre-imp.  it might then sink in.15:30
barryour time as reviewers is limited and valuable and we should not be spending time on branches that really weren't ready to code15:30
flacostebac: i think that would only introduce more dealys15:31
flacostein the process15:31
barrysince that reduces our productivity and thus the productivity of the entire team15:31
schwukHow about peer review? If a pre-imp call doesn't happen (for whatever reason) then the code should be reviewed by a peer (i.e. same team) before submitted for permission-to-merge.15:31
flacostelack of pre-impl is only a problem if it is a problem15:31
flacosteif the code is easy to review15:31
bacflacoste: yes it would.  but you're trying to change culture and that may require some temporary pain15:31
flacostewho cares that it didn't have a pre-imp15:31
BjornTbac: i don't think that will help. people already have to "explain" why the branch is large. and the answer is usually, "sorry, it couldn't be split up".15:31
bigjoolsschwuk: particularly with junior/new team members15:31
bacBjornT: :) ok, so you got me there15:32
barryflacoste: i agree, plus a "pre-impl" call can be fairly liberal for easy branches or fairly indepth for complicated branches15:32
BjornTa pre-imp call can also slow you down sometimes. that's why i don't what to require it.15:32
barrymaybe we need a buddy system for new devs or devs having persistent problems with this?15:32
flacostethat's a nice idea15:32
sinzuibuddy-buddy live?15:33
barrye.g. i'm buddying abentley when thumper isn't around.  we don't talk often, but he knows he can always ping me with questions15:33
barryflacoste: do you think buddying by default with your team lead is a good idea, or should it be a non-superior peer?15:34
flacostebarry: i don't know, i think team leads are fine, but i may be biased here :-)15:34
barry:)15:35
bigjoolsIn the Soyuz world, we've buddied Muharem and it's worked well15:35
barrybigjools: cool.  can you provide some details?  e.g. was he buddied by one person, the whole team?15:36
bigjoolswell there's only three of us, so Celso and I took it in turns15:36
bigjoolsbecause Soyuz is so complicated it's kinda necessary anyway, we still check his landings to make sure nothing awry is going on15:36
schwukBjornT: I don't think pre-imp calls should be mandatory for the same reasons as you, but I do think that a large branch without a pre-imp call should be flagged.15:37
bigjoolsschwuk: instadeath to large branches with no pre-imp15:37
BjornTyes, so let's back up a bit15:37
barrybigjools: +1 to that15:37
BjornTlet's say that someone submits a branch that is too large15:38
BjornTwhat should happen?15:38
bigjoolsfirstly, reject. secondly, get someone to explain how it could be split15:38
sinzuiI think sending a summary of what you intend to do for sign off will suffice in many cases. If there are concerns, a call is needed.15:38
barryreject.  send email to dev and their team lead15:39
flacosteyeah, that's good15:39
BjornTsinzui: what do you mean by "what you intend to do"?15:39
flacostei think he's talking about the cover letter15:39
flacosteas a pre-impl artefact15:39
BjornTright. that's what happens today, isn't it?15:40
flacostereading the email, you can tell, yes that's fine, no call needed15:40
flacosteBjornT: only in sinzui's case15:40
sinzuiThis is what I started yesterday for a plan:https://pastebin.canonical.com/5582/15:40
flacostehe's talking about writing the cover letter before doing the implementation15:40
flacosteand have that letter be sanity-checked by someone else as part of the pre-impl phase15:41
sinzuiI need to know how to test and where to code change points are still.15:41
BjornTflacoste: ok. how do you do that, after you've submitted the branch for review? ;)15:41
flacosteright, that's a separate process :-)15:41
BjornTflacoste: yes. i'd like us to limit the scope of the discussion a bit :)15:42
BjornT17:38 < BjornT> let's say that someone submits a branch that is too large15:42
BjornT17:38 < BjornT> what should happen?15:42
flacostei think bigjools and barry suggestions were very good15:42
BjornT+1 to bigjools, since that was basically my original proposal15:42
schwuk< barry> reject.  send email to dev and their team lead15:42
bigjoolsyup15:43
schwukBjornT: who is the someone though?15:43
schwukThe reviewer, or the team lead?15:43
bigjoolsteam lead I think15:43
bigjoolsreviewer is already busy15:43
schwukbigjools: that was my thought as well15:43
flacoste?15:44
flacostesomeone is the developer in that sentence15:44
barryflacoste: that's what i thought too15:44
flacostea developer submits a branch that is too large15:44
BjornTwell, all team leads are reviewers, so there should be a greater chance of finding a reviewer that is free15:44
flacosteaction: reviewer rejects the review emailing the dev and his team-leads15:44
bigjoolsflacoste, barry: we're talking about who to ask to discuss the large branch with the dev15:44
flacosteok, i get it15:44
schwuktoo many someones...15:45
flacosteyeah, i'm sure the team lead can help the dev or find somebody to help him out15:45
BjornTi think it doesn't matter who you discuss the branch with, as long as an e-mail is sent to the list, with the result. then other people can chime in as well.15:45
bigjoolsin fact, yes, anyone else in the team, not just the lead15:45
flacostethat's unless the dev happened to fall on a friendly reviewer like sinzui who's always willing to help you split your branches :-)15:45
sinzuiI suck as saying No15:45
barryright :)15:46
barryoops, we're out of time and have one more item15:46
barryapoligies for going over15:46
barryi like this idea, and we should flesh it out on the ml15:46
* barry will start the discussion going15:46
barry   * (Julian) Since I seem to be finding it hard to get my Soyuz comrades to follow our own informal coding standards, when reviewing Soyuz code please make sure you don't let code of the form: ` if archive.purpose == ArchivePurpose.PPA:` land, instead it should be the simpler: `if archive.is_ppa:` which not only encapsulates the decision in IArchive, it should remove an import of the DBEnum.15:46
bigjoolssorry for the long item :)15:47
bigjoolsbut it says it all15:47
barrybigjools: +115:47
bigjoolskthxbye15:47
barrythat's it from me.  anything else for today?15:47
schwukSo do we need domain specific cheat sheets for reviewers?15:47
bigjoolsthanks in advance to the reviewers if you can police this15:47
barryschwuk: that's not a bad idea15:47
bigjools+115:47
barrylinks off of TipsForReviewers i think15:48
bigjoolsmwh once started an informal SoyuzReviewerCheatSheet or somesuch15:48
barrybigjools: wanna get that started for soyuz?15:48
bigjoolssure thing15:48
barrygreat, thanks15:48
barryokay, that's it then.  sorry for going long15:48
barry#endmeeting15:48
barrythanks everyone15:48
schwukThanks barry15:48
bigjoolsthank you15:49
=== mwhudson_ is now known as mwhudson

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!