It is time to wrap up development. Is there any value in the team working on the project for a few minutes this morning?
svn checkout https://student.cs.uni.edu/svn/810188-May10
One story is in progress but not committed: close a specialty journal.
One story remains on the board: read the system back in from disk.
Run rake test on the repository. Pass!
Run reek on the repository. 198 smells. Not too bad, really. But there is room to improve, both from reek's suggestion and beyond.
Quick review of retrospectives. Safety. Postive experiences and improvement.
What worked? Loosening constraints on pair programming.
How can we improve? Gang programming start.
What would you have us do if we had more time? User interface. Acceptance tests.
... as a whole.
My thoughts: I think it was essential that we work in a domain that pushed you out of your comfort zone.
- It is hard enough to break habits at all, let alone working on problem you already understand well -- or think you do.
- The benefits of agile approaches come in helping the team to learn and to incorporate that learning into the system.
- Not knowing the domain forced you to ask lots of questions. That's how real projects work. That's also the best way to work on any system, even ones you think you already understand.
- There is a realness to reality. Choices matter. When the user is a real person and is passionate about the product, choices matter.
How could we improve? The team had nothing much to say.
It has been interesting watching you think about a problem I know a lot about and design a system I have design, have used, and will use. I have had new thoughts about implementation: accounts/subaccounts as composites, values as debits/credits (with artithmetic behavior and money attributes).
Our discussion ranged far and wide, including release planning, software configuration management, frameworks, functional programming, and professionals learning as many skills as they can to become as powerful and adaptable as possible.
Homework. You did fine.
Grades. This is the first course I have ever taught in which not a single student asked about grades. You were all engaged in the project. You all participated well in class. We had few excursions into e-mail or Facebook on the clock.