Diff for "yellow"

Not logged in - Log In / Register

Differences between revisions 18 and 81 (spanning 63 versions)
Revision 18 as of 2011-03-02 21:52:43
Size: 13842
Editor: gary
Comment:
Revision 81 as of 2012-07-23 12:16:16
Size: 9767
Editor: gary
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Slogan for public consumption: '''''Go go Yellow Jackets!''''' Slogan for public consumption: '''''Go go Golden Horde!'''''
Line 7: Line 7:
Slogan when we feel tired: '''''Go go Yellow Banana Slugs!''''' Slogan when we feel tired: '''''Go go [[http://en.wikipedia.org/wiki/File:Banana_slug_closeup.jpg|Yellow Banana Slugs]]!'''''
Line 9: Line 9:
Current project is [[LEP/BetterBugSubscriptionsAndNotifications]] .

Also see UI work at [[yellow/Subscriptions]] .

== Notes ==

 * Editing a structural subscription should allow/enable access to subscriptions of teams you administer.
 * In regards to https://wiki.canonical.com/Launchpad/Strategy/Research/BugSubsFeb2011/Round2/:
    1. We will implement (a small variation of) version 1 for now. It got a positive response, and it does not require any server-side changes, and it is similar on the UI side to what we would do for version 2, so it seems like a pretty clear next step.
    1. Version 3 (the assignee filter) we can ignore. It got mediocre response and we won't get to it. jml, would you like us to file a bug about this feature so you can track it?
    1. We might get to version 2. It got a lot of positive feedback, and we know a number of people have said they want something like that. We can cross that bridge later. See notes below on version 2.
    1. We need to get rid of the ellipses. A triangle is the right way to go. Benji has volunteered to come up with another mockup for this, for our own internal agreement.
    1. I don't think we need another UI testing iteration on version 1. If we work on version 2 later, we might or might not want to go for another UI testing; we can cross that bridge then.

  In regards to possible later work on version 2:

    1. We should consider subscribing multiple people
    1. We should try to address fear of choosing the wrong team (we don't think confirmation messages are the right approach, but we probably want something to address the concern)
    1. I have some thoughts on combining version 1 and version 2 as Matthew suggested. Again, we can cross that bridge when we get to it.

 * [[yellow/EmailNumberEstimation|Estimating number of emails for a subscription (filter)]]

== Next Deliverables ==

=== Due 2011-03-04 ===

Value to users:
 * Gary: Bug:723999

Incremental:

 * Danilo: Bug:720826 finished on staging, ready for db deployment
 * Brad, Graham: Widget will fully work with manual testing on a branch, and tests will be started.
 * Mail unsubscribe story will be done (Gary, Danilo, and Benji)

Actions
 * Gary: announce widget for direct subscription choices for malone-alpha team to launchpad-dev
 * Gary: announce "cronscripts/send-bug-notifications.py -vv"
 * Danilo will file a bug about "make jsbuild" problem
 * Benji will announce or document that request/features always works in templates, and features only sometimes works, and propose that request/features be the One True Way.

Pending actions
 * Announce Bug:164196 fix when db-devel is next deployed

=== Delivered 2011-02-25 ===

Value to users
 * Graham with assist by Gary: Bug:204980 (mute button) will be deployed to production for malone-alpha team.
   * NO: problem was bigger than we expected

Incremental deliverable
 * Danilo: Bug:720826 finished on staging, ready for db deployment
   * NO: problems
 * Matthew: User testing 2 for "unsubscribe in anger" results will be back Tuesday
   * YES: Wednesday
 * Brad and Benji: The subscription add page widget will be hooked up and working on launchpad.dev.
   * YES-ish: on a branch.
 * Benji: (also will have some progress towards Bug:674422)
   * NO: chose a different path; decided on tacking accordion widget
 * Gary with Danilo: (for "unsubscribe in anger" story)
    * bug email unsubscribe link includes filters used to send that email and person who caused the action.
      * NO: Determined that this was hard and we could get the same or better benefit by tackling something simpler.
    * bug target +subscriptions page draws empty boxes for each structural subscription (for Benji's work to fill in later).
      * YES-ish: I delivered a way to iterate over all a user's structural subscriptions in the view.

Pending deliverable
 * Huw: CSS changes for accordion widget (delivered)
   * YES
 * Huw: mockup changes for arrows on subscription add/edit page
   * NO, Benji will ping again

Actions
 * Gary: announce widget for direct subscription choices for malone-alpha team to launchpad-dev
   * NO
 * Brad: will add wiki doc on how to add JS/CSS to tree
   * YES (actually edited a blurb)
 * Gary: announce "cronscripts/send-bug-notifications.py -vv"
   * NO
 * Danilo will file a bug about "make jsbuild" problem
   * NO
 * Benji will announce or document that request/features always works in templates, and features only sometimes works, and propose that request/features be the One True Way.
   * NO

Pending actions
 * Announce Bug:164196 fix when db-devel is next deployed

Notes:
 * Graham out this week

Unpleasant surprises:
 * Bug:722626 but solved by Danilo

 * Unpleasant and unsolved: Bug:722450 Bug:723999 and the mute button bugs.

=== Delivered 2011-02-18 ===

Value to users

 * Danilo: New users default to not getting email about their own actions (Bug:718809)
 * Graham: widget for direct subscription choices is available on production for malone-alpha team. Action: Gary will announce to launchpad-dev.

Incremental Deliverable

 * Gary: Bug:164196 on staging (not yet qa'd because staging is down ATM)
 * Graham: User testing back, positive. Gary asked for more mockups; delivered, with user testing today and Monday. Delivered zero-th version on qastaging of bug +subscriptions page based on user testing (empty page)
 * Brad
    * Discussed how we will add JS/CSS to tree on LP list; will document on wiki today
    * Got new JS widget in tree;
    * Asked Huw to get started on skinning accordion widget
    * delivered ugly accordian within gary-alt on some branch we check out and click on
      * lp:~bac/launchpad/accordionoverlay
      * [[http://people.canonical.com/~bac/overlay-2.png|screenshot]]
 * Benji: teams available for widget, progress on plugging things in but not complete.
 * Danilo: bugtask index js is reduced from over 2000 lines to under 1000 lines, and files are divided by functionality (in particular, subscription code is in a separate file). This refactoring will help our subsequent efforts, gmb and danilos believe.
Current projects are [[LEP/ParallelTesting]] and [[LEP/LaunchpadSetupScripts]].
Line 125: Line 12:
=== Delivered 2011-02-11 === <<Anchor(daily-call-checklist)>>
== Daily call checklist ==
Line 127: Line 15:
Value to Users Move quickly if possible. :-)
Line 129: Line 17:
 * Graham: Demo the widget for direct subscriptions, on --(production)-- qastaging. Announcement to malone-alpha team (with warning that it might or might not change significantly soon) will be coming today.
 * Gary: Bug:548. Also Bug:713382 . Also Bug:713392. Brad will announce 548 today.
First part: Where are we right now? We move over the kanban board roughly right to left.
Line 132: Line 19:
Incremental Deliverable  * Review Done Done cards. For each card...
   * congratulate
   * ask the people if collaboration information is recorded correctly on the card.
   * ask the people who implemented it one or two questions about the implementation experience (e.g., what was the toughest part of getting this card done? how did you solve [that thing I heard about]? did something really work just as you'd hoped when you implemented this card?) Try to keep discussion to no more than a minute or two; move the card to "Weekly review" if there's more to say.
   * ask the people who implemented it if there is anything we should know about it (e.g., it changes how we do something, it unblocks some cards, etc.)
   * If it represents a problem, and in particular if it took more than 24 hours in an active lane, move the card to "Weekly review" for us to talk about on Friday.
   * Otherwise, move the card to "Archive".
 * Review cards in deployment and QA. Have any of them been in the same place for more than 24 hours? If so, problem solve (e.g., ask for details, ask if collaboration would help, and ask if anything else would help).
 * Review active and review cards in slack.
   * Have any of them been active for more than 24 hours? If so, suggest dividing them up.
   * Are any of them new? If so and pertinent, have we determined who the maintainer will be (Launchpad, yellow, or personal) and started down the proper design path?
 * Review Active cards in "Multi-branch work"
   * Have any of them been in the same lane for more than 24 hours? If so, problem solve. If the developers are stuck, consider "convening a panel"
   * Have any of them been in the same lane for more than 48 hours? If so, strongly encourage collaboration. Pull people off other active cards if necessary.
 * Review Miscellaneous Done cards. Ask for comments. Afterwards, move all to "Archive," or to "Weekly review" for discussion.
 * Review Miscellaneous Active cards. Ask for comments. If non-recurring card is sitting for longer than 24 hours, problem solve.
 * Do any non-done cards on the board have deadlines? If so, review as necessary.
 * Review all blocked cards everywhere. Are any of them unblocked? Do we need to take action to unblock any of them?
 * [experimental] Make sure that, if anyone collaborated or communicated externally (according to [[http://codesinger.blogspot.com/2012/07/yellow-squad-weekly-topics-july-6.html|our definitions]]) since the last time we talked, you "entered into the webapp" (sent an email to Gary about it).
Line 134: Line 39:
 * Brad: user testing results from Matt. Brad/Benji/Gary delivered another version for more testing. Brad showed yellow devs a YUI accordion overlay widget with a screenshot earlier this week.
 * Benji: webservice changes for structural subscription filter UI are figured out. Delivered [[/JavaScriptAPIAccessDraft|JavaScriptAPIAccessDraft]] to document.
 * Graham: Mockups for user testing #2 of "change subscriptions in anger" story
Second part: what are we going to do?
Line 138: Line 41:
Notes: Danilo out this week  * Review cards waiting to be done.
   * Do we have any critical cards?
   * How are we doing on our weekly (high) cards?
   * Does it at least look like we have cards ready to be started?
 * Circle around the team. For each person...
   * Encourage but do not require each person to mention what card they plan to work on for the next 24 hours
   * Ask the person to mention any items that everyone should know: remind people of reduced availability, request help such as code reviews or pair requests, etc.
Line 140: Line 49:
=== Delivered 2011-02-04 === === Panel requests ===
Line 142: Line 51:
Value to Users <<Anchor(unsticking-panel-checklist)>>
== Unsticking panel checklist ==
Line 144: Line 54:
 * Danilo: The "Lifecycle" implementation of event filtering for direct subscriptions now works. (Structural submissions mask the behavior. Bug:713382)
 * Gary: Event filtering (only available for the malone alpha team at this time) is now per-filter, giving more flexibility, and leading towards the UI that Brad and Benji are working on. (Event filters on structural subscriptions are not reported properly on +structural-subscriptions. Bug:713392)
 * Gary: You can delete structural subscriptions that have filters.
 * Graham: direct bug notification filtering available through the API
 * Take note of when the panel starts / set an alarm for T+20.
 * Describe problem avoiding mentioning your own (stuck) solutions and ask for solutions and approaches.
 * If that fails, describe your own solution and ask for solutions and ideas.
 * If the panel has taken longer than 20 minutes, stop. Arrange for a pair programming or consultation as necessary.
 * If no-one has said anything other than filler for three minutes, stop. Arrange for a pair programming or consultation as necessary. Consider rotation.
Line 149: Line 60:
Incremental Deliverable
Line 151: Line 61:
 * Brad: Got mockups to Matt, user testing happened, test results Monday <<Anchor(pair-programmer-observer-checklist)>>
== Pair programming observer checklist ==
Line 153: Line 64:
== Problem Solving and Hints ==  * Be actively skeptical.
 * Watch the other person's back.
 * Be a planner: actively propose plans to tackle problems
 * Offer to be a "navigator," keeping the destination in mind while the "driver" handles the details.
 * When something doesn't make sense, this is a trigger for both parties to check assumptions and step back.
Line 155: Line 70:
=== 2011-02-25 ===
Line 157: Line 71:
 * Many problems and unpleasant surprises, met few goals
 * JS is a blocker
 * Needed to communicate schedule issues with Francis
<<Anchor(weekly-review-call-checklist)>>
== Weekly review call checklist ==
Line 161: Line 74:
=== 2011-02-18 ===  * Briefly review where we are in project plan. Establish team availability. Set goals.
 * Review [[#topics-for-next-weekly-review-call|"topics for next"]], below
 * Any new tricks learned?
   * Collaboration tricks?
   * Debugging tricks?
   * Communication tricks?
   * Checklists? Processes?
 * Any nice successes?
   * Can you attribute your success to anything beyond the innate brilliance of yourself and your coworkers?
 * Any pain experienced?
   * Prompts to ask people about:
     * (benji/gary) get subcommand
   * Questions to ask:
     * Are there any cards that are/were taking too long to move?
       * Are they blocked?
       * Are we spinning our wheels?
       * How long is too long?
     * Are we not delivering value incrementally?
     * Are we not collaborating?
     * Did we duplicate any work?
     * Did we have to redo any work?
       * Did we misunderstand the technical requirements, the goal, or a process?
       * Was the ordering of tasks that we chose broken?
   * Can we learn from it?
     * Checklist?
     * Experiment?
     * Another process change?
 * Other topics
   * Weekly feedback loop for collaboration?
Line 163: Line 104:
 * Met most goals, some goals modified, some additional achievements.
 * Problem: Danilo discovered that running `make jsbuild` will not necessarily include all new files, which can be a surprise that wastes a lot of time. The work around he found is that running `make` does include everything. Brad gave some additional information that Danilo will investigate, and then Danilo will file a bug.
 * Problem: Graham noticed that, unless you are using a launchpad view, feature flags are not available in templates. Benji replied that some templates inject feature flags in namespace, but in all templates you can use request/features/ . He suggests that request/features should be the One True Documented Way because it is simple, automatic, and not overly onerous; and that in the future we should not inject feature flags in the namespace at all. Graham confirmed that request/features solved the problem.
<<Anchor(topics-for-next-weekly-review-call)>>
=== Topics for next ===
Line 167: Line 107:
=== 2011-02-11 ===
Line 169: Line 108:
 * We met all goals, yay!
 * No new problems reported.
 * Gary did not announce "cronscripts/send-bug-notifications.py -vv" though he used it a bunch.
 * Benji has [[/JavaScriptAPIAccessDraft|his new webservice page]]. He circulated it among some experts, but needs to publicize it.
 * Brad will be talking to devs about how to incorporate new JS in the tree. He will then be writing up the results.
== Writing a LEP checklist ==
 * Describe the idea to one or more people in the squad to vet and refine it.
 * Write up the LEP.
 * Get at least one person in the squad to review it, ''especially if you are tired of it'' :-) .
 * Announce the LEP for broader review.
Line 175: Line 114:
=== 2011-02-04 === <<Anchor(starting-a-project-checklist)>>
== Starting a project checklist ==
Line 177: Line 117:
 * We met some goals, yay!
 * landing problems, JS problems, windmill problems. problem-solving approaches already in play.
 * Danilo: If you want to see notifications on qastaging without having to check emails, ask losas to run this: "cronscripts/send-bug-notifications.py -vv". Action: Gary will write this up somewhere and send a note out.
 * Prototype (no tests). Consider competing prototypes.
 * Have a squad discussion about lessons learned and design decisions.
 * Review CreatingNewProjects to get everything started properly. Also see [[https://docs.google.com/a/canonical.com/document/d/1A8qTOYZd7p9dhjmlnnEKW46h38ydt9yNbmfgX3yhPGw/edit|jml's document]] for further ideas on what to add to this checklist.
 * Begin coding with TDD.
Line 181: Line 122:
=== 2011-01-28 === <<Anchor(depending-on-another-developer-or-team-checklist)>>
== Depending on another developer or team checklist--someone new or with past delivery problems ==
Line 183: Line 125:
 * Why did we not meet the goals this week?
   * Growing pains: old pre-squad work ate Benji's time; Graham agreed that growing pains affected his week as well.
   * CHR annoying: Benji and Danilo this week, Gary and Brad next week, Graham following week. Gary has already raised this to flacoste.
   * Danilo out two days this week.
   * Gary focused on getting things set up.
   * Conclusion: Don't worry about it. See how we are next week or two before we consider changes.
 * Doublecheck whether you can't do it yourself somehow, or get someone with proven cross-team delivery ability.
 * Are you depending on a person or a team? If it is a person, consider trying to escalate it to the manager, to make it a team goal, or at least something with team visibility and managerial approval and encouragement.
 * If they need something from you, ask what format they want it in in order to be able to process your request as quickly as possible.
 * A corollary to the previous one: make sure that you are making the smallest request necessary and reasonable.
 * While it is tempting, and sometimes necessary, to be flexible for interacting with busy people, if the work is worth doing, the sooner it is done, the more value you get from it. The longer you wait, the more likely it is that you will get no value from it. This is "lean" for our squad, and also for the company. Try to communicate this.
 * Request a delivery date guess. Consider requesting that a call be scheduled on that date, either for handover or for reassessment. If there is a deadline for us, also bring this to the attention of the Launchpad manager (flacoste).
 * If the delivery doesn't happen on the expected date, (on the scheduled call) ask for three things: a revised delivery date, another associated call, and a fallback plan. The fallback plan should be some reasonable remediation if the second delivery date fails. Also bring this to flacoste's attention, and discuss with him whether official escalation is appropriate.
Line 190: Line 133:
=== 2011-01-21 === jml also pointed out this checklist from Covey's ''Seven Habits...''. You need to establish these things up-front:
Line 192: Line 135:
 * Landing issues slowing us down. Solution: no short term solution identified. Ask Jono/Robert that SMM or similar be scheduled earlier.
 * JS painful; example we found was bad. Solution: Ask for early review from Deryck. Rejected solution: ask Deryck for a "blessed" example.
 * YUI upgrades are painful. Going from dot releases (e.g., 3.2 to 3.3) is a cost like switching major Python releases (e.g., 2.6 to 2.7). Solution: ask RobertCollins to be on top of YUI upgrades like Python upgrades, and to schedule upgrades with significant warning and full knowledge of the cost.
 * How do we get ongoing stakeholder guidance in an efficient way?
    * Francis suggests that we use UI testing of the full interface as a way to also get initial stakeholder approval. He feels user testing will frame the conversation productively to encourage direction of our plans rather than bikeshedding. Benji warns that users may not understand that other features they are not tested on will not be present.
    * Benji wonders (without necessarily advocating) if Elliot might say "build it and people will like it." Gary feels we've tried that before (i.e., without sufficient stakeholder approval) and failed.
    * Benji suggests that we ought to have a single stakeholder representative. Gary feels that we've seen before that this is insufficient and historically problematic.
    * We collectively wonder what Jono's approval of the UI and the definition of "done" means in this regard. Is it Jono's responsibility to be the developers' only interface to the stakeholders now?
    * We talk about whether UI mockups or prototypes or incremental deliveries would be more valuable for getting input. UI mockups are cheaper than development, but incremental deliveries are more efficient if they are on the right track. Gary feels an ideal answer is finding a cheap way of getting ''just enough'' of a stakeholder blessing of a UI, and then using incremental deliveries to steer the rest of the way. Time-boxed mockups, developed iteratively ideally, combined with iterative delivery.
    * Next task for pursuing solution: Gary needs to contact Matthew (and Jono and/or Francis?) and see how user testing might work and what we need to provide. We do not yet have all parts of the user interface mocked up. We'd like to see if we can find an approved way to do iterative user testing--several tests instead of one big one. Can we make it cheaper/easier?
 1. Desired results [spend time here, include "when"]
 2. Guidelines [what I'd call constraints]
 3. Resources available [money, team, people]
 4. Accountability [what measures, how often]
 5. Consequences [natural ones & incentives]
Line 203: Line 141:
== Thoughts for later discussion or action == We should also try to incorporate these ideas.
Line 205: Line 143:
 * I want to try keeping a velocity chart, as described in [[http://pragprog.com/titles/jrpm/manage-it|Manage It]]. The kanban's charts are not quite what I want. For each individual project (i.e., [[LEP/BetterBugSubscriptionsAndNotifications|our current project]]), track Features Left, Features Done, and Total Features over time. I'll use a Google graph. I'm adding that to the Administrivia lane of our kanban board. [GaryPoster]
 * Next feature, maybe we can try a Tuesday or Wednesday delivery date. [[http://pragprog.com/titles/jrpm/manage-it|Manage It]] specifically warns against the Friday delivery dates we have now because she says that it can encourage stress and work over the weekend. If that proves to be a problem, here's a solution. [GaryPoster]
 * Think about sprints. [GaryPoster]
<<Anchor(slack-project-checklist)>>
== Slack project checklist ==

 * The project should further Canonical in some aspect. Examples include making yourself a more valuable employee to Canonical (i.e., studying a technology that is important to the company), improving processes or tools for our squad or team, or building or improving something for another part of Canonical.
 * Consider who you expect to maintain the project.
   * Yourself: Be skeptical of this, but if so, that's fine.
   * Our squad: discuss design with squad, and/or follow the prototype -> discuss -> code pattern we have for new projects
   * Our team: make a LEP, consult with team lead (flacoste), and get acceptance from TA (lifeless) and/or any other stakeholders identified
 * Make a card for the task or tasks in the kanban board.

Yellow Squad Wiki Home

https://launchpad.net/~yellow/+mugshots

Slogan for public consumption: Go go Golden Horde!

Slogan when we feel tired: Go go Yellow Banana Slugs!

Current projects are LEP/ParallelTesting and LEP/LaunchpadSetupScripts.

Daily call checklist

Move quickly if possible. :-)

First part: Where are we right now? We move over the kanban board roughly right to left.

  • Review Done Done cards. For each card...
    • congratulate
    • ask the people if collaboration information is recorded correctly on the card.
    • ask the people who implemented it one or two questions about the implementation experience (e.g., what was the toughest part of getting this card done? how did you solve [that thing I heard about]? did something really work just as you'd hoped when you implemented this card?) Try to keep discussion to no more than a minute or two; move the card to "Weekly review" if there's more to say.
    • ask the people who implemented it if there is anything we should know about it (e.g., it changes how we do something, it unblocks some cards, etc.)
    • If it represents a problem, and in particular if it took more than 24 hours in an active lane, move the card to "Weekly review" for us to talk about on Friday.
    • Otherwise, move the card to "Archive".
  • Review cards in deployment and QA. Have any of them been in the same place for more than 24 hours? If so, problem solve (e.g., ask for details, ask if collaboration would help, and ask if anything else would help).
  • Review active and review cards in slack.
    • Have any of them been active for more than 24 hours? If so, suggest dividing them up.
    • Are any of them new? If so and pertinent, have we determined who the maintainer will be (Launchpad, yellow, or personal) and started down the proper design path?
  • Review Active cards in "Multi-branch work"
    • Have any of them been in the same lane for more than 24 hours? If so, problem solve. If the developers are stuck, consider "convening a panel"
    • Have any of them been in the same lane for more than 48 hours? If so, strongly encourage collaboration. Pull people off other active cards if necessary.
  • Review Miscellaneous Done cards. Ask for comments. Afterwards, move all to "Archive," or to "Weekly review" for discussion.
  • Review Miscellaneous Active cards. Ask for comments. If non-recurring card is sitting for longer than 24 hours, problem solve.
  • Do any non-done cards on the board have deadlines? If so, review as necessary.
  • Review all blocked cards everywhere. Are any of them unblocked? Do we need to take action to unblock any of them?
  • [experimental] Make sure that, if anyone collaborated or communicated externally (according to our definitions) since the last time we talked, you "entered into the webapp" (sent an email to Gary about it).

Second part: what are we going to do?

  • Review cards waiting to be done.
    • Do we have any critical cards?
    • How are we doing on our weekly (high) cards?
    • Does it at least look like we have cards ready to be started?
  • Circle around the team. For each person...
    • Encourage but do not require each person to mention what card they plan to work on for the next 24 hours
    • Ask the person to mention any items that everyone should know: remind people of reduced availability, request help such as code reviews or pair requests, etc.

Panel requests

Unsticking panel checklist

  • Take note of when the panel starts / set an alarm for T+20.
  • Describe problem avoiding mentioning your own (stuck) solutions and ask for solutions and approaches.
  • If that fails, describe your own solution and ask for solutions and ideas.
  • If the panel has taken longer than 20 minutes, stop. Arrange for a pair programming or consultation as necessary.
  • If no-one has said anything other than filler for three minutes, stop. Arrange for a pair programming or consultation as necessary. Consider rotation.

Pair programming observer checklist

  • Be actively skeptical.
  • Watch the other person's back.
  • Be a planner: actively propose plans to tackle problems
  • Offer to be a "navigator," keeping the destination in mind while the "driver" handles the details.
  • When something doesn't make sense, this is a trigger for both parties to check assumptions and step back.

Weekly review call checklist

  • Briefly review where we are in project plan. Establish team availability. Set goals.
  • Review "topics for next", below

  • Any new tricks learned?
    • Collaboration tricks?
    • Debugging tricks?
    • Communication tricks?
    • Checklists? Processes?
  • Any nice successes?
    • Can you attribute your success to anything beyond the innate brilliance of yourself and your coworkers?
  • Any pain experienced?
    • Prompts to ask people about:
      • (benji/gary) get subcommand
    • Questions to ask:
      • Are there any cards that are/were taking too long to move?
        • Are they blocked?
        • Are we spinning our wheels?
        • How long is too long?
      • Are we not delivering value incrementally?
      • Are we not collaborating?
      • Did we duplicate any work?
      • Did we have to redo any work?
        • Did we misunderstand the technical requirements, the goal, or a process?
        • Was the ordering of tasks that we chose broken?
    • Can we learn from it?
      • Checklist?
      • Experiment?
      • Another process change?
  • Other topics
    • Weekly feedback loop for collaboration?

Topics for next

Writing a LEP checklist

  • Describe the idea to one or more people in the squad to vet and refine it.
  • Write up the LEP.
  • Get at least one person in the squad to review it, especially if you are tired of it :-) .

  • Announce the LEP for broader review.

Starting a project checklist

  • Prototype (no tests). Consider competing prototypes.
  • Have a squad discussion about lessons learned and design decisions.
  • Review CreatingNewProjects to get everything started properly. Also see jml's document for further ideas on what to add to this checklist.

  • Begin coding with TDD.

Depending on another developer or team checklist--someone new or with past delivery problems

  • Doublecheck whether you can't do it yourself somehow, or get someone with proven cross-team delivery ability.
  • Are you depending on a person or a team? If it is a person, consider trying to escalate it to the manager, to make it a team goal, or at least something with team visibility and managerial approval and encouragement.
  • If they need something from you, ask what format they want it in in order to be able to process your request as quickly as possible.
  • A corollary to the previous one: make sure that you are making the smallest request necessary and reasonable.
  • While it is tempting, and sometimes necessary, to be flexible for interacting with busy people, if the work is worth doing, the sooner it is done, the more value you get from it. The longer you wait, the more likely it is that you will get no value from it. This is "lean" for our squad, and also for the company. Try to communicate this.
  • Request a delivery date guess. Consider requesting that a call be scheduled on that date, either for handover or for reassessment. If there is a deadline for us, also bring this to the attention of the Launchpad manager (flacoste).
  • If the delivery doesn't happen on the expected date, (on the scheduled call) ask for three things: a revised delivery date, another associated call, and a fallback plan. The fallback plan should be some reasonable remediation if the second delivery date fails. Also bring this to flacoste's attention, and discuss with him whether official escalation is appropriate.

jml also pointed out this checklist from Covey's Seven Habits.... You need to establish these things up-front:

  1. Desired results [spend time here, include "when"]
  2. Guidelines [what I'd call constraints]
  3. Resources available [money, team, people]
  4. Accountability [what measures, how often]
  5. Consequences [natural ones & incentives]

We should also try to incorporate these ideas.

Slack project checklist

  • The project should further Canonical in some aspect. Examples include making yourself a more valuable employee to Canonical (i.e., studying a technology that is important to the company), improving processes or tools for our squad or team, or building or improving something for another part of Canonical.
  • Consider who you expect to maintain the project.
    • Yourself: Be skeptical of this, but if so, that's fine.
    • Our squad: discuss design with squad, and/or follow the prototype -> discuss -> code pattern we have for new projects

    • Our team: make a LEP, consult with team lead (flacoste), and get acceptance from TA (lifeless) and/or any other stakeholders identified
  • Make a card for the task or tasks in the kanban board.

yellow (last edited 2012-07-23 12:16:16 by gary)