Technical Retrospective (Part 2)
October 3rd, 2007
Here are the items we came up with during our technical retrospective. Since this was our first agile project, there were a lot of … well … areas for improvement. I’ll go into more detail on how we plan on implementing changes based on the retrospective in future posts.
DO MORE
- Use generic names for namespaces (instead of company/project names)
- Evaluate newer technologies (2.0/3.0 framework, SQL Server 2005, VS 2005, etc.)
- Better use of Model-View-Presenter pattern
- Investigate LINQ
- Make sure stories/unit tests are driven from the UI to DB, not the DB to UI
- Load testing from the beginning
- External web server for testing
- Meet with Compliance team earlier in the process
- Spread deployment package knowledge (and all other knowledge) through the team
- Use typed collections
- Communicate/pushback with System Analysts/Product Specialists for features that are high-maintenance and difficult to maintain
- Develop proof of concepts
- UI test tool (Selenium or alternative)
- Let System Analysts know what tests can be automated
- Build DB from scratch (by scripts)
- Better definition of purposes of unit/integration/regression tests
- Designated time for refactoring
- Write tests first (we have 96% code coverage, but some tests were written after the code was written)
- Follow standard XP as baseline
- Experiment w/pair programming in ‘non-stuck’ situations
- Simplify environment setup
- Robust POST (Power On Self-Test)
- Protected/private/etc., instead of public (when possible)
- Keep development simple/clear/understandable
DO LESS
- Use company/app names in namespaces/classes
- Coding before stories exist
- Client-side scripting
- Frames
- Unit tests with external dependencies
- One-line methods (or very little code within the method)
- Custom exception class (use it, or lose it)
Categories: Agile, Development