Installation of Subversion, Maven2, and Cruisecontrol on the Continuous Integration server. We created our own Maven2 repository to contain artifacts not available in the central repository at ibiblio. Cruisecontrol was configured with a continuous integration project that builds the whole application and runs all the tests on a check-in to Subversion. We used Maven2 profiles to provide targeted deployment to the DEV and UAT servers. The DEV profile was configured as a separate Cruisecontrol project scheduled to deploy a nightly build to the DEV server to enable our customer to 'play' with functionality as it is developed in each iteration.
Installed and configured the following tools, frameworks and applications on the DEV and UAT servers and the developer workstations:
Customised Maven2's site.xml to publish the FIT and Selenium tests on the Maven2 reports page on the project Web site.
Completed some introductory training on collaboration and Agile teams, and Agile software development. More will follow on-the-job through coaching.
Completed a chartering session (more about this in a later post) where the team, including our customer, created a guiding vision statement for the project, defined futurespective success criteria, noted assumptions and constraints, identified the project community and agreed working practices.
Produced an initial product backlog with our customer. This product backlog comprises a goal roadmap identifying the high-level goals for the next 6 months (corresponding to 6 releases, 1 every 4 weeks). Each high-level goal was broken down into 4 sub-goals corresponding to potential iteration goals (weâre using 1-week iterations).
Completed a release planning game for the first release. We took the high-level goal for the first release and broke the 4 sub-goals into user stories, grouping the story cards according to the sub-goals. Our customer prioritised each grouping by business value. Using planning poker [pdf], the team provided coarse estimates in ideal pair days. Since the team had not worked together before we did not have an empirical velocity. To use only as a starting point, the team decided on a calculated velocity of half the number of pair days in the release (based on the assumption that one ideal pair day equalled one elapsed day). Using these estimates and the velocity, our customer and the team agreed on a final set of user stories for the release that would deliver the release goal.
Set up our planning boards to show the goal roadmap, and the current release and iteration plans. (I'll describe our planning board in more detail in a later post)
We haven't got our bullpen yet but Iâve obtained permission to reogranise the workspace subject to cost. We're in a rented office space and something as simple as constructing a bullpen costs silly money, so weâre waiting on the quote from the landlord. If we get the go-ahead we'll need rectangular desks (the office is furbished with those curvy desks) to make the layout easier and more efficient, and to make pair programming more comfortable.