Agile Software Development
Автор: Alistair Cockburn /
CHAPTER 6. The Crystal Methodologies Shaping the Crystal Family
-
Часть 5
-
The purpose of this category is to construct a culture of "kill bugs here! "
Every server and servlet class will have a set of automated regression unit tests, written by programmer for his/her own code, using JUnit and HttpUnit, or equivalent. Programmers only release code to integration test when the tests have passed the scrutiny of a peer developer. the integration tester therefore get the code, the test cases, and a note from another programmer saying she/he will vouch for the quality of the tests.
The server contains a loopback mechanism so that the integration testers can maintain their own, controlled test database (which other people can use).
There will be a small, pidgin language that can be used by business people to construct sample business transactions and name an expected response. This little language allows integration testers, business owners, and the servlet writers to construct a test scenario and add it to the test database.
Screen-click statistics from the call center are posted in a visible place so that everyone can see where the public is having difficulties, whether navigation difficulties or programming defects
5. A community, aligned in conversation
The purpose of this catgory is to indicate the long-term target toward which the company is aiming.
Eventually, the programmers, user interface designers, testers, business owners, marketers, and so on, should sit in cross-functional teams to maximize the effect of conversation around delivering initiatives across specialty boundaries, and to minimize the effect of rumoring about others specialties. This will have to be balanced with staffing levels and growing space needs.
Reflection on Crystal Orange / Web
Two things strike me about about this methodology.
The first is the reduced role of process and work products in expressing the methodology. They are present, but occupy only a fragment of the space usually devoted to them.
The second is the general absence of concurrent development, which is one of my favorite development speed-up techniques. Concurrent development is missing because of the bottlenecks in the system.
The programmers had an enormous work backlog, no spare capacity, and were being constantly interrupted. The people were quite inexperienced in both developing software and in the business domain. These two points together meant that the programmers were not able to do overlapped development and hold the requirements in an oral culture. They needed stickiness in the information, which meant having specs written down for them.
With time, this should change, and as it does, I hope they will reduce the paperwork and increase the conversation. In the meantime, they need the paper.
Six Months Later
I present this methodology as it was constructed as the starter methodology. We would expect to see some drift over time, both as people thought up new ways of working, and as they drifted away from the high-discipline practices.
Michael Jordaan, CEO of eBucks. com, made these comments about the group's work habits six months later: "Obviously, when you left some disciplines survived while others did not stand the test. The survivors include the forthighly heartbeat with carefully planned cutoff times, which allows for developers and business owners to plan, testers to test rigorously and customers to be informed upfront of scheduled upgrades.
We discussed a three week heartbeat, but this was considered too long. More complex issues than can be solved in two weeks are run at twice the heartbeat (four weeks), but we still encourage incremental rollouts. The post-heartbeat meeting is strictly enforced and it has become one of the few times that I get to speak to the entire team. I have made quite a point of paying tribute to those involved in succesful upgrades. Hopefully this public recognition is motivating.
-
Навигация [ Часть 5. Глава 27. ]
Закладки
Using the planning game in this way, the sponsors can…
While writing, reading, typing, or talking, we pick up traces…
Types of Methodologies Rechtin (1997) categorizes methodologies…
The chart shows the state of the user stories being…
Crystal Clear is the most tolerant, low-ceremony small-team…
It follows that on the Theory Building View, for the primary…
1. Project name, job of person interviewed (the interviewee…
Games are not just for children, although children also…
The complete discussion about when and where to apply…
The third problem is absence of feedback from the downstream…
Accepting program modifications demanded by changing external…
The group of 17 quickly agreed on those value choices.…
Walk around your place of work. Notice · The convection currents…
We see an example of needing these normalizing rituals in the…
That it is people who design software is terribly obvious.…
Figure 4-1. Elements of a methodology. Roles. Who you…
Agility implies maneuverability, a characteristic that…