In my "
The More You Know" post, I mentioned learning agile methodologies and test-driven development. Today I stumbled upon Jeffrey's post entitled "
Advocating Agile in a CMM or MSF shop" and said "wow...that's me". I'd like to share a little bit of my experience thus far.
Beginning this year, my department was told that if we can't show we are profitable, or the potential to be profitable, changes will be made...Given that, my "Mr. Fix-it" personality came out and began investigating the idea of becoming Agile. It seemed like, and still does, a good fit as, in the past, our biggest downfall has been under-estimating projects. We'd propose (read, promise) software at $50,000 and, in reality, it would be a $150,000 project. When higher management hears that, magnifying glasses come out and faces get more red than the general ledger.
The tune around work hasn't changed much since the beginning of the year. Projects are creeping out of scope and the books aren't turning green anytime soon. We're still bidding and proposing projects in a waterfall-like style overall, though some have taken a more Agile approach based on some customers having limited budgets. In those cases, we've taken what they've asked for and show them what we believe, given our current knowledge, what each feature will cost allowing them to see the whole picture and make informed decisions about what they can afford not to have. We've even had one customer confront us and ask "have you ever considered an Agile methodology?"; I/we still don't know if someone knew a hypeword and was just throwing it out or if they were serious. Given what I know about the project, I say it's 90% likely they were serious.
When you get down to it, the whole situation stinks, honestly. I've mentioned to my manager that, if we're serious about this, I'm not the one to implement it as I clearly don't know anywhere near enough to do it and do it right - even though I'd honestly love to... My fear is that, while we can justify - at a minimum, argue - the cost of getting mentored in an Agile methodology, only that "team" will be involved and not the whole department. Granted, this may be a good and, sadly, realistic approach, my real fear is that the knowledge won't get transferred and we'll just as ready go whitewater rafting all too soon. I personally believe immersion is the way to go. Open the flood gates and soak it all in. But I realize that can be a very impractical approach since I can't see any manager signing off on offlining an entire department for a week, or two.
I really feel like at I'm at one of the largest crossroads of my professional life. In front of me, I can stay - physically, mentally, professionally - where I am and just "settle" for being mediocre, realize that it will happen when it's right, and continue down the failing waterfall. I could also go right, embrace my new found faith in Agility, push until they give or I push out. It's at that point that I find another place to belong and try the same thing, since I have no knowledge of an Agile company in my area.
The last option is going at it on my own...and considering how young, relatively inexperienced, and spread-thin I am right now, doesn't seem to be a realistic option. On top of that, I'm really emotionally attached to my current digs...well, at least the people and projects.
Needless to say, something's got to change. And I won't settle for mediocrity.