Search code examples
agilemethodologydevelopment-process

Development methodologies for immature teams


While studying a software methodologies, I often see disclaimers along the lines of "This methodology requires a mature development team."

Which development methodologies are specifically geared towards immature development teams? I'd assume this is where most teams should start.

Let's define an immature team as a team whose members haven't worked together before, are working in an unknown environment (i.e. new company), and who haven't defined their processes and controls yet.


Solution

  • My $0.02

    It is not really the case that any methodologies are specifically geared towards immature development teams per se. However if there is a characteristic of a methodology that would be beneficial for inexperienced developers it would be "well defined process".

    The reason for the disclaimer ("requires a mature development team"), and this is nearly always applied to Agile methodologies, is that they require discipline and experience (which can only be gained from working on projects and learning from mistakes) to choose the right steps and make the right choices. Mature (read: experienced) developers know when it is safe (and not safe) to cut corners that inexperienced developers might do recklessly at every turn anyway. Also experienced developers have better intuitions and make better first choices, and know how to refactor designs and code properly when required.

    To recast a famous quote from Bjarne Stroustrup into matching methodologies to (in)experienced teams, you might get: "Unleash an experienced team on a methodology that allows great flexibility and they might well shot themselves in the foot, unleash an inexperienced team on the same methodology and they'll probably blow their leg off". (Apologies to Bjarne, and anyone offended by the thought of leg injuries:)