Hacker News new | comments | show | ask | jobs | submit login

"7. Do you have a spec?"

I've written succesful applications without any spec, just talking with users, writting things down myself, showing them prototypes, repeating. In some cases users are not able to produce a spec and even if the do they don't always really "know what they want", that's why prototyping is so important.

That only works if you can have short iterations and client that cooperates.

I've worked on projects that didn't have usable spec, and monthly meetings had client saying "oh, that's not what I've meant, can you redo this like that?".


Also, there are many apps/teams that don't have "clients", and a spec is not really worth writing, much less maintaining. Specs are great when you are a larger team with stakeholders who aren't part of that team, but if you're a small tech-heavy startup moving quickly, I'd consider even the presence of a spec a symptom of mismanagement.


So you did have a spec, you just did the work of producing it yourself. That's sometimes necessary for a developer to do, and for small projects it can be the best approach as well.

Oh, and users never know what they want, even when they think they do. What they know is the problems they have and the job they're trying to do or want to do. It's the job of the software designer (both spec writer and programmer if they're different) to figure out what the software has to do to give the users what they need.


In that case, you are essentially growing a spec. Probably not what Joel meant, but it does work in some situations.


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact