Looking for a reality check: software development cycle

Hi all – about a year ago, I got hired onto a small team (me, one other developer who's been here for 9 years, two analyst/QA people, and a project manager) to work on maintenance and enhancements for a CRM package that one of their departments uses. I got hired mostly because I have a solid background in SQL, and my career as a developer goes back 30 years. I'm also still learning the ins and outs of their development framework (Blackbaud SDK for Blackbaud CRM). I'd never heard of it before I started here – it's complex, and there are still plenty of things I don't know about it, and our CRM system, yet.

Here's how they work: they get requests for enhancements from the users – usually just a couple of sentences that describe, at a high level, an improvement they want that will help them do their job better. The PM assigns the work to me or the other developer, the PM sets a deadline (we work in 4 week release cycles) and I have to make a guesstimate about how long it will take me. About a month later, they analysts start gathering requirements, and about two weeks before I'm scheduled to start working on it I get the detailed requirements. I dig into the requirements and start my work.

I've missed a bunch of deadlines over the past year, mostly because once I started digging into the requirements, the scope of the actual work was larger or more complex than my original guesstimate, and besides, they'd already set the deadline months ago, before the requirements-gathering phase started.

In the past, when I've talked to my PM about the missed deadlines, I've expressed the feeling that this way of producing software (promising deliverable dates before requirements have been gathered) is difficult, and up until recently they've always agreed that, yes, this isn't the best system, but "it's the way we do things," so this is what we get – but we understand that sometimes things take longer than expected so try not to stress too much about this, etc. And then a few days ago, I got a very formally worded email from my PM with all sorts of HR language about "this role's expectations, having to meet deadlines in a complex environment, we'll revisit in September"… etc. Obviously, missing deadlines screws up the future timeline, and the users get upset because back in April they were promised that this thing would be ready in August, and now it's June and they're being told it's been pushed to September. Missing deadlines feels crappy to me, too.

Is this a common dev lifecycle these days – delivery dates getting set before requirements have been gathered? I've been in the biz for 30+ years, worked on a variety of teams, and I've never encountered this way of doing things before. This is frustrating.

submitted by /u/ExpandingHeart
[link] [comments]

from Software Development – methodologies, techniques, and tools. Covering Agile, RUP, Waterfall + more! https://ift.tt/G0F7RZx

Leave a comment

Design a site like this with WordPress.com
Get started
search previous next tag category expand menu location phone mail time cart zoom edit close