[rspec-users] Cucumber Feature Scenario critique
sfeley at gmail.com
Fri Feb 20 23:02:10 EST 2009
On Fri, Feb 20, 2009 at 3:46 PM, James Byrne <lists at ruby-forum.com> wrote:
> As a practical matter it appears to me that the logical flow is
> Authentication/Authorization, administrative functions relating to
> record maintenance, algorithmic user applications, report generation,
> utilities, and finally loose ends. The application can be sliced so
> that all or most of these issues are dealt with within one specific
> aspect before tackling another.
> [ . . . ]
> Is this completely at odds with what I should be doing?
Well... In my opinion, yes and no. I personally have my doubts about
the 'waterfall' chain of serial projects you're talking about here.
"We will do authorization. Then we will do admin screens. Then we
will..." For one thing it's not very agile; what you learn when you
start getting requirements for reporting will surely change what you
thought was 'complete' earlier. And it seems harder to sell and keep
the client engaged because the sexy stuff, the business value the
client *cares* about, doesn't happen until somewhere in the middle.
It's my experience that the most effective projects begin early with
things you can *show.*
You can't really show off authorization. It's visible, but it doesn't
excite people. You need to have some basic stuff in for it before you
can open it up to the public, but it's not necessarily Square One, and
treating it like it is might overemphasize its importance. (And I say
this as someone who recently spent a couple of days designing a
hierarchical polymorphic authorization framework from hell
[http://tinyurl.com/d6w4t8] so don't think I'm discounting it
So I'd personally worry less about getting all your administrative
ducks in a row before you start to do anything interesting, and
instead _start_ with whatever drives the most value to your company
and then build the support framework around it only when it's needed.
You might find when you do that that you need fewer struts and pins
and guywires than you thought you did.
...But that has nothing to do with RSpec and very little to do with
BDD, except in a very general 'start with the behavior you *care*
about the most' sense. Odds aren't high that the thing you care about
the most in the application is logging in. So spec that out later and
start with something more interesting. You'll hit the ground running.
Otherwise, it all looks fine. >8->
Steve Eley (sfeley at gmail.com)
ESCAPE POD - The Science Fiction Podcast Magazine
More information about the rspec-users