[rspec-users] Cucumber Feature Scenario critique
apremdas at gmail.com
Mon Feb 23 20:28:07 EST 2009
It appears that James situation is similar to yours which is very different
to what I assumed. I've written a response (rant) about addressing his
problems in that context. Personally I still think that you have to start
with fundamental customer produced features. As you and James are on your
own you can meet your customer whenever you want, and you can produce one
stupidly simple feature at a time. And for me that is cut and dry. As a
customer write a feature now, then as a developer implement it. Do one a
day, make them so simple that you can do one a day. By the time you've got
your funding you'll have made a real good start.
If you put your project on Github you never know you might find come other
people who can do one feature a day. You don't have to have funding and
grants to write open source.
I see Cucumber and BDD as fundamental tools improving the collobaration
between customers and developers. That doesn't change just because your
playing both roles. However their effectivness will be dramatically reduced
if you don't actually play both roles!
2009/2/23 Stephen Eley <sfeley at gmail.com>
> On Mon, Feb 23, 2009 at 10:57 AM, Andrew Premdas <apremdas at gmail.com>
> > 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?
> Have Fun,
> Steve Eley (sfeley at gmail.com)
> ESCAPE POD - The Science Fiction Podcast Magazine
> rspec-users mailing list
> rspec-users at rubyforge.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rspec-users