KarmicEucalyptusRetrospective

Revision 3 as of 2009-11-25 09:48:39

Clear message

Summary

During UDS-L in Dallas we took 2 hours to do a retrospective of how Eucalyptus packaging went during the 9.10 cycle. The moderator(s) recommended several actions to improve the process going forward, this specification tracks those recommendations to make sure they are implemented during the Lucid development cycle.

Release Note

Several actions were taken in order to improve the development process between Eucalyptus upstream and the Ubuntu Server team.

Rationale

During the karmic development cycle, several issues led to a very difficult situation on the Eucalyptus packaging project. This led to a retrospective analysis between the Eucalyptus and Ubuntu Server team during the UDS-L in Dallas, which in turn resulted in several recommendations from the session moderator. This spec ensures that those recommendations are taken into account for the Lucid development cycle, by tracking the implementation of all those actions.

User stories

As an Ubuntu Server team member (or Eucalyptus upstream member), I want to undertake specific actions to make sure future cycles will go smoothly. I implement those recommendations, and it results in a smoother development cycle for Lucid.

As an Ubuntu platform manager, I want to make sure that we learn from our past difficulties with 9.10 and that everything is done to prevent such issues in the future. I asked for a retrospective and recommendations, we implement them, and I feel confident that we'll not repeat the past mistakes.

Assumptions

Eucalyptus upstream team should be willing to accept the recommendations from this Retrospective analysis and adapt their internal workflow accordingly.

Design

What went well

  • Actual release occurred
  • Product actually works
  • Kept good relationships in spite of pressures
  • Face-to-face sprints (~6)
  • Tool set and infrastructure (Launchpad, Bazaar)
  • Upstart integration

What went wrong

  • Lack of bug triage
  • Lack of engineers to do dev, testing, QA
  • Engineer burnout
  • Lack of schedule slip escalation to management
  • Unrealistic schedule optimism
  • Even simple bugs not addressed
  • Lack of overall view of status of project
  • Lack of HW in the project team to do testing
  • Level of build quality from Eucalyptus was not sufficient for integration into Ubuntu
  • Lack of clear communication of level of quality of Eucalyptus build
  • Scope of overall project was not well understood
  • Scope of project was not defined and changes to scope were not communicated to project engineers
  • Design of project was not communicated to Canonical engineers
  • Two communication channels were set up, but project engineers were not included
  • Key Canonical engineer had information that was not shared with others
  • Amount of refactoring by Eucalyptus contributed to lower level of quality of builds
  • Deadline for code drop put extra pressure on Eucalyptus to deliver the build with the quality level that it had on that date
  • Eucalyptus deliverable (blob of jar files) did not match Canonical's development requirements

Recommendations

  • Management must communicate the scope of next project to fellow managers and engineers in a commonly accessible area
  • Engineering teams should get information from their own managers instead of getting it from the partner's executives
  • Must have an open development environment instead of a closed one between Eucalyptus and Canonical
  • Eucalyptus should provide code to Canonical as a private PPA
  • Provide sufficient development resources, including development, QA and HW
  • Provide sufficient QA plan and do it early
  • Identify all required resources as part of the project plan
  • Encourage face-to-face sprints
  • Understand partner's preferred form of interrupt-driven communication and adjust accordingly. Eucalyptus engineers did not like using IRC.

Implementation

Test/Demo Plan

tbd.

Unresolved issues

BoF agenda and discussion

Agenda

We'd like to do a look at how the Eucalyptus packaging and collaboration worked in the Karmic cycle with an eye to highlighting what worked and observing what didn't so we can adapt and further improve in the Lucid cycle. To do that, we should take a look at:

  • A Karmic timeline
  • What worked
  • What didn't
  • Actions for Lucid

If you were a part of the Karmic UEC and Eucalyptus work, we'd like to hear from you!


CategorySpec