I spent two days earlier this week in the company of a group of highly experienced software architects. As you may be aware, software architects are a special breed of people. They’re the people who enjoy worrying about the fundamental technical design of a software system. They try to identify, in advance:
- The best partitioning of the overall system into inter-connected parts (“divide and conquer“);
- The approach to the design that will preserve the right amount of flexibility for future evolution of the system (“design for change: expect the unexpected“);
- The technical decisions that will have the biggest impact on the lifetime success of the system (“finding the biggest bang per buck“);
- The aspects of the design that will become the hardest to change (and which, therefore, are the most urgent to get right);
- The software development processes that will be the most sacrosanct in the creation of the system (the processes that even the best software engineers will be obliged to follow).
People who get these decisions right are among the most valuable members of the entire project team.
The software architects that I met over these two days were employees from eight of the initial board member companies of the Symbian Foundation. This group of architects has been meeting roughly once a month, for around the last six months, to carry out preparatory work ahead of the formal launch of the Symbian Foundation. The grouping goes by the name “Architecture and software collaboration working group”. Because that’s a bit of a mouthful, it’s usually abbreviated to ASW WG.
It’s not the only such working group. For example, there’s also the FRR WG (looking at Feature, Roadmap and Releases), the FOL WG (Foundation Operational Launch), the FG WG (Foundation Governance), and the IMC WG (Interim Marketing & Communications). In each case, the working group consists of personnel from the initial board member companies, who meet regularly (face-to-face or on a conference call) to progress and review projects.
Several of these working groups will transition into ongoing “councils” when the Symbian Foundation is launched. For example, the ASW WG will transition into the Architecture Council. The Symbian Foundation councils are being formed with the purpose to support the foundation community and grow the competitiveness of the Symbian platform by:
- Identifying high-level market, user and technical requirements;
- Soliciting contributions that address those requirements;
- Coordinating community contributions into regular platform releases;
- Providing transparency for all community members regarding future platform developments.
The four main councils can be summarised as follows:
- The Feature and Roadmap Council invites proposals for contributions from the community and seeks to coordinate new contributions into a unified platform (or tools) roadmap;
- The Architecture Council invites and reviews technical solutions for new contributions in order to ensure the architectural integrity, backward compatibility and fitness-for-purpose of enhancements to the platform;
- The User Interface Council invites and reviews descriptions of new user interface elements and develops guidelines to help ensure high quality device user experiences;
- The Release Council coordinates the integration of contributions into stable and timely platform and tools releases.
As I said, I attended this week’s meeting of the ASW WG. Personnel from eight of the initial board member companies were present. It was evident that some of the architects were already on very familiar terms with each other – they’ve worked together on previous Symbian projects over the years. Other participants spoke less often, and seemed to be newer to the group – but when they did speak up, their contribution was equally pertinent.
The meeting had a full agenda. About half of the time was devoted to collectively reviewing (and in some cases reworking) documents that are to be published on the Symbian Foundation web infrastructure around the time of the launch of the organisation. These documents included:
- The operating charter for the Architecture Council
- Foundation device software structuring principles
- Template and Example for Technical Solution Descriptions
- Foundation Device Compatibility Verification Process
- Reference Execution Environment Selection Process
- Recommended practice in the use of the software collaboration tools chosen by the Symbian Foundation – including the SCM (Mercurial) and Issue Tracking (Bugzilla) tools.
The rest of the meeting involved:
- A discussion of the XML metadata files which are to be maintained (by package owners) for each component in the whole system
- A review of progress of the project to create the infrastructure and web services which will be accessed by foundation members and by the general public following the launch of the foundation
- A discussion of the principles for identifying and supporting package owners.
From time to time, the gathering briefly bordered on the surreal. For example, it was debated whether packages should most accurately be described as “collections of collections of packages” instead of “collections of packages”. And there was a serious discussion of whether “vendor supported environment” should gain a hyphen, to become “vendor-supported environment”. But this kind of intense scrutiny is what you’d expect from the highly analytic individuals in attendance – especially when you realise that it’s the desire of these architects to communicate their design ideas as clearly and unambiguously as possible.
(I say all this from the standpoint of someone who had “Software Architect” as the job title on my business cards for several years in the early 1990s.)
Indeed, there was a lot of good-natured ribbing between the attendees. The remark “You might hate me for suggesting this, but…” was interrupted by the rejoinder, “Don’t worry, I already hate you”, followed by laughter.
The meeting became particularly animated, near the end, during the review of the project to create the Symbian Foundation web infrastructure. It became clear to the working group members that the documents they had long debated and refined would soon become published to a much, much wider audience. All the months of careful preparation will culminate in what is anticipated to be a flurry of interest from Symbian Foundation members in the proposals and votes that will take place at the first meetings of the councils:
- Although there will be at most 12 voting members on any of these councils, the agendas and supporting documents will be made visible to all Symbian Foundation members in advance of council meetings;
- These members will be able to make their own opinions known through channels such as mailing lists;
- Over time, the members who repeatedly raise the most insightful comments and suggestions about the business of a council will be invited to formally join that council (and will gain voting rights).