The Story of Some Constraints
While we were talking about User Story 4.1: Triggering the Login Mechanism, someone suggested that the login should pop up in a separate window. Lowell's eyes filled with fear, and he quickly scribbled down User Story 4.2: No Pop-Up Windows.
The system will not pop up a window that could be interpreted as a pop-up ad. |
Constraint |
User Story 4.2: No Pop-Up Windows |
This is an interesting story because this function cannot be implemented by a direct action. Rather, it is a constraint that must be obeyed, and thus it cannot be directly estimated.
Another such constraint is shown in User Story 4.3: Username as E-mail Address. The previous system had generated a unique username for each new user. Users were having trouble remembering these names. So Lowell decided that the user's e-mail address was a good, unique username. This has become common at other sites.
The username should be an e-mail address. |
Constraint |
User Story 4.3: Username as E-mail Address |
The constraint in User Story 4.4: Porting Constraint came about because Lowell wanted to preserve a migration path from Windows NT to Linux. In the previous system, we had been using ASP on Windows NT. But Lowell was beginning to think that a Linux server might be better. There were no immediate plans for porting, but Lowell didn't want to prevent the port either. So, Lowell decided that we should not make it hard to port to Linux. Programmers can interpret something such as this in several ways. We could ignore it and wait until it became an actual story, and then we could estimate the effort. Or we could use this bit of information to choose between what might be seen as equal implementation choices. In fact, active content for the site could be provided by ASP or Java Server Pages (JSP) and Java Servlets. Given this information, we decided to use JSP and Java Servlets for the member area of the site. We wouldn't change everything right away, but we also wouldn't add any more ASP.
Do not make it harder to port to Linux. |
Constraint |
User Story 4.4: Porting Constraint |
Words of the Customer
Customer Picks the Operating System?
One of the aims of XP is to have the technical team make the technical decisions and the business team make the business decisions. The choice of operating system (OS) would seem to be one for the technical team to make. In this case the tasks required to support the Windows NT server were becoming a drain on our resources and delaying progress on other projects. We have UNIX and Linux skills on staff, so the move to Linux has business value.
implementation choices. In fact, active content for the site could be provided by ASP or Java Server Pages (JSP) and Java Servlets. Given this information, we decided to use JSP and Java Servlets for the member area of the site. We wouldn't change everything right away, but we also wouldn't add any more ASP.