Cucumber features stories even more important than code

Cucumber features stories even more important than code

[caption id="attachment_911" align="alignleft" width="300" caption="Cucumber feature stories running as tests (green = pass)"]Cucumber feature stories running as tests (green = pass)[/caption] "Cucumber feature stories will outlive your code." I heard this on a Hashrocket Video with Jon Larkowski. The idea is that if you write executable feature stories (like in Cucumber) that prove the software behaves as its supposed to, those feature stories will outlive the code that implements them. That blew my mind, but it's true. The features stories for a software project belong to the software project no matter how many re-writes, refactors, platform changes, or project merges or forks it goes through.

Features tests above code

If this is true, an implication is that a great set of feature stories is more valuable than great code that runs the features. Let me go a little bit farther: writing software has more to do with writing feature stories (that are executable) than it does with writing code. Because software is getting machines to do what humans want; a test suite that proves the software behavior, regardless of how it accomplishes that behavior, is more important to a software project than the lines of code that make it go. Although without the code, nothing will work.  The code is essential.  But of even more value is the executable feature stories.

Conclusion

I would rather have software that has excellent Cucumber stories that describe the behaviour (with mediocre code) that excellent code with poor or no Cucumber stories or other integration tests.