Scrumify Phoenix!

Categories: Development Created by Robert Lemke and ben van 't ende
TYPO3 Phoenix (aka "version five") undoubtedly is a big venture. And despite its long history, the intermediate results are hard to grasp and virtually invisible to the majority of the TYPO3 community. However, there's a good chance that this will change now: Firstly the foundational work necessary for the CMS part is almost complete. And secondly we will now extend the agile approach we've taken with FLOW3 to the Phoenix project. In essence that means: visible results and a release each month, starting only a few weeks from now.
On March 31st a part of the TYPO3 Phoenix team met in Hamburg to discuss the introduction of Scrum to the version five project. The meeting was originated by Daniel Pötzinger who had already been using this agile project management method for two and a half years in bigger projects. Scrum is a method with a holistic approach, meaning the whole scope of the project is taken in consideration and small steps are taken for small success. The Scrum method increases speed, quality and flexibility in software development or for that matter in general project/program management. But probably the most valuable part of scrumifying Phoenix is that during a sprint of four weeks a small set of features is developed until it is really complete (Scrum people say: "done done"), which means it is tested, documented, deployed – usable.
The FLOW3 project uses Scrum-like techniques for more than a year now which resulted in frequent (monthly) releases of the product. However, their implementation of Scrum wasn't really complete yet - the team was too small and taking too many roles at the same time. Consequently the introduction of the method to Phoenix means that weight will be taken of the shoulders of Karsten and Robert allowing them concentrate more on the development part. In practice there will be a few modifications we need to apply to the Scrum toolbox because our team is completely distributed (only Robert and Karsten are working in the same office) and team members are not available every day or every week. Alike we don't have a single person playing the role of the Product Owner - instead we formed a Product Owner team, initially consisting of Daniel Pötzinger, Jürgen Egeling, Jens Hoffmann and Robert Lemke. This team will manage, select and prioritize the features which are to be implemented during the next sprint. Following the agile way, these features are formulated as so called User Stories and as such passed to the developers (the Phoenix Core Team). The core team splits up each story into concrete development tasks and implements them during a sprint. Potential problems are raised during the "Daily Scrum" - a short meeting we'll hold through Skype or Webex - and filed into the "Impediment Backlog" (which is a simple issue tracker on Forge in our case) of the Scrum Master. Ben van 't Ende, who has taken this role, will smooth out these impediments so the team can concentrate on their first and foremost task - developing TYPO3 Phoenix. The whole process will be transparent to the community as we're using well established tools – for example Forge – for our communication and coordination of tasks. And at the end of each sprint we'll publish the results - not only by means of a news article but also in form of a working demo installation. Thanks to the participants of the meeting for taking their time to lift this project to the next level! Present were: Robert Lemke, Karsten Dambekalns, Daniel Pötzinger (AOE media), Andreas Förthner (netlogix media), Christopher Hlubek (networkteam), Tobias Liebig (networkteam), Ben van't Ende, Jens Hoffmann (dkd), Jürgen Egeling (punkt.de), Daniel Brün (saltation).