top | item 7968960

Ask HN: how to work faster when building a product?

7 points| notastartup | 11 years ago

I am building a SaaS product and basically I find a lot of time going back and forth the website, the backend, javascript, and so on.

Even stuff that I thought was completely built and satisfied with ends up changing as I change other bits of the equation.

The most frustrating part is when I can't figure out the wording on a website, or playing with icons that ends up eating up a lot of time (but I gotta have it perfect)

Is this normal or are some people just able to do one thing once, and move on and never come back to it?

12 comments

order
[+] martinnormark|11 years ago|reply
Perfection is a trap during the early stage of a product. Get it out there, in hands of paying customers!

Perfection is the enemy of execution.

Honestly, how proud would perfect icons make you if your product didn't resonate with anyone, and you didn't get any customers within the first month? 2 months? 3 months?

Remember that you can improve week after week after week, once you've launched and you get feedback that indicates what customers want. Then you can improve the right things, which is very important.

[+] stevekemp|11 years ago|reply
I keep hearing this, and used to subscribe to the view too. But recently I released a site and the feedback was universal - "Your site looks amateurish and I'd never trust you with payment credentials".

So now I've "relaunched" with a basic bootstrap theme. The praise and feedback has been universal. And yet I personally think I now have a site which looks exactly like every other ..

In conclusion my recent experience tells me that users want both functionality and prettiness - and so in the future I know I'll be in the same situation and I will spend hours and hours and hours juggling where I lay my text, and what theme to choose.

[+] wldcordeiro|11 years ago|reply
I was listening to a podcast by Sean McCabe and he talks about this, he says that the way he got around his perfectionism was to shoot for "90%" rather than perfect.
[+] ankit84|11 years ago|reply
time required to build 90% use-cases = time required for fix rest 10% corner use-cases.

I have spent plenty of hours to improve that last mile of 10%. Later realized shipping first 80/90% and then fix 10% based on feedback.

[+] dukekarthik|11 years ago|reply
In my opinion, this is not a problem. Tinkering with small things is tough but it is the way to go. This tells that you care not only about the big functionality but also small nitty-gritty stuff that makes big difference at the end.

One suggestion that I can give is to give undivided focus to any particular task (say icons) and not worry about time until you get it right. Mind you, you may revisit and change it again.

In case of a doubt, push it to A/B testing.

So, keep calm and carry on :)

[+] josephschmoe|11 years ago|reply
You might want to change your iteration times.

Try the following:

1. Define a set of tasks well enough that someone else could do them without asking many questions.

2. Then, execute a single task without changing it, even if you change your mind midway through.

A "task" is equivalent to an hour or two of work.

When it's all done, do this process again for new features/changes.

This is good for the following reasons:

1. Separate out the thinking/analysis phase and the coding phase. This forces you to think things through before implementing them.

2. Modifying something is usually easier once it's already done. Also, you'll likely make few or no redundant modifications.

3. It makes you more aware of the time cost activities have, since you're splitting them up into several hour chunks instead of hundreds of unorganized several minute actions. You can better manage and prioritize 1-5 tasks rather than "whatever comes up".

This is very similar to Scrum, but for an individual developer.

[+] notastartup|11 years ago|reply
What happens if you get stuck on a task? Should you keep at it until its fixed or should you skip it and work on other tasks?

This is what happens: Fix bug. Something I am lacking understanding of. Ask Stackoverflow, wait for answer, question gets closed for being vague. Go to IRC, ask around, no one is answering. Rage hard. Look at bug again, very small detail I overlooked.

Whenever I get to a time sink bug, I find it completely drains me of my energy. I have a hard time moving on to the next bug because I am very bothered by leaving a loose end.

[+] vitalyny|11 years ago|reply
It's ok. Just make sure you plan your changes and stick to the plan: it's too easy to fall in a trap of uncontrolled perfectionism.

Plan features for the next 1-2 weeks and complete them. Then plan for the next 1-2 weeks etc.

Only do things that are important and should be done immediately, ignore all the rest (like important, but can wait; etc).

[+] YousefED|11 years ago|reply
Imo, the fact you're asking this already indicates you're spending too much time on the details (making it "perfect"). Accept that no software project is ever finished or "perfect", you're always going to have ideas on what to improve.

Tip on writing website copy: take your laptop to a different location than where you work (I find a new environment helps creativity for writing), read a few blogs on how to write website copy, and then just finish v1 of the text. Helped me a lot.

[+] bogomil|11 years ago|reply
I can recommend you to check http://usersnap.com - you can get a feedback from your peers on everything and you don't have to be alone in that task. SAAS is all about the community right?
[+] tkinom|11 years ago|reply
I have long todo list. Every morning - I looks thru the top 10 and move 3-5 items to the top. When the top list is < 2, I review the list again.
[+] josephschmoe|11 years ago|reply
Architecture. The whole point of it is to make it so you can change things in isolation in different layers.