Live data from Hacker News

Business Requirements are Bullshit

steve-yegge.blogspot.com

31–40 of 87 posts

Re: Business Requirements are Bullshit

#31
post #13

Earlier quoted context omitted.

Why is only building for yourself a bit too far? This seems like common sense to me. If you're not using your own product day in day out, you should be.

Because I may not be in the same line of business as my users. For example, my last start-up develops planning software for large agricultural firms. I don't happen to manage a large agricultural firm, nor am I likely to manage one in the near future. Still think I should be using my own product day in day out?

Nope, but if you can, hang out with the actual users jockeying the software as often as you can. I know that I learn something new almost every time I go out on the trading floor and have a user walk me through the software I'm writing and fixing.

Re: Business Requirements are Bullshit

#32
post #21

Hmm, I'm not convinced about the "only build what you are going to use" argument. The best example I can think of is pace-makers (or any other form of life-saving equipment). A manufacturer of these devices cannot be a user, because they'd be dead...

I'll bet that a pacemaker embedded software developer who personally knew patients with a pacemaker and hung out with them every day would be a whole lot more motivated.

Re: Business Requirements are Bullshit

#34
post #16

Earlier quoted context omitted.

I'll second that call. Formula for blog entry: 1) Pick an area that most newbies don't get (ie, requirements) 2) Blather on for a while about all the ways they are done wrong 3) Miss the point of the topic. In requirements, you list what you do, then do it. Instead confuse key terms, like "user" and "customer", or "grill" with "be immersed in" 4) Try to be funny 5) Make sweeping conclusions that are obviously incompl…

If you don't eat their sandwiches, then you'd better have a LOT of friends who eat them every day, or you're breaking the cardinal rule The point of that long winded article is don't build something unless you are going to use the product or personaly know a lot of people who will. Never ask people you don't know what they want it's stupid. Take the segway it's cool but it's clearly something people want in the abstr…

An example of the opposite as a datapoint: We've all eaten institutional food cooked by people who are following a recipe they may not particularly care a whole lot about and probably won't eat their own cooking.

Re: Business Requirements are Bullshit

#35
post #24

Earlier quoted context omitted.

"You get with them and "live their lives" and suffer with them, understanding what they must accomplish, how they must do it, and what's stopping them now. " This is a great idea, and the real way to address the problem Steve suggests: Become the business. However, the majority of your criticism of Steve is way off base, because the methods he describes are not strawmen, but the actual methods described in most of th…

...actual methods described in most of the software engineering requirements books... Thank you, Matt. You have just demonstrated my number one concern about the nature of discourse here on hacker news. The issue of "book contents" vs. real world experience. I don't know you and certainly don't mean to pick on you, but calling my criticism of Steve's article "way off base" merits this response... First a little of my…

I think that mattmcnight's point was that Yegge is criticizing an accepted definition of requirements analysis. So, edw, when you say "he doesn't respect it, probably because he doesn't know how to do it" you are a bit off base - you're referring to a practice which is different from the one matt and Yegge are talking about. But you're probably right that they aren't familiar with the kind of requirements analysis you're talking about. It also seems like you're agreeing with them when they say that "requirements analysis is bullshit" - because you think the practices they're referring to are worthless.

That said, I am very interested in the things that you know work every time. I'm sure I'm not the only one.

Re: Business Requirements are Bullshit

#36

Earlier quoted context omitted.

Because I may not be in the same line of business as my users. For example, my last start-up develops planning software for large agricultural firms. I don't happen to manage a large agricultural firm, nor am I likely to manage one in the near future. Still think I should be using my own product day in day out?

Nope, but if you can, hang out with the actual users jockeying the software as often as you can. I know that I learn something new almost every time I go out on the trading floor and have a user walk me through the software I'm writing and fixing.

Absolutely! And that was my point-- you need to understand the user's problem-space very well, and there are better ways to do this than the traditional "business requirements gathering" process, which tends to focus on the (sub-optimal) solution the users have already imagined.

Re: Business Requirements are Bullshit

#37
post #26
post #18

Earlier quoted context omitted.

"In short, do whatever it takes to find out what you need to know to develop your software. This is hard work. Hardly anyone does it now, and relatively few have ever done it. Steve Yegge certainly hasn't" For me, the point Steve makes is that the optimum is to build for yourself. The feedback loop is instant. That's where the best software gets written. When developers wake up at 3am with some idea for a feature tha…

If you're trying to write software for others, it's going to end up as mediocre and probably not entirely what they wanted. Stop for a minute and notice how absurd this statement is. 99.9% of all software ever written was for others. Was it all mediocre and "not entirely what they wanted"? This is the entire reason for systems analysis and requirements specification. You don't need to do any of this for the software…

99.9%? That's just insane. You're saying that all the games developers never play their own games?

How about people writing languages, compilers etc. You don't think they use them??

I'd say the majority of open source software is written for yourself rather than others. People contribute the most when they are using that software.

You don't have to be the only customer/user of your software, but it helps to be a customer/user of your own software. That's what I mean by writing for yourself.

Re: Business Requirements are Bullshit

#38
post #27

Over complicated business requirements are bullshit. But starting a product without researching first is a recipe for disaster, particularly if you are entering a crowded market.

Over complicated business requirements are bullshit. What if the requirements are complicated? Go ahead and develop an arbitrage system, a medical claims processing system, or a repetitive shop floor control system without "complicated enough" requirements and see how far you get.

My sense is that to someone outside the industry, such requirements would seem overly complicated.

A few years ago, I worked for a company that did patient management software (including billing). In the effort to get the product to market, they neglected documenting the requirements of the billing portion. Over time, because of the requirements of our each of customers were different (depending on what entity they billed, the rules for the billing were different), the application turned into a mess of stuff that was never well-documented (fortunately, I didn't work on the billing app). Had they done a bit business requirements gathering before building, they could have likely saved time and money by designing more flexible software.

It's also worth noting that this wasn't some big, lumbering corporation--it was a start-up.

Re: Business Requirements are Bullshit

#39
post #4

Earlier quoted context omitted.

More succinct, yes, interesting too, but I'd disagree with "better." It's like saying an apple is better than an orange.

Linus has an easier task. The hardware the kernel runs on and the software running on it act as an ironclad, rigorously defined spec. Dealing with human users is something else.

not really true. what would you say about git ? it has no kernel components, no spec (at least not that i am aware of).

Re: Business Requirements are Bullshit

#40
post #13

Earlier quoted context omitted.

Why is only building for yourself a bit too far? This seems like common sense to me. If you're not using your own product day in day out, you should be.

Because I may not be in the same line of business as my users. For example, my last start-up develops planning software for large agricultural firms. I don't happen to manage a large agricultural firm, nor am I likely to manage one in the near future. Still think I should be using my own product day in day out?

Ideally yes. Go work for one for a year, then create the software...

Of course this isn't always possible, but it's the way to better products.

Post reply on HN