Over the past few years, Ubuntu, the Linux release version led by Canonical, has seen rapid growth thanks to its excellent user experience and features. Ubuntu10.10MaverickMeerkat will be released by the end of October, soon we will see the innovations brought about by the latest Ubuntu server and desktop version. Ubuntu's achievements today are inseparable from the accurate strategic vision of CanonicalCTOMattZimmerman and the firm perseverance of the team. This is not a small feat
Over the past few years, Ubuntu, the Linux release version led by Canonical, has achieved rapid growth thanks to its excellent user experience and functions. Ubuntu 10.10 Maverick Meerkat will be released by the end of October, soon we will see the innovations brought about by the latest Ubuntu server and desktop version. Ubuntu can achieve today's achievements, it is inseparable from the precise strategic vision of Canonical CTO Matt Zimmerman and the firm perseverance of the team.
This is not a small feat. to make projects and all developers organized in an orderly manner is a grand task, and we need to coordinate the daily work on a global scale, but as Zimmerman said, they adopted appropriate methods and procedures to ensure the success of the Ubuntu project.
Ubuntu Development Team
Zimmerman's project tracking has never been interrupted and ensures close communication among team members. This is a distinctive organization. First, although Canonical has offices in multiple countries, however, most of Zimmerman's engineers did not work in these locations.
Zimmerman said: "My team has about 120 people, but less than five people have stayed in the office for a long time." He also said that he regularly communicates with Team members on an equal footing each quarter, but to really stick to it, we need patience and courage. Zimmerman did it, so he succeeded. However, Zimmerman said that it still needs some methods to stick to regular communication. For example, Zimmerman said that many of the tasks of Canonical engineers were completed through IRC, Wiki and teleconference, the Team also used open-source Gobby tools for collaborative editing and Mumble to build a voice chat room.
Zimmerman said: "Mumble is like an IRC that supports speech. You can set a group of channels where Team members can access different channels to find people to communicate with. They can freely access these channels, just like entering and leaving the room ".
Engineering organizations usually like to share ideas on whiteboards, And the Ubuntu team is no exception. Although Canonical employees and Ubuntu contributors are scattered in the field, but Zimmerman says many things are done by sharing desktops and screens, but he also admitted that no matter how advanced collaboration technology is, it cannot replace the one-to-one whiteboard communication effect.
Ubuntu Development Process
As for project overall goal management, Canonical uses its own Launchpad platform. Zimmerman said: "Launchpad provides some basic project management support and we are still developing other tools for implementation tracking ".
Zimmerman controls the Global Management blueprint of the Project. Canonical has a dedicated tool to extract data from Launchpad for reporting. The key part of Zimmerman's most visible report is the combustion chart, combustion chart is an important element of Scrum agile software development methods.
Zimmerman said: "It is essentially a line chart that shows how much work is left to do in your iteration. Suppose the project has a total of 200 tasks, draw a straight trend line from 200 to 0 according to your plan. During the project, draw a real progress trend on the chart based on the actual progress, and draw a curve at the end, this means that there is a deviation between the project and your plan. We can learn the progress of the project in real time through the combustion chart ".
Although Zimmerman uses a Scrum-style combustion chart to track project progress, he says there is no strict adherence to a specific development method.
Zimmerman pointed out that after using some elements in the Scrum method, he can report based on the team's production capacity. "We can accurately know how many tasks can be completed within a period of time to make the next prediction more accurate," he said ".
Connection between Ubuntu and Debian and the community
From the test point of view, the Ubuntu project organization has a number of tasks running concurrently. Zimmerman said that the hardware authentication test work is continuously running in the hardware lab day and night, and such tests are completely automated. In addition, the upgrade test from the old version is completely automated, and manual testing is indispensable, but this task is usually completed by the Ubuntu community. (When talking about the community, please refer to the Ubuntu article on how the open-source community works)
Ubuntu developers are not operating in a vacuum environment. They are also part of the upstream open-source ecosystem. Most upstream software patches are contributed by them, sometimes Ubuntu releases patches for vulnerabilities before the upstream.
Zimmerman said: "We release patches first in the upstream to meet our deadline requirements. Our goal is to make Delta smaller, with each release cycle, we all need to spend a lot of time on the upstream patch ".
Ubuntu is also heavily dependent on its relationship with the Debian Linux release. Zimmerman pointed out that most Ubuntu patches are accepted for Debian. As for other upstream projects, ubuntu does not have much energy to contribute to them.
Extended: comparative philosophy between Debian and Ubuntu father and child
Zimmerman said: "Our work is full of challenges. because too many projects are involved, we cannot maintain close private relationships with everyone in the open-source community, but we must be able to work together ".
Original article: How Ubuntu is Made
Author: Sean Michael Kerner