[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