[rspec-users] Cucumber Feature Scenario critique
sfeley at gmail.com
Mon Feb 23 12:44:39 EST 2009
On Mon, Feb 23, 2009 at 10:57 AM, Andrew Premdas <apremdas at gmail.com> wrote:
> The focus has to first be about getting your customer really
> into producing features with you. If you achieve that then what should
> happen is
> 1. You and your custoimer meet often and work (rather than just talk)
> together and produce features
> 2. Your customer prioritizes the features
> 3. You give your developers the features and say implement this
> 4. When the features pass the customer reviews things
To be fair, sometimes it isn't all that cut-and-dry. This is
especially true for smaller projects or smaller organizations. What
follows isn't a hypothetical example, it's my truth:
I'm the technology director for a non-profit academic society. My
organization has 15 employees. I'm the one who knows anything at all
about computers. When I came on, I delegated *to myself* the
responsibility of getting rid of our current excremental Web site,
which is built on a lot of bad Microsoft ASP code and over 20 Access
databases (I kid you not), and replacing it with something I could
tolerate. To me that means Rails or Merb. I also decided that the
features we offer should be totally reexamined, and we should make a
site useful enough that our members come back frequently to support
their academic work. And I decided that if we're going to do this, we
should do it *right.* We should release it as open source and make it
good enough that other societies can use it.
My evangelism has spurred others in the organization into getting
excited too, and building up a proposal that they're now pitching to
raise some grant money for this. (BTW, if anyone here knows of
organizations that support non-profit software projects, I'd love to
hear about it.) With that grant money I'm hoping to get some interns
or co-ops or contractors to help me build this, because it's an
economic reality that they won't hire another programmer. In the
meantime, it's just me.
What this means is that for all current software projects in my
organization, I am:
1.) The customer.
2.) The project manager.
3.) The developer.
Oh, and that's on top of all my other responsibilities, like keeping
the office network running, maintaining the current horrible Web site,
writing quick-and-dirty Access queries, or deciding how we're going to
handle videoconferencing between widely separated non-technical
committee members. I put up with all that crap in order to make time
for the stuff that excites me.
There's nobody else. My boss cares about what I'm building, but not
at a feature level appropriate for Cucumber. He wants to know "Yes,
we're going to let people post their papers online." "Yes, we're
going to have discussion forums." "No, we're not going to use SQL
Server and I don't care if somebody before me already paid to license
it. No. Really, no." And most of all: "Yes, I believe what we're
doing will enhance our value to our members, and increase enrollment
and improve our revenue, therefore justifying the budget increase I
just asked for."
I need to document that and help establish my business case, but not
with Cucumber. Cucumber features could be supporting documentation,
but nobody wants to help me develop them. I came up with this project
and I am driving the features. There's no way I'm going to get
anybody else "really into producing the features with me," as you put
it, because as they see it that's my job.
I still use Cucumber, however. Not to help me communicate with my
boss, but to keep things straight in my own head. And later, if I get
the money I need and this *does* become a team project, having the
head start on good structured development will make it easier.
...So that's my reality. Cucumber for collaboration isn't the value
for me. I suspect that there are a *lot* of companies out there with
one-person IT departments that may fit into my situation, and
certainly a whole ton of personal projects where there was never any
money or 'business case' in the first place. In those cases,
communicating features to "the customer" is just talking to oneself.
It may still have value, but it isn't about teamwork.
Anybody else in a situation like this?
Steve Eley (sfeley at gmail.com)
ESCAPE POD - The Science Fiction Podcast Magazine
More information about the rspec-users