I had to sit down today to write how design activities have been
integrated into the Yocto Project development cycle. Once I finished
writing, I realised that this might be of interest to the community
somehow. So here it is, for posterity ;)

This is the Yocto Project development cycle for the 1.9 release:

https://wiki.yoctoproject.org/wiki/Yocto_1.9_Schedule

The 6-month period is broken down into 4 milestones. Each milestone has
planning, development, stabilisation and release phases.

The following is how design has been integrated into this process:

* M1 is the design milestone: we design new features and produce the
necessary design specifications. A high-fidelity prototype and detailed
design specification documents should exist by the cut-off date of
milestone 1. Design documents are attached to the relevant Bugzilla entry.

* M2 and M3 are implementation milestones. In the Yocto Project, design
remains very involved during the implementation phase. All patches
submitted to the Toaster mailing list that touch the web interface must be
reviewed by design and feedback provided accordingly. In this sense, we
are exactly like developers doing patch review. These reviews are critical
to achieving acceptable interface quality, and use the design documents
produced in milestone 1 as a reference. Design work in this phase also
involves filling any gaps in the design done during milestone 1, and
making any changes needed due to unforeseen issues arising during the
development work. Patches must be reviewed promptly, and any design
changes must be worked out fast so that we don't block development.

* M4: this is a kind of design stabilisation milestone. The goal is to
leave the interface in a good enough state, fit for release. That often
involves making compromises in scope (cut down things we cannot deliver at
an acceptable level of quality), while guaranteeing that new features are
still useful and usable (maybe in the future we'll be able to make them
also beautiful, but for now useful and usable is all we can aim for).

Planning for the next release takes place after the M4 cut-off date. I
also tend to use this time to run informal usability testing on the new
features, so that we have some visibility of what are the main issues and
how they could be fixed during the next release cycle. This is by no means
ideal: the mantra of usability testing is "do it early, do it often". But
given the design resources we have and the amount of work to be done, it
is better than nothing.

There  you have it: this is roughly how design has been done in the Yocto
Project over the past couple of years. If you have any questions or
comments, just ask.

Cheers,

Belén






-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to