Now, I'm a Java Dev looking for new contracts at the moment and invariably theres a whole pile of agency ads out there that list things like "Agile", "XP", "Pair programming" and "SCRUM" right alongside actual technical requirements like, oh I dont know, Java!
I do actually agree with most of the core ideas behind Agile, things like continuous integration, high test coverage, TDD (in non-exploratory/prototyping cases) and always having a working system by the end of each section of work.
However does it really need all these airy-fairy terms like Scrum Master (ie Project Manager), Bullpen (ie, that bit of floorspace over there) and Sprint (well I dont what else you'd call a section of work but I know I can't run, let alone sprint, for a whole two weeks!). Sometimes seems like a lot of "making up stupid unrelated names for things that are actually pretty simple to make it sound like you've got some new idea that nobody else could have possibly thought of before".
While I've never worked in a strict Agile environment before I have worked with teams that pretty much take the best/most useful bits of Agile and then, you won't believe this ... get on with the work (without the need to pass some speaking-stick around before they can talk about what they're doing/having trouble with).
What do people that do work in strict XP/SCUM offices find some pleasing about it?
One last bugbear thats just got to me is the whole "pair programming" thing. One agency job advert actually says the candidate will need to pass a pair programming exercise. What in the world is that??? How is Agile's Pair Programming any different to any normal developer going over to a college's desk and them sitting as a pair for 10min/30min/1hr/4hrs/8hrs/a whole week until together they solve a difficult problem? I've never worked anywhere that stipulated problems need to be solved on your own. Its fairly basic human nature and I'm pretty sure the concept of "two heads are better than one" has been round for a few thousand years longer than fancy pants Agile!
*Groan* I've even just read the opening line of Wikipedia's entry on Pair Programming; "The person typing is called the driver. The person reviewing the code is called the observer (or navigator)" ... why, why, why? How about "The guy what is typing" and "The guy what isn't". K.I.S.S.
I do actually agree with most of the core ideas behind Agile, things like continuous integration, high test coverage, TDD (in non-exploratory/prototyping cases) and always having a working system by the end of each section of work.
However does it really need all these airy-fairy terms like Scrum Master (ie Project Manager), Bullpen (ie, that bit of floorspace over there) and Sprint (well I dont what else you'd call a section of work but I know I can't run, let alone sprint, for a whole two weeks!). Sometimes seems like a lot of "making up stupid unrelated names for things that are actually pretty simple to make it sound like you've got some new idea that nobody else could have possibly thought of before".
While I've never worked in a strict Agile environment before I have worked with teams that pretty much take the best/most useful bits of Agile and then, you won't believe this ... get on with the work (without the need to pass some speaking-stick around before they can talk about what they're doing/having trouble with).
What do people that do work in strict XP/SCUM offices find some pleasing about it?
One last bugbear thats just got to me is the whole "pair programming" thing. One agency job advert actually says the candidate will need to pass a pair programming exercise. What in the world is that??? How is Agile's Pair Programming any different to any normal developer going over to a college's desk and them sitting as a pair for 10min/30min/1hr/4hrs/8hrs/a whole week until together they solve a difficult problem? I've never worked anywhere that stipulated problems need to be solved on your own. Its fairly basic human nature and I'm pretty sure the concept of "two heads are better than one" has been round for a few thousand years longer than fancy pants Agile!
*Groan* I've even just read the opening line of Wikipedia's entry on Pair Programming; "The person typing is called the driver. The person reviewing the code is called the observer (or navigator)" ... why, why, why? How about "The guy what is typing" and "The guy what isn't". K.I.S.S.

Comment