Systec Engineering Pty Ltd
PO Box 556, Dianella WA 6059
Planned-Agile Development with TDD and Peer Review addresses the tension between planned estimates, project budgets and the reality of day-to-day software development. This seminar focusses on the core software developer tasks that revolve around:
and includes discussion of applicable principles of object-oriented design (OOD), design and enterprise patterns, and programming idioms.
Test-Driven Development (TDD). Peer Review.
TDD implies writing the tests first then the code to satisfy each failing test. During initial coding and to rectify bugs found during integration and in-production, the developer must first write a failing test to replicate the error condition before fixing the code to remediate the fault.
The coded and derived deliverables are the input to and expected outcomes of the peer review process:
Design Reviews are informal design sessions that allow others to suggest, comment on and review the detailed design of the unit or component with the focus on the interface contract. Code inspections are formal code review sessions that allow another developer to read and comment on the coded implementation and corresponding unit tests.
The seminar includes a Case Study and Tutorial:
Business case for the problem to be solved. User requirements to demonstrate requirements process. Initial architecture, software analysis and use cases. TDD of one component.
Dr Berinson has presented conference papers at ASWEC 2005 in Brisbane and ASWEC 2006 in Sydney where he spoke about project issues in a case study on software process maturity. Much of his time consulting in software architecture, project and change management involves team building, transformational management and strategic leadership.
The intention is to gain a wider audience and to gain some peer feedback for this common-sense approach to software teams. You may recognise some ideas from Boehm and Turner, Balancing Agility and Discipline.
Systec IT and Daniel Berinson acknowledge the direct contribution of his friends and colleagues Akiko Masuya, Geoff Glasson and Malcolm Cifuentes towards the preparation of this seminar and for ongoing discussions about software engineering.