The first run of the approved feature process for Fedora project has nearly run its course. Almost all of the features listed at the Fedora 8 Feature List page are at 100% complete and the primary goal now is to polish the release for GA. There are a fair number of great things to look forward to in F8.
I think the new process has been moderately successful and the first of many iterative steps in the right direction. It is good to have a solid feature list and detailed feature pages that are current going into the last test release–maybe a first for a Fedora release.
There seemed to be a range of expectations as to how well this process would work and what my role as feature wrangler (a self-assigned title) would be. Some thought the process would be more Fedora bureaucracy and meetings while others suggested I would be the whipmaster holding people to deadlines.
With the updated project structure put forth by Max and the Board I was asked to lead the feature process reporting to FESCo. FESCO voted on the approval of features and other feature related decisions leaving me to focus on triage and organization. To the disappointment of many, there were no special feature meetings except when a FESCo meeting was primarily consumed with feature discussions.
The original sentiment was that Fedora had to start sticking to more disciplined schedules and that one way to this was not to let incomplete features drag out the GA date. The funny part to me though, is that some of the same people just as readily say, “hey, it is Fedora, it is okay if we slip.”
The original idea was that if your feature was not done by feature freeze, it was out–end of story. Because Fedora would release on a more predictable schedule, missed features could get simply be added to the next release. This was part of the approved process, but when only four features were complete at feature freeze, the policy was suddenly considered too restrictive and quesitons arose within FESCo as to how we determined whether a feature was done enough to be included. After reviewing each feature in detail FESCo voted to determine which features should stay and which ones needed to wait for a later Fedora release. After a little persistence chasing the feature owners down to update their pages I think overall the process was a success.
Things that worked well
- using the wiki to track everything–it was very manual, but just about the right amount of ROI considering the process is new and we are still getting the kinks out of it. I don’t think we are anywhere close to needing a specialized application to manage the process.
- wiki categories for classifying Proposed and Approved features–fortunately they did not crash the wiki this thim
- a current summary page showing all the features and their status
- tracking percentage of completion to see how far a long a feature was–some people liked this others thought it was too subjective
Areas that need improvement
- clearer better criteria for exactly what a feature is–considering that anyone can commit new code and packages to Fedora what is unique about a feature?
- discipline to hold to deadlines like Feature freeze–why are we adding a major new version of NetworkManager a month and a half after feature freeze? In theory, holding to a tighter Feature Freeze deadline would free up people to focus more on quality and polish of the release instead of trying to get last minute things working
- better incentives to encourage people to put forth new features
- a better way to remind or encourage feature owners to keep their feature pages current