Tuesday, 2014-11-25

*** MaxV has quit IRC01:06
*** mrmartin has joined #storyboard01:53
*** MaxV has joined #storyboard02:07
*** MaxV has quit IRC02:12
*** mrmartin has quit IRC02:51
*** MaxV has joined #storyboard05:06
*** MaxV has quit IRC05:11
*** mrmartin has joined #storyboard06:16
*** k4n0 has joined #storyboard06:24
*** cody-somerville has quit IRC07:09
*** cody-somerville has joined #storyboard07:22
*** jtomasek has joined #storyboard07:37
ttxjdimike, yolanda: the main issue with notconfirmed/confirmed stories is that it forces everyone in a given workflow ("stories have to be triaged and confirmed") while it's nobody's job to actually triage them07:52
ttxjedimike, yolanda: To find "things you should work on" I trust the new multidimensional priority concept (using story/task lists)07:53
yolandattx, but i find there is a lack of control now07:53
ttxExample: you work on storyboard and want to find your next action, you can have a look at the team story/tasklist and pick what has been prioritized there07:54
ttxyolanda: also in Launchpad, it's the task that is triaged, not the bug07:54
ttxat least that way it's someone's task to triage it07:54
ttxyolanda: I agree that right now we are missing the concept that will make that work on storyboard07:55
ttxWhile we refine the story/task list concept, I'd recommend using tags07:55
ttx(which apply to story)07:56
yolandayes, concern is that someone can file a story now, and we don't have a way to mark them as invalid, prioritize, etc...07:56
ttxyolanda: we can prioritize with the unidimensional priority (same as in Launchpad)07:56
ttxand we can set status to Invalid as well07:57
yolandawell, to a task, not to a story... or am i missing something?07:57
yolandamaybe is that an admin power?07:57
ttxyolanda: not sure I follow you. You're using Launchpad in your comparison in the discussion above. Bugs in Launchpad do not have invalid status07:58
ttxonly Bugtasks have07:58
ttxso we are in the same situation07:58
ttxThat's a necessary approach, since a story may be valid for some groups and invalid for some others07:58
yolandaoh yes, but well, when you create a bug in launchpad, you associate to the package, the Affects to... and then the entry is just created, so is easier to follow07:59
yolandahere in storyboard you can have stories without any task created, so that info is missing by default07:59
ttxA story is a theme, which will result in several action items. Each of those have a separate status and can be confirmed or invalidated07:59
ttxeach of those may be handled by a different team08:00
ttxThat is what we are trying to solve here -- complex cross-project coordinated actions08:00
ttxThat's where Launchpad lets us down08:00
ttxThat is what Storyboard is supposed to solve08:00
*** jcoufal has joined #storyboard08:00
ttxIt's easy to lose sight of it at this stage08:00
yolandamm, maybe when we create the story types, if we have the ability to create a workflow, if the story type is a bug, we could create some task by default, with the status, priority....08:00
ttxsicne we are using it mostly on single-project stories08:01
ttxBut the goal is to use it for OpenStack08:01
ttxyolanda: so yes, I agree that the taskless story is confusing08:01
ttxin Launchpad all "bugs" have at least a task08:01
yolandattx, as the story concept is wider than the launchpad blueprint/bugs, this can be a bit confusing by some of the cases, i think that the concept as we have now matches better features than bugs08:01
ttxI've been going back and forth with krotscheck on that one. should we allow stories with no tasks, and what do they mean08:02
ttxThe problem being, a story with no task is nobody's job to handle08:03
yolandattx, if we dig on the workflow for the story types, and have the workflow that creates a task automatically for bug/security bugs, that could help08:03
ttxyolanda: yes, we could create a task by default when no task is provided, to go to some triager group08:04
yolandathat sounds good to me08:04
ttxyolanda: that's what LP does when you don't set any affected project08:04
ttxthe trick then is to staff that team :)08:05
yolandawell, it could be a daily routine as we do with code reviews08:05
ttxyolanda: also, removing he only task of a story should probably be disallowed08:05
yolandattx, then you remove the story...08:06
ttxyolanda: but I certainly agree with you that we covered the task tracking case much more than the bugtracking case so far08:06
petefothExcuse me for butting, in, but in our process we will start by creating a draft of a story, which will then progress through several statuses before it is 'agreed' or ready to have tasks associated with it.08:06
ttxin task tracking, you eznter tasks you have the intention to do. In bugtracking, you suggest stuff to be fixed, but require some triaging step08:07
petefothSo it would be useful for us for a story to be able to have a status (preferably configurable) in the same way as a task08:07
yolandattx, i started to see the problem recently, when people are starting to raise concerns or small bugs into storyboard, and there is a bit of mess08:07
yolandapetefoth, this is one of the points we are working on, having configurable task status08:07
ttxpetefoth: so, in theory you can have a task for "refining the story", which when completed will result in several other tasks being added08:08
ttxtasks don't necessarily have to be associated to a code repo08:08
ttxthey can track other types of work08:08
ttxIf the first step in handling that story is refine it to the point where you can have more tasks entered... you should track that as a task08:09
petefothyolanda: yes I saw that :) That will really helpful for us08:09
petefothttx: yes that would work08:09
petefothI’ll get back to lurking :)08:09
* ttx filed story for ability to add non-code tasks08:10
ttxfiles*08:10
yolandattx, i think that a spec for task statuses should be needed. I started to work on it, but i saw that it's relying now on some status for reporting and grouping tasks, so if we want to configure them, we should need to adapt it08:10
ttxyolanda: don't we already have task statuses ?08:11
ttxinvalid, todo...08:12
yolandattx, yes, but one of the stories was to be able to configure them08:12
yolandaso you can have different ones08:12
ttxwhich one do you think is missing ? Would they be different for each project ?08:12
yolandawell, have the ability to adapt to any workflow. For example having the "draft" as petefoth told08:13
yolandaor just naming them in a different way, there was a conversation yesterday about that08:14
yolandai don't think we miss anything but we miss the ability to adapt to the people's workflow, not only to openstack08:14
yolandahttps://storyboard.openstack.org/#!/story/33108:14
ttxyolanda: there are some pitfalls ahead with that approach. For example we want to rely on Gerrit to set the status automatically08:14
*** wdutch has joined #storyboard08:15
ttxif each project has its own set of statuses...08:15
yolandawell, not for projects, but generally for deployment08:15
ttxyolanda: then the pitfall becomes federation08:16
ttxit will be more difficult to federate deployments with different set of statuses08:16
petefothttx: we too want to use gerrit, but in a configurable way and probably not in *all* or projects. We would like the interactions between gerrit an storyboard to be flexible.08:17
ttxtags is where we usually cater for projectspecific workflows08:17
yolandattx, that's true but then it's a matter of the end user to properly configure their task statuses to match08:18
petefothso that gerrit tells storyborad this patch set has a +1, and StoryBoard sets the task status appropriately08:18
ttxanyway that would need a spec08:18
yolandattx, yes, not trivial08:19
ttxadded a spec task to that story :)08:19
yolandaand even task priority needs the same approach08:19
ttxwell, task priority as it stands is a placeholder08:22
ttxthe roadmap is to refactor iot completely into a multidimensional priority system08:22
ttxbecause everyone's priority is different08:23
ttxSee https://wiki.openstack.org/wiki/StoryBoard/Vision and https://wiki.openstack.org/wiki/StoryBoard/Task_Lists08:24
ttxIf we follow that road we won't have "configurable task priorities". We'll just have team and personal tasklists08:25
yolandattx, that's quite an interesting concept08:25
ttxyolanda: it's because for complex cross-project tracking we realized that nobody liked whatever priority was set08:25
ttxit was someone's priority, not yours.08:26
ttxso it's useless to help you let you find your next action08:26
ttxThe current Low/Med/High is just something we are using while we think about the long-term solution08:27
ttxbecause it's a bit unnatural to not have priority at all in a bugtracking system08:27
ttxso we need time to wrap our heads around the concept08:27
yolandattx, i like that concept and is something very new, not seen in most of the bug trackers08:27
ttxyolanda: it also makes federation possible. HP storyboard for example can consume upstream storyboard and have their own priorities exposed in their instance08:28
ttxi.e. your own milestones, your own tasklists08:29
ttxalso the milestone concept from LP can be represented as a tasklist08:29
ttxcurrently milestones in LP are both a planning (task list) and a reporting (what landed when) concept, and the confusion is painful.08:30
ttxgoal in storyboard is to separate the two08:30
ttxplanning using milestone/sprint tasklists08:31
ttxand reporting by making storyboard tag-aware08:31
ttx(as inb git tags aware)08:31
ttxso it can tell in which version a given fix has landed08:31
ttxI'm trying to keep my eyes on the endgame. I don't want us to spend two years and find ourselves with the same limitations that prompted us to move away from Launchpad in the first place08:32
yolandattx, btw, problem with launchpad is the lack of investment and support08:34
ttxyolanda: well sure, but not only. It's also because it's not truly cross-project08:35
ttxit's ubuntu-centric :)08:35
yolandattx, yes, mostly for ubuntu bugs, it was horrible for blueprints as well08:35
ttxthere are a number of hacks (especially around series/branch tracking) that are really weird and clearly an afterthought08:36
ttxI wrote countless scripts to work around those hacks08:36
yolandattx, yes, also api sucked and had very bad things. But it had some quite interesting concepts we could adapt08:38
ttxyolanda: well, the story/task thing is the main concept we adopted08:39
ttx(bug/bugtask in LP parlance)08:40
yolandai liked the natural integration it had with the operating system, also marking a bug as hot if reported by so many people. That integration does not apply to storyboard, but the ability to add users interested in a story/task... maybe08:42
*** petefoth1 has joined #storyboard08:54
*** MaxV has joined #storyboard09:01
paulsher1oodi'm interested in this priority/status puzzle because we've explored the problems quite deeply on a series of projects (not openstack)09:05
paulsher1oodhaving used kanban extensively, one of the insights that seems hard to grasp for new folks is that 'priority' in a kanban worldview is entirely achieved by 'lane'09:06
paulsher1oodone of the key ideas in kanban is to limit number of tasks (here could be stories) per lane, where lane here would correspond to status.09:07
paulsher1oodso prioritization is implicit because folks are required to sort stories/tasks into lanes. and then folks take their work/todo from a given lane09:08
paulsher1oodone of the things i like about storyboard is the git integration on status for that part of the workflow. but it's not clear to me that one worklflow can possibly fit the whole of the space that storyboard is trying to cover09:09
*** jedimike has joined #storyboard09:12
paulsher1oodmy experience with non-kanban systems is that the concept of 'priority' always falls apart in the real world. we had a project for example where they started with 'A' bugs... then had to raise to 'A+' when there were too many, then 'A++'09:12
paulsher1oodso one of the benefits of the kanban worldview is that it can make it extremely clear for the non-developers on a project that only so many tasks/stories can be 'prioritized' at a time.09:14
paulsher1oodi appreciate that the storyboard project doesn't have clear 'managers' trying to prioritize the work, but i do believe that a kanban visualization can be of significant help for stakeholders and contributors to grasp what is being done09:15
* paulsher1ood gets back to lurking too09:16
jedimikepaulsher1ood, I 95% agree :)09:16
paulsher1oodjedimike: cool! what's the 5% please?09:17
jedimikepaulsher1ood, just that the falling part doesn't *always* happen, just 95% of the time it does. I do like the kanban approach a lot though, I think it works very well.09:19
paulsher1oodjedimike: actually yes. after i wrote that i wanted to put s/always/nearly always/ :-)09:21
jedimikeheh :)_09:21
paulsher1oodjedimike: i like it too. the one thing to beware of is that for big, complex projects (as here) it can be easy to drown in kanban cards09:23
paulsher1oodkanban can only 'scale' by segregation to multiple boards for sub projects i think09:24
jedimikepaulsher1ood, agreed, so I usually like a "not now" lane where everything starts, have a periodic review of what should come out of there into the first real work lane so we're not overwhelmed09:24
jedimikeand yeah, has to be at least a board per project09:24
paulsher1oodjedimike: yes - we call it 'wishlist' by default.. then migrate the blessed cards to a lane called 'backlog' or 'todo' or 'next up' depending on the preferences of the project :)09:26
jedimikecool09:26
paulsher1oodbut once wishlist has 50 cards in it, even that gets unweildy. so we tried a separate triage board, with extra lanes so that things can be separated out from 'incoming' into 'can wait' 'needs more info' etc09:27
jedimikeyeah that makes sense09:28
*** ridgerunner has joined #storyboard09:32
paulsher1oodcomparing our experience to the storyboard approach, i can't help thinking that organisations will need to experiment with and evolve their own custom workflows (lanes)09:36
jedimikeyeah, i was thinking about the possibility of some plugin or sync script to interact with trello09:37
paulsher1oodand that makes me wonder if the linkage with git needs to be extended and made flexible to cope with custom workflows, or just restricted to the coding/testing/review/done part09:37
paulsher1oodelsewhere petefoth has started a religious war by proposing taigo instead of trello (which itself got adopted by folks when we couldn't figure out storyboard fast enough)09:39
paulsher1oods/taigo/taiga/09:39
jedimikeheh, at least he didn't suggest leankit ;)09:40
petefothwhich was odd  as taiga is FOSS and Trello definintely isn’t :) But Trello has the advantages of a: working now and b: having an easy intuitive UI09:40
* petefoth DDGs ‘leankit’ :)09:40
petefothTaiga has those things too09:43
jedimikeso we'll probably end up with a module that wraps around our API and interfaces with trello and/or other kanban board, yeah?09:44
petefothjedimike: that would be a cool palce to get to09:46
jedimikepetefoth, I just think we have to be careful that whatever board we use, it only gets used as a workflow solution, and that any changes to the stories or tasks happen in storyboard directly. Otherwise we'd end up with a whole host of sync issues, or so I've seen with similar systems in the past09:49
petefothjedimike: some of our guys worked on such a wrapper and made the interface with Storyboard read-only.09:50
jedimikepetefoth, great :)09:50
petefothThough it think, in a Kanban board I want to be able to move a card between lanes. I think we could work if storyboard provides an API that would allow us to change at least some of the data associated with a card.09:51
petefothWe don’t want to keep or manipulate our own copy of the data09:51
petefothThast way lise madness and grief :)09:52
jedimikeso, something on the story in Storyboard that can reflact what lane it's in, and when we move it in the board, it's updated in Storyboard?09:54
petefothjedimike: that would work for us I think09:55
jedimikesounds good to me09:55
petefothAnd when stuff is updated in Storyboard, that change get reflected (eventually) in the board09:56
petefothWhere the value of ‘eventually’ is down to the implementor of the board that uses the API09:56
jedimikeyep09:57
petefothAnd such an API could be used (in a way that is configurable, with sensible defaults) by other clients to change status, eg Gerrit or Zuul or Jenkins can give a +1. (Though I’m not familiar with how these tools already interface with StroyBoard and it’ data, so I’ll go quiet now)10:02
paulsher1oodi disagree with petefoth on this. i don't see any problem with kanban being readonly, at least to explore the functionality. to move card, click on it and it takes you to the storyboard view of the story/task, where you can edit according to storyboard rules/workflow10:02
petefothpaulsher1ood: if StoryBoard does provide a writeable API, then a client can choose whether to use that API or take you to the appropriate StoryBoard view. But thqat is ‘implementation detail’ :) We could work with a readonly API though, if that’s all that is avaialable10:04
jedimikeI think it should be read-only, except for the kanban lane, if we want Storyboard to have knowledge of that too then the kanban board should be able to set that10:06
petefothjedimike: OK10:06
paulsher1oodthat could work too. except i want 'todo' 'in progress' 'review' and 'merged' as kanban lanes too :)10:07
jedimikehmmm, so a lane change triggering a status change?10:11
jedimikethere could be some config that mapped lanes to status10:11
*** jfjoly has joined #storyboard10:18
petefothAnd a status change triggering a lane change, mapped using a smilar config?10:19
jedimikeyeah, that could work10:26
*** k4n0 has quit IRC11:20
*** jfjoly has quit IRC12:31
*** CTtpollard has joined #storyboard12:34
*** jcoufal has quit IRC12:56
*** jcoufal has joined #storyboard12:57
mrmartinre13:03
openstackgerrityolanda.robla proposed openstack-infra/storyboard-webclient: Story project is defaulted to the current project if available  https://review.openstack.org/13705713:25
*** jcoufal has quit IRC14:03
*** jcoufal has joined #storyboard14:04
yolandakrotscheck, NikitaKonovalov, i'm taking a look at the user preferences api, to remove local storage and use the api14:16
yolandai see that the api is retrieving the preferences in bulk, as the webclient is relying on localStorage, to get/set preferences one by one14:16
yolandawhat's the prefered approach here? use the concept of the backend api and do that in bulk? should be more optimal14:16
NikitaKonovalovyolanda: reading the preferences from API is easier when the whole dict is transferred, so I think the GET endpoint should stay the same14:21
yolandaand the POST? it assumes that we send a bulk of preferences as well14:22
NikitaKonovalovYou dont need to send them all at once, the POST handler will delete the preference only if null is passed14:24
NikitaKonovalovthe POST endpoint actually already contains the PUT logic also14:25
yolandaoh, looking at the code, i see now14:27
yolandacool, i can work with it14:27
*** jesusaurus has quit IRC14:35
*** jcoufal_ has joined #storyboard14:53
*** jcoufal has quit IRC14:53
*** jcoufal_ has quit IRC14:54
*** jcoufal has joined #storyboard14:54
*** jesusaurus has joined #storyboard14:58
*** mattfarina has joined #storyboard15:13
*** CTtpollard has quit IRC15:33
krotscheckOk, I’m setting a new rule for our channel. No more mentioning launchpad.15:33
krotscheck:)15:33
krotscheckWe are not building launchpad15:33
paulsher1oodheh :-)15:34
krotscheckWe can be respectful of someone’s past history, and the tooling and concepts that they are familiar with.15:34
krotscheckBut our biggest challenge is to identify which common themes from ALL tools, and from OpenStack’s process, work.15:35
krotscheckAnd which don't.15:35
krotscheckSo my question given the earlier discussion is: Does status make sense? Do workflows make sense?15:38
*** mattfarina has quit IRC15:38
krotscheckDo any of the concepts that we’re trying to bring in from other projects make sense?15:38
krotscheckNot even on a “Hey I need this thing” level, but more on a “Why are we doing it this way” level.15:38
krotscheckBecause, at the end of the day, what I feel matters is that we can answer three questions. What do we need to do. What are we working on. What did we do?15:39
krotscheckAnd all the other concepts: workflow, priority, status, etc, are decorations.15:40
krotscheckPriority is meaningless for anyone other than the person who’s doing the work. If a manager wants to change priority, it’s up to them to either convince the person doing the work, or to build team consensus so that someone else will do the work.15:41
krotscheckOnly the person who actually _does_ the work knows how to sequence items, and how to prioritize items.15:42
krotscheckAnything above and beyond that assumes that an IC is nothign more than a cog in a machine that is ordered to assemble widgets according to what their manager says.15:43
krotscheckBut hey, I could be wrong. But what really matters is that I’m actually contributing code right now.15:44
krotscheckAnd if you disagree, we can chat on gerrit, or you can submit your own patches.15:45
jedimikehmmm15:54
jedimikepriority should be obvious if you read the roadmap15:54
krotscheckjedimike: Why? If it’s grouped into a release, and everyone’s agreed that the next release is composed of X features, does it matter what the priority is?15:54
krotscheckOr what order the work happens in?15:55
jedimikekrotscheck, that's true. The next priority is the next release, or any security fixes.15:55
jedimikeso i guess what I want to see next is the answer to "What do we need to do", and for me, the next piece of that is being able to see if something is under discussion, or if it's been finalized and is ready to get implemented15:57
*** jtomasek has quit IRC15:57
persia"Status" has meaning in terms of whether something is currently being done (to prevent duplicate work),  "Priority" is useful not only in terms of the person doing work, but in terms of a person choosing what to do next.  That said, there is unlikely to be a meaningful global priority over a project, rather different teams/managers/etc, need different priority lists (which need not be comprehensive: many stories may have no priority for a given16:01
persiastakeholder).16:01
persiaWorkflows make sense for individual teams: while proposing some samples is useful, forcing a single workflow on many differently shaped teams will lead to workarounds by both teams who find it too much administration, and teams who are underserved by the available workflow.16:02
* persia will really have some StoryBoard time this week, so that next meeting will not contain as much disappointment16:03
*** reed has joined #storyboard16:08
*** petefoth has quit IRC16:11
yolandakrotscheck, you are right. For the ones we've been heavily involved on launchpad there is a natural desire of comparing with that16:17
yolandamiss the good things that we had with that tools, and improve the bad ones, but yes, we need to think on storyboard as an independent product, not a replacement of LP16:18
*** mattfarina has joined #storyboard16:20
*** jtomasek has joined #storyboard17:02
*** petefoth has joined #storyboard17:18
*** jtomasek has quit IRC17:26
*** jcoufal has quit IRC17:40
*** mrmartin has quit IRC17:58
*** mrmartin has joined #storyboard18:08
*** MaxV has quit IRC18:08
*** timrc-afk is now known as timrc18:54
*** MaxV has joined #storyboard18:58
*** jtomasek has joined #storyboard18:58
*** MaxV has quit IRC19:19
*** jtomasek has quit IRC19:28
*** mrmartin has quit IRC19:54
*** jedimike has quit IRC20:05
*** MaxV has joined #storyboard20:29
openstackgerritMichael Krotscheck proposed openstack-infra/storyboard: Fixed bug in working directories.  https://review.openstack.org/13719720:33
*** timrc is now known as timrc-afk20:36
*** timrc-afk is now known as timrc20:37
openstackgerritMichael Krotscheck proposed openstack-infra/storyboard: Fixed bug in working directories.  https://review.openstack.org/13719720:42
*** MaxV has quit IRC20:51
*** MaxV has joined #storyboard21:11
*** MaxV has quit IRC21:15
*** MaxV has joined #storyboard21:33
openstackgerritMichael Krotscheck proposed openstack-infra/storyboard: Plugins may now register cron workers.  https://review.openstack.org/12960921:48
*** mattfarina has quit IRC22:04
*** MaxV has quit IRC22:27
*** mattfarina has joined #storyboard22:35
*** mattfarina has quit IRC22:45
*** MaxV has joined #storyboard22:47
*** MaxV_ has joined #storyboard22:50
*** MaxV has quit IRC22:51
*** mattfarina has joined #storyboard22:53
*** mattfarina has quit IRC23:08

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