Now to my third instalment(1,2) on this subject, which will regurgitate a lot that has been said before.
As mentioned before I have major issues with the Scrum methodology. BUT it is also the only methodology I would use! (At the moment).
Scrum and XP, which are being advocated by developers as the new messiah. But I think developers fail to see it will have a derogatory affect on themselves.
First of all: Stress: The constant status demands every morning, all the time on notes or JIRA tasks etc. The constant planning of your day and defending every minute used. Mostly due to the stand-ups.
By iterative development, you minimise the stress at the end of a major release, but introduce others.
True, for business, this means more effective developers in the short run. For managers, it is a good way of keeping oversight of how things are proceeding, and a good whip to keep people in line.
But for developers, yes you are more effective, but eventually you are also getting very stressed. The need to perform at your maximum all day every day will wear and grind your psyche. If you had a bad day, where not much was actually done on a specific task, you have to defend that the next morning, or simply lie. You can not cover the slack by concentrating a bit more for the next few days.
For the perfect A4 cubical worker, ala German, Norwegian, Japanese (anyone else I can offend by stereotyping?), then this rigid life will work well, but for more creative, individualistic, "agile" worker this can cause friction.
(Not sure I've mentioned I don't like the standing up in "standups"...)
But again, I can not see how you can not have morning stand up meetings, as the benefits outweighs the eventual stressed programmers....
Second: Pair programming.
Unless you are the A4 type programmer without a personality, I can not think any self respecting programmer would welcome pair programming? It is intrusive, violates your personal space, stops any creativity, lack of trust and is just smelly.
The benefits of sharing of code knowledge, the idea bouncing while creating classes and methods are great. The banter if personalities match can be good. And also distracting?
The smirks as girlfriend/wife sends embarrasing emails/IMs that pop up in the previews...
The concentration of working on only one specific sub task can be good for velocity. But also sometimes you are stuck and switching context, briefly or for longer periods can also help enormously. But can you with someone sitting next to you? Or just drag that awful day further by staring at the screen?
But again, the benefits outweighs the violation of the individual. But I'd much prefer a more limited pairing, shorter periods, perhaps not always sharing desks, etc.
Also forgetting/ditching all knowledge learning from previous methodologies seems quite frivolous. RUP may be tedious and over extended, but many bits can assist and enhance your project. Don't just ditch everything , because you have converted religiously to something else, something "new" and "exciting".
But again. Scrum works well, brings a lot of benefits, and I recommend it!
Comments below were made on a legacy Blog, before move to current Blog (February 2019)
For more rants by me on Scrum:
Please Note, I may no longer have these exact views any more, as these rants started more than several years ago... But many of the points are still valid.
Unless otherwise specified, all content is licensed under Creative Commons by Attribution 3.0 (CC-BY).
Externally linked images and content are not included and are licensed and copyrighted separately.