Highly-Paid Developers As ScrumMasters?
An anonymous reader writes 'At my company, our mis-implementation of Agile includes the employment of some of our most highly-paid, principal engineers as ScrumMasters. This has effectively resulted in a loss of those engineering functions as these engineers now dedicate their time to ScrumMastery. Furthermore, the ScrumMasters either cannot or do not separate their roles as Team Leads with those of ScrumMastery and — worse — seem to be completely unaware that this poor implementation of Agile development is harmful to our velocity. To date, I have chalked this up to poor leadership, a general lack of understanding of Agile, and an inability to change from traditional roles left over from the waterfall development mode. In addition, I have contended that, for a given Scrum Team, the role of ScrumMaster should be filled by someone of lower impact, such as an intern brought in specifically for that purpose. But I would like to put the questions to Slashdotters as to whether they have seen these same transitional difficulties, what the results have been at their respective companies, or whether they just plain disagree with my assertion that principal engineers should not be relegated to the roles of ScrumMasters.'
Do without all the agile scrum diddle doo, and you'll be just fine.
you seem to be wasting your time with implementing a particular coding methodology,
instead of doing actual useful coding.
Goddamn wankfest of a post.
Everyone does it wrong. Every single place that I've worked has done it differently and failed similarly. Agile + Scrum + Ruby seems to be an epic combination of fail.
Could we please get some explanatory links in here? This reads like a mix between a corporate nightmare ("harmful to our velocity"? SERIOUSLY?) and the rantings of an MMORPG nerd ("I was a level 72 ScrumMaster specced for Agility, but then they nerfed that and our Team Leads couldn't afford the new +5 leadership crafts, so we completely tanked at the Waterfalls of Development, even though we hired N00Bs as cannon fodder!").
Jargon, people! And don't chastise me for not RTFA - there is no FA to read!
-- Language is a virus from outer space.
I wish I could try this scrum in a safe environment, I need some sort of ScrumVM.
A scrum master is not a manager. He's only mean to organise a handful of meetings and deal with impediments. These should not take any significant time.
Seriously, somebody add some wiki-links to the story posted here... Those of us that code for a living as contractors / corporate drones have little to no idea what the fuck you are talking about.
Guessing by context, I'd say that having your best coders become code-overlords who don't actually write code anymore is a bad idea.
Finding someone with people skills and management experience and appointing them as co-director of a project, with an uber-coder as his fellow co-director, is the way to go. Let the management guy handle HR and BS from the higher ups, and let the uber-coder handle developing the junior coders and explaining shit to the management guy. Just pay them the same.
"harmful to our velocity"
WTF is that supposed to mean? You're losing money, and you wish to lose money more rapidly? Or, you're not coding fast enough?
Sounds like one of those buzzwords. Did you buy that from the vendor, as well?
"Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
"Our mis-implementation of Agile includes.." ..is a pretty good idea for a ThinkGeek t-shirt.
For all the players putting their arms around eachother and kicking everyone else in the shins. At least that sounds like what the poster was talking about.
"Proximity to wonder has blunted our perception and appreciation of it" --Tim Hartnell in 'Exploring ARTIFICIAL INTELLI
"...seem to be completely unaware that this poor implementation of Agile development is harmful to our velocity"
Oh, for fucks sake...
I'll say this once:
Chop the little pointy horns of hair growing out of the side of your head, and get the fuck back to writing code, you stupid monkey.
funniest tag on a post ever
It immediately cuts the time these developers can spend doing actual project work - something they grouse about constantly. On the other hand, we also have an army of young first- or second-year analysts, all of whom embrace our governance, and generally perform the project administration side of things far better than their more-experienced colleagues.
On the other other hand, I have noticed that the younger consultants lack the project experience to plan creatively and come up with ways to make the process work for them. They would if they could, while the older ones can but couldn't be asked. I fear that over time the negative attitude towards governance that lingers from the older generation will infect the new guys.
Our company recruits annually, and is always running a number of internal projects. What I advocate is that the new consultants spend a while running small internal initiatives during part of their time, and then spend their second year as the administrators on client projects, before being able to "earn" not having to worry so much about all the extra overhead that comes with that sort of thing. It might also help with retaining experienced staff.
If you work on an agile dev team, this post uses every day language. (yeah, velocity is not an unusual word when referring to backlog burndown rate :D) If you're just an enthusiast or work in IT, this post is crazy off the wall nuts.
:)
At any rate, to respond to the post:
The best method of handling who is the scrum master I have encountered is by not giving the job to one single person. A rotation every 4 sprints seems to work well (we do 2 week sprints), as it spreads the load of scrum master around and it keeps us from getting into a rut when doing sprint planning and retrospectives, as a different person is running it every 2 months. You're right that giving your strongest developer the task of scrum master is asking to have your strongest developer not code as much, but if you have your intern running scrum, you may find that lack of understanding of prioritization will impact your velocity quite a lot more than giving extra work to your lead.
One additional thing to note is how efficient you are in scrum master tasks... if you're hand writing stickies to put on the scrum board, you're probably wasting time. Any half decent script monkey should be able to write a script to parse your backlog and generate stickies for you.
In my opinion, Agile is a great tool for managers, not developers.
Every manager in the end wants to ask for status reports every day.
But they can't do so, because people working for them will be upset.
Agile is an excellent way for Managers to ask for status reports
everyday.
In my opinion, TDD (test driven developement) is the only good thing
about Agile.
Here is Scott Adams about Agile.
http://www.globalnerdy.com/2007/11/28/dilbert-on-extreme-and-agile-programming/
http://www.flickr.com/photos/cote/63914774/
What the fuck is a ScrumMaster? What the fuck is this person asking? Seriously, how did this get in my RSS reader?
Well done, you've just managed to be even more confusing than the original article.
Seems to me there are a few issues here:
If your company is "doing it right" you can raise these issues in the retrospective and hope they get picked up. If they're not doing or respecting retrospectives then they're doing it wrong, and all bets are off.
No matter how you want to spin this, or wrap it up with neologisms, it's the same old stuff, with the same old problems and (it seems) the same old organisation - just with different names. In the end you (or your team / scrum call it what you will) still has ti turn out a product. Those who help get the praise, those who hinder get the promotions :-(
Just like every development methodology before it - and no doubt, the ones to come - if you have talented people, they'll get the work done. If you have indolent people, no techniques: agile or not, will help you. Stop worrying about scrums, roles and all that malarkey - get on with the job of developing your product.
Everyone in a company has problems to overcome. How you deal with them is the olny measure of your worth.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
I conclude that the top people should be the scrum masters, because if you bring in someone inexperienced to be a scrum master (i.e. a project manager), all your projects will go to pot.
I agree that a scrum master should have experience of project work, but he doesn't necessarily need to be a top developer. Also, a scrum master isn't technically just another name for a project manager. A scrum master doesn't make decisions; he's basically someone who makes sure that the team doesn't have to waste their time on unnecessary problems ("impediments") and that the whole thing doesn't break down into chaos.
Can't do your testing because of some network problem? Or you aren't exactly sure about a detail of the requirements? Bring that up in the scrum meeting and the scrum master should solve your problem so you don't have to interrupt your work because the scrum master will run the errand for you.
Did a meeting break down into an argument between two team members about an implementation detail? It's the scrum master's job to intervene and get the issue solved between the two rather than needlessly waste everyone's time in the meeting.
Got a design issue and you have to decide which approach to take? That's not up for the scrum master to decide. The decision should be made by team concensus, or if they don't have the expertise to decide, get help from an actual manager or expert from outside of the team (architect, or what you have).
I would recommend seriously reconsidering whether getting a better pipeline of events and allowing work to stretch past 'daily scrums' would be better.
I don't know exactly what you mean to say, but I think you've misunderstood something. A daily scrum is more of a status meeting. It doesn't mean that you have to switch tasks as a result of each meeting, though it would be good to have tasks divided into small enough chunks that you can usually complete them within a day or two.
I had to do deeper background research just to read the article and have it make any sense.
My flash impression was that Agile and Scrum were products of some sort and I was also a bit confused by the name as I have no real knowledge of rugby and never had any familiarity with the term before now. Some googling led me to some references that explained a lot of things but left more questions... "pigs"? Why? "Because their bacon is on the line!" What the hell?! "Bacon" meaning what? Their asses? Why can't people simply say what they mean? Are they so bored with their language that they have to play such games? Learn a foreign language for god's sake! Stop twisting and convoluting a standard and common language to the point that outsiders can't know what is being discussed. A little slang here and there can be forgiven as context typically lends and hand in assisting people to understand what is meant. But slang upon slang mixed with highly regional sports terminology? I suspect if American football terms were used instead, it would be perfectly understandable for people like me, but to the rest of the world would be just as meaningless and confusing.
The process itself is confusing as it departs from natural hierarchical management structures that have existed throughout the history of animal behavior and asserts the notion of a team sport, which is well known for its danger and potential for injury. I'm beginning to see why more modern software is buggier than older software. With so much focus on "completion" over careful engineering, a lot of details get missed along the way. I wonder if the people who support these methods would feel okay if their next car was patched together using bailing wire and duct tape?
Dagnabit, all I needed was "will implement in the cloud" for Bingo.
The truth is that all men having power ought to be mistrusted. James Madison
Forget all about agile, forget all about scrum and forget all about management. The only places where I have seen some good code actually being written are the places where there were no 'process', there were no 'evangelists' and it was absolutely normal for managers and devs to swap roles in who is managing who - naturally.
No process will improve on a (welcomed) shout across the room and reply coming back in 5 seconds.
A problem is defined by the difference between the way things are and they way you want them to be. You have not adequately defined the problem, or problems, here. This seems to be common among "Agile development" aficionados, and particularly in the case of SCRUM (which accepts as a given that the requirements are not complete before starting on the project).
The two things that usually help straighten out this type of mess: First, a business-case justification for the project. This means that if the project is not useful it isn't implemented. Need to learn how to make a good business case for a project and/or a solution? A good place to start is the book, "businessThink" by Marcum, Smith and Khalsa http://www.amazon.com/businessThink-Rules-Getting-Right%C2%96Now-Matter/dp/0471219932 .
The second is as complete a list of FUNCTIONAL requirements as possible. And remember, each functional requirement is subject to the same case analysis as the whole project. (Re-read "businessThink".)
I get a sense from your post that you are not in a position to initiate any action, and your role is to criticize and whine. Don't. If you can adequately describe the difference between the way things are and the way they ought to be, then someone with authority will listen to you.
Good luck.
"The mind works quicker than you think!"
Did it impact your speed or direction?
Meanwhile all the other members of his side of the scrum, try surreptitiously to beat up the other team - under cover of the "scrum", without the referee noticing. It's a very physical, bruising way of achieving possession, but an art form to get right.
On agile programming, it's roughly the same - except there's no ball and no referee - and there aren't really teams - everyone's looking out for themselves.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
It's like Dungeons and Dragons. Follow the rules too rigidly and you're so busy rolling dice that nobody has any fun.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
My boss, one of the best developers on my team, now has about 1/4 to 1/8 of the time he used to have to write code. I've found that I've had to step it up and take charge of a lot more work (which has been a great growing experience for me) since he's going to meetings every 30 min. to an hour.
All I can say is that some people seriously need to read The Mythical Man Month.
On a somewhat of a side note, I think too many institutions (college or trade) simply don't effectively teach (or don't teach at all) industry best practices such as:
-source control - every project you do in school should have to use source control
-build scripts - rather than turning in a binary, graders should checkout your code from your source control and be able to build and/or run it in one step
-bug fixing - project deadlines should be in phases where you are given a certain number of times you can have your program reviewed by others (TA's or other students) and bugs submitted against your, or your team's, bug database
-team work - once you get past the weeder courses a lot more work should be team work. If you are having your students use source control and a bug database, the graders and professor can easily see who did what and what the dynamics of the team were (if any). I'd say you could even go further (if it logistically made sense) and tell students to use an email system for the class for communication with their team about the project. Then these emails could be part of the grade since they are being graded on teamwork. Plus, having teams would mean projects could be bigger and more rewarding (ie: fulfilling to see run)
-documentation - for team projects, provide a wiki for each team to document what they are doing and communicate
Universities or trade schools are doing their graduates a disservice by sending them into the real worlds without experience in these areas.
Faith is a willingness to accept something w/o complete proof and to act on it. Reason allows you to correct that faith.
I've lead scrum projects for a few years (actually introduced the technique to a few). It is a great tool but hardly is a silver bullet. Over time, there are tweaks needed to meet organization style and needs--including the kinds of products, release standards, regulatory environment. If you try to use as-is I think you'll find issues and ultimately fail.
I think scrum has some very nice characteristics (not necessarily unique to scrum):
- Lessons developer stress by allowing them to focus. You define the work for a sprint up-front and the developer knows their stories and can attack them as necessary. Everyone knows the stories and tasks (they are in your face..either in a tool, on a white board, stickies on the wall, whatever) and can trade or help as needed.
- Helps drive results of working software. With the sprint concept, the team is expected to demonstrate the work product each cycle (3-5 weeks). This doesn't have to be software but you have to be able to show something specific. I think this helps eliminate the month long development grinds only to find nothing works right when integrated.
- Gets the developers talking. The stand-up meeting (what is done yesterday, what is planned for today, what help is need) is very valuable to get the developers interacting. Very easy for software people to sit for long periods banging out code and banging their head against the wall. The daily meeting helps to uncover duplicate effort, solutions to problems, and allow an opportunity for senior developer to recognize where people are struggling.
Just remember: scrum isn't an excuse to code first, design later or ignore gathering detailed and real requirements (a story isn't enough).
I love the sound of distortion in the morning -- webcommando
I'd point out the successful projects on my CV, and then point out that they were all accomplished using common sense - not some bullshit laden methodology of the week. My "methodogy" if you can call it that? KISS.
Hey Guys I've been working on a software company that uses Agile Methodologies for software development for more than 8 years now. And let me tell you something about Agile and Scrum, for those that didn't get the full grasp of the concepts: Agile is a software development methodology that focus on iterations to rapidly getting working software, over process, tools and extensively comprehensive documentation, and also focus on the end users feedback during the software development iterations of the working software, to respond much faster, and within budget, to changes. This is a very short description of the Agile Manifesto that you can find on the web. The benefits of the Agile Methodology is not for manager to keep track of the coders productivity and control team or individual KPIs, but to focus on what it's important: to get working software that responds to the market/business or end users real needs. So instead of having a full and comprehensive 200 pages requirement's document at the beginning of the project, and take 1y and a half to deliver the first running version, you get a smaller and lighter version of the overall requirements, and present smaller working demos of the software every 2 weeks or 3 weeks, giving the change of the end users and the business itself provide their feedback, allowing to change the application in the next iterations, and with new requirements that usually didn't match the 200 page requirements document of the beginning of the project afterall. Regarding Scrum, Agile Software Development Methodologies is much more than just a 10 to 15 minutes scrum of the ongoing work. Scrum should be a very short status meeting to address how to overcome technical difficulties from the current iteration, and not just present a "how the project is going" report to managers. The Scrum Master is not necessarily a manager, but usually, due to it's experience, can also be a team leader. But it's main role in a Scrum is to drive the scrum, and focuses it to what's really important for that iteration to guarantee that all developers are aligned an on scheduled for the working (demo) software version. Usually, in the scrum, the Scrum Master shouldn't care if the developer has been coding fast or not, but he needs to provide immediate decisions or action items to address any presented problem. And even though this is definitely all about programming, adopting Agile Methodologies must be wide spread throughout at least the team using the methodology, but in the end, for the entire company R&D. In this blog there's also more information on the basic steps that a company should take to adopt the Agile Methodology, a concrete approach for Enterprise Rich Web Applications Using Agile Web Methodologies. In the end, the team or company, doesn't necessary needs to adopt all sets or rules and guidelines of the Agile Methodology. Like the methodology it self, it can be an iterative and ongoing process. Cheers
Scrum master = Project manager!!!!!
Scrum master is a fancy word for project manager! If people start realizing this you wouldnâ(TM)t have the shit that the poster mentioned going on. Who in their right mind would make their technical lead or an intern a project manager...
GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?
Here's the Google Techtalk, for those like me who have no idea of what Scrum is...
Scrum et al on Youtube
http://www.youtube.com/watch?v=IyNPeTn8fpo
Cheers,
Like the entire discussion isn't flamebait. Moderator, I challenge you to enter into a discussion with me regarding the management of software development teams, and Agile methodologies. Obviously you are not aware that the first practice of nearly every agile methodology is assembling a competent team. Agile methods specifically reject the notion that you can take random people and assemble a team to develop software efficiency. The person who submitted the original discussion topic doesn't show many signs of being an appropriate member of an agile team. I'd fire him, first.
If you mod me down, I shall become more powerful than you could possibly imagine.
I'm not exactly feeling a lot of love for scrum and agile in these comments. Agile was created to manage change in large software projects. So if you don't use agile methods, what do you use on large projects - some kind of waterfall process? Prince2? Good old "sit down and start coding"? How does that work for you? What is the bug rate? What percentage of these projects actually make it into production?
Also, when did the slashdot crowd become so aggressively ignorant, hostile to new ideas?
My Karma: ran over your Dogma
StrawberryFrog