Agile Methodolgy (Naomi Dushay and Tom Cramer, Stanford University)
The Stanford library has moved to Agile methodology for their software development over the past few years. Their presentation reported on their implementation of Blacklight using Agile. They are committed to testing their software at every turn, but it is difficult to do with many developers. Their solution is to use the Hudson software to keep track of how much of the code has been tested. If you get a bug report, you can see what hasn't been tested and start from there. Posting test coverage can work well as a "shame factor". You don't want to be the one to make the software fail.
Another problem that was identified in the development process is "too many meetings." Developers need blocks of time to code. To help give developers more free blocks of time, Stanford has instituted "developer happy hours" in which no meetings are scheduled. It has greatly helped morale. They also have monthly "dead weeks" in which all standing meetings are cancelled.
A final problem that they are addressing is competing priorities for developers' time. To help combat this, the project managers group meets monthly for iteration planning. Agile is difficult to do in a multi-project shop. Stanford has capped each developer at 2 projects per month. The iteration planning meeting produces a road map for the month--anyone can look at all the projects and see where there are dependencies. Jira is used for weekly sprints and its versioning feature helps a lot.
The Project One-Pager (Tito Sierra, MIT)
Digital projects fail for many reasons including:
- goals of the project are unclear
- there is disagreement about the goals of the project
- the requirements are unrealistic or ambiguous
- the project is inadequately staffed
- there is a lack of consensus about project goals
- the proposed schedule is unrealistic
- the scope is poorly managed or unconstrained
- project doesn't make sense on further inspection
Good planning and communication will improve resource allocation, schedule estimation and managing scope. Tito has developed a tool that helps with planning and communication. It is known as the "Project One-Pager", and it enables a shared understanding of the project before it begins. The Project One-Pager comprises six elements that are agreed to by all principles in the project. The elements are:
- Project title--a unique name to be used in all communication
- Objective statement--a concise high level summary of what the project intends to accomplish
- Requirements--a list of outcomes that must be achieved before the project is considered complete
- Out of scope--a list of outcomes that the project explicitly WILL NOT address
- Team--proposed core team roster with roles
- Schedule--a list of high-level milestones with proposed dates
The project manager drafts the initial version and then the team starts the iteration process. When all agree that each element is clearly defined, everyone signs off. Just to make sure there is no misunderstanding, they also have the dean or an appropriate dean sign off. This leads to a clearly defined scope that will not creep out of control.
The benefits of this tool are that it is simple and accessible by all, it creates useful documentation for use externally, and it can reveal fundamental problems at the start when costs are low. It is not used for managing the project throughout its life cycle, but it does offer a good starting point.