This postmortem was held on 2008.09.10 to discuss shortcomings in the Kilen Woods release and ways we can improve our engineering process to not repeat these mistakes.
Here are the issues with the previous postmortem that were discussed:
| Problem | Resolution |
| Merges from mdc integration branches always led to instabilities | We didn't not branch in Kilen Woods, so this was a non-issue. However, we still need to address these issues for the Lyons release. |
| We don't clearly define the scope of features, nor do we communicate changes effectively | We improved our release notes, which helped. |
| Russian testers had broken API, and did not know | Still an ongoing issue - Russian QA needs more direction in addressing core functionality issues |
| We can improve the release process; we set haphazard dates and oftentimes miss important steps | Much improved, but can still do better about setting a solid roadmap. |
| Improve testing process | Added Daniil as a unit tester, and built buildmonkey to test Mono builds to ensure on breakages. Work on automating unit tests further and expanding test coverage. Adding tests for DekiScript. |
| Server changes need to be communicated - the /@gui/ problem | Much improved the deki-cp rewrite rule change, but ran into issues with DirectoryIndex. |
| Specific problem with UI cache | N/A |
| Code cleanup/refactoring should be a consistent task | N/A |
| Problem: there's lots of //todos in the src code | N/A |
| Problem: minor features tend to be lost when it comes time to do release notes | Team did a much better job of filing bugs for features, which were automatically picked up by the release notes |
These are the bugs that were found critical and fixed after release:
| Bug# | Summary | Status | Opened By | Assigned To | Severity |
|---|---|---|---|---|---|
| Skinning: Uploading an empty logo kills php | closed | Guerric | DmitryA | minor | |
| Error uploading site's logo (not graphic files) | closed | DmitryA | Guerric | minor | |
| Unable to add external user via user management | resolved | MaxM | MaxM | major | |
| Changing a local user to remote does not pass out credentials to API | resolved | MaxM | Guerric | major | |
| "Add New Key" button does not work on adding new script page in control panel | resolved | mozhechkov | Guerric | minor | |
| Creating a single user does not create a password or send them a notification email | resolved | Guerric | Guerric | minor |
#5025 and #5023 were not critical fixes, but could potentially be problematic. The others were critical fixes, and could have been easily avoided, with proper test coverage.
Issues like
Given the number of operating systems we support, testing for all the RPMs can be a difficult process. This was a problem in Kilen Woods, as documented in this forum post. To improve this process, we are setting up on the new ESX server a snapshot of common Linux distros (Red Hat, Ubuntu, etc.) which we can quickly fire up, install Deki via RPM, and test the installation procedure. Having somebody go through the "big" new features (a list should be generated) would be immensely helpful.
Writable resources should be kept in a consistent spot - the fact that FCKeditor was writing the custom configuration into the editors folder made it an untenable solution for multi-tenants, and also required extra configuration. While most UI files store documents in /skins/common/cache, this is considered a "safe" folder to delete at any time, hence we couldn't store that information there. A long-term solution will require finding a permanent store for this folder.
Writable resources also cause problems on the MSI installs, as they may cause IIS to restart - we should be very very careful when creating new writable resources. Any changes we make should also be communicated to the packaging devs.
This will be an ongoing work item, but we should have done better about being proactive about communicating open-source versus commercial. The message was locked up among a few members; it should have been more explicitly stated to the whole dev team earlier on in the process.
While Kilen Woods was expected to be in August, an early announcement, timed with OSCON went out. The August release date was missed, as tying together the open-source and commercial editions of Deki caused the open-source version to be delayed, while the commercial edition kinks were worked out (along with all the compat issues with open-source). If we had treated the commercial developments to the application outside the scope of Kilen Woods, KW could have shipped three weeks earlier (on time). Given that the product activation was originally only supposed to be a part of the MSI, the delay in adding it to the Linux version was acceptable.
This development could not have started earlier, as the business side of things hadn't been clarified - the message was only completed hammered out after OSCON, and the technical implementation (refining exactly how commercial/open-source co-exist) took a few weeks after that (signed binaries are hard!).
Is it necessary to sync our temporary branches to SF.net? We could probably just get away with posting the primary /product/deki branch on there, which would make synchronizing a lot faster.
If there was a big failing in Kilen Woods from a product point, it was the exclusion of localized strings for the new control panel. Due to the new rewrite, it was nearly impossible to carry over the old localization keys to the new ones - hence we trashed them all. However, with 2 release candidates, we should have done a better job of reaching out to the previous translators and coordinating translations.
In the future, we will maintain a listserv for translators, giving them a heads-up on changed keys. We are also going to develop a online tool which will make translating strings much easier.
(Should we look at Ubuntu's sytem?)
Is it possible to have the buildbot post binaries, so we we can have a flag in updateWiki.sh that will pick up the nightly binaries without having to build?
Our blogging: epic fail. Now that we have shipped many features, the engineering team should make a concerted effort to write more blog posts. Ideally, we can put together quick videos to highlight features. A list of bloggable topics should be put together.
While a lot of our installation documentation remains up-to-date, they are poorly titled. We should make sure that after each release, the installation instructions are up-to-date.
In the past, we have shipped both features and bug fixes in incremental releases. This will stop being the case - incremental releases will only contain bug fixes and specifically approved refinements.
| Images 0 | ||
|---|---|---|
| No images to display in the gallery. |
Copyright © 2011 MindTouch, Inc. Powered by