[LRUG] Development methodologies (Was: Code samples: To do or not to do)
Matthew Westcott
matthew.westcott at torchbox.com
Wed Apr 8 04:17:09 PDT 2009
On 8 Apr 2009, at 11:14, Tim Cowlishaw wrote:
> Without wanting to knock TDD, Agile, Scrum, XP, User stories or any
> of the other methodologies and strategies we use (I also use, and am
> an enthusiastic proponent of most of them), it seems to me that
> these concerns are more to do with business processes and project
> management than computer science or programming per se.
>
> I suspect that this is a result of Rails's philosophy of 'convention
> over configuration' and cheaper hardware that makes computational
> efficiency less important (as my old boss used to respond to
> problems about optimisation - 'computers are cheaper than
> developers'), but it strikes me as interesting that a large part of
> a developer's duties seem to have shifted to this sort of quasi-
> management role based around these tried-and-tested development
> methodologies and frameworks that do most of the computational heavy
> lifting for you, possibly at the expense of traditional computer-
> science knowledge and skills
Sure, Agile / XP and friends are primarily about business processes,
but I wouldn't say that they replace the need for good computer
science practices - rather, they place expectations on the development
process that are reasonable *if* you're following those practices. Not
working to a fixed up-front spec means that you have to be good at
refactoring, which means extracting patterns, encapsulation, loosely-
coupled components, effective use of the right data structures, and
knowledge of things like invariants (to be confident that your new
routine does what the old one did), all of which a comp sci background
can teach you a lot about. If you're from the copy-and-paste school of
programming, you're not going to be able to respond to change requests
in the way that Agile demands, even if you are going through the
motions of scrum meetings and pair programming.
- Matt
More information about the Chat
mailing list