Are agile developers at a career disadvantage ?
I have let a few project teams in traditional waterfall settings, and have played the scrum master role in agile projects. One of the issues i have often run into is the question of career progression for developers in an agile team for agile projects which span multiple years. In a waterfall setting, as developers grow with knowledge and experience, many aspire, and can transition into technical lead / technical architect / technical project lead roles, where they may focus on design, mentoring the more junior folks on the team, performance, scalability, ease of maintenance and other architecture concerns, while continuing to be an integral part of the day to day project delivery.
In an agile setting, however, this progression is somewhat more difficult, as the agile process does not formally recognize these roles. While the team is collectively accountable, and self-organizing, the more senior members on the team, who have been there for some time feel that there is little to distinguish them from the more junior members in terms of roles and responsibilities. As there is no formal recognition of different team members, the senior members of the team are not motivated sometimes to do all that they can. In a team where the ability and experience of developers can vary from fresh out college to veterans with more than a decade of experience, this can be a very real problem.
Has anyone successfully addressed these kinds of issues before?
I can understand your concern, and this is a reason why in an agile transition you even get resistance from developers, although they benefit from the transition.
I would put the question in a slightly different form:
Are waterfall developers at a career disadvantage?
Agile methods are taking over and will become industry standard for the software industry, there is hardly anyone who doughts this any more. Some people even say they don't understand why it is called agile, because there is only this way to do it and the wrong way, and sooner or later everyone will do it the right way and not call it agile, but just software development. Waterfall developers will have a difficult standing. They are used to command and control in hierarchies based on age and time of experience. They are used to specialize in a specific technology or role. I think it will be hard for them to work in a team with people who are used to crossfunctional collaboration, self organization and permanent learning. In my opinion this is a career risk for waterfall developers. Better get out of it sooner than later.
A collectively accountable and self-organizing team does not necessarily consist of members with comparable experiences. Scrum expressly allows each developer to have specialisms and areas of focus.
A combination of specialisms (i.e. a cross-trained individual) generally makes for a more valuable team member. Yet very few are fully cross-trained. Since cross-skilling represents valuable team progress, perhaps progression and reward structures should reflect its importance.