It may applies to large corporation, but I don't think that for Startups it applies. We want a mix of those two ways of thinking to
1) Get some features out to gain traction/user
2) Make sure it works and that the user experience will not be negatively impacted.
We have to learn from our mistakes and also learn from what our users want. For that we need to experiment even if it means refactoring / do things differently when we need to.
It's not startups vs big corporations. It's about the constraints on your ability to iterate.
You can't iterate on hardware the same way you do on software. If you're used to building the minimum possible thing that will work, shipping that, then gradually improving it day by day you are in for a rude awakening in the hardware business. You can't improve the hardware after it is out of your hands. All you can do is release a second piece of hardware that incorporates improvements. But you must charge all your customers over again, and not all of them will upgrade, and the whole process takes a lot of time and has a lot of friction.
You also can't iterate on a public API the way you do on an app. Once other folks have dependencies pointing to your API the cat is out of the bag. It is several orders of magnitude harder to deprecate an API than to release it. This is why, while iterating on software is good in general, you really don't have the option to reinvent your platform's basic copy-and-paste API too many times. It really pays to iterate internally until you get that right.
Excellent point, and one that I think many of us forget.
Also wanted to add that reputation and trust are extremely important in the hardware business (and the retail software business). Many people can buy Apple's next thing without doing much or any research about it, and without having to wait for reviews because they trust that Apple wouldn't subject them to a piece of crap, due to their track record. This is not something that can be said about many other companies, and it's an extremely valuable asset.
It also feeds their ability to create the "Reality Distortion Field".
They have this brand image where everything is slick, tight, usable and so forth. It is "just right". To release (using Grubers example) half baked copy/paste would have appeased a few - but it wouldn't be the "Apple way".
That's not a bad thing; it doesn't make their products bad (and actually makes most products awesome!). More importantly it's their brand niche and they do it well. In fact they do it like no other.
Are you serious? If developers and startup founders really think this way we need to do something about it stat.
Having amazing user experience and products that "just work" shouldn't be something that only Apple does. The fact that you think of something being slick, tight, and usable as a brand image makes me dizzy. Shouldn't EVERYONE strive for these characteristics? I know my startup does.
Woah. I hope I didn't come across as saying that. What I meant to do was reply to the GPs specific comments about this being a big corporate thing. It's not - most big cos don't do it. In the world of big co this is an apple thing.
1) Get some features out to gain traction/user
2) Make sure it works and that the user experience will not be negatively impacted.
We have to learn from our mistakes and also learn from what our users want. For that we need to experiment even if it means refactoring / do things differently when we need to.