|
One assumes that a polished look and feel means all features are in place and bug free!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
If everyone thinks like you then you'll never see "Shipping it bug free"
|
|
|
|
|
I think you can have a polished look and fee without having all of the features in place and without being bug free.
I've been working with WPF for the past couple of years and here's my example of look and feel vs features and bugs. When we first released the internal application I'm working on we had a mix of standard WPF controls and Infragistics' WPF controls. There were some areas where we just didn't have the background, button and highlight colors matching between them. There were also some areas where the flow of the application just wasn't natural (things were on separate tabs that should probably have been on the same tab etc) That's all look and feel stuff.
I'm not saying we were bug free, but we did have all of the features worked in, and most of the bugs worked out for the release. After that we fixed any bugs that were reported, then cleaned up the look and feel to make the app look "Polished". We could have gone the other way and made the application look really nice for the release, but it would have required leaving features out, leaving bugs in, or pushing the date back.
|
|
|
|
|
Polished look and feel does not mean polished code. So I have the feeling your are not assuming correctly.
You can have a great look and feel, with an application that looks well thought, easy to use and understand. Yet, some features may not be available and some menus or buttons will be disabled. And it could crash occasionnally (or frequently).
Bugs and missing features may not even be an issue for some apps, if they are still useful in the end in spite of the issues. That would probably not be the majority of the cases, but it is sometimes true.
In the end, I could not answer this poll because it depends so much about what the program is about. What is important varies a lot, and all 4 answers may be the best one depending on the product.
|
|
|
|
|
Not at all. An app can look fantastic with the UI gleaming and shiny, but it can run like a dog, crash continually and have half the features end in a dead end.
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
Chris Maunder wrote: have half the features end in a dead end
In which case it does not have a polished feel. IMHO a polished look and feel encompasses the entire app, not just the shiny bits that go whizzzzz.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
OK, so remove the "dead end" part of my comment.
An app does not have to be feature complete to be polished. Saying as much is akin to saying practically every app you use is unpolished, since almost every app in existence can have, and probably will get, new features.
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
There is a huge difference between new features and features that have been specified and not completed. AFAICT no application is ever completed till it is dead, bloody users always want something more!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Exactly.
However: do you agree there an app can be polished yet not feature complete?
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
Nope, but only b/c I an irritating bugger.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Self awareness is a virtue.
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
On the app, the client and the type of contract.
In most cases, you can get away with 1 month of delay if it is to incorporate critical features/demands that were omitted from the original proposition or to polish it enough to be usable (a rushed application might do more harm than good).
There's no such thing as a "bug-free" app. Best to have a really usable prototype with the most important functionality and without the kind of time-consuming bugs that can hamper further development. I would also suggest having some decent instrumentation: it's very important to have logs showing how some things are used and what types of error occur, and this is not something you can fix retroactively.
modified 6-Apr-21 21:01pm.
|
|
|
|
|
I agree that it depends on the kind of the project and contracts.
In general, people who use "systems" want all features, even if some of them crashes and then must open the application again (considering they don't lose all their data).
For games it is exactly the opposite. I really prefer a never stopping game with less features than a game full of features that keeps crashing.
So, my real opinion is:
For systems, it is to be on time and have all the needed functionalities.
For games, it is to be bug free and have a great look and feel.
Do you want to create a new programming language?
Do you want to know how to create a virtual machine?
Are at least interested on how they work?
So, see my article: POLAR
|
|
|
|
|
I chose bug free even though we all know it is impossible to have an app that is bug free and the reality is that we all end up releasing something that has a few minor known bugs.
On Time - If it has a few glaring bugs, it's not finished so even if you ship it "On Time" I still consider it late because the reality is you are still working on that release after your "shipped" it.
All Planned Features - I'd rather ship and receive a piece of software short a few features than one that is buggy. If the software is buggy I'm unlikely to want to continue using it.
Polished - Polish can go a long way to making an app feel better to the average user. Just look at Apple's success. For the most part they aren't doing anything all that amazing, but their products are polished (especially the hardware). That being said, if you polish a turd, you're still holding a turd.
|
|
|
|
|
|
not each and every piece of code can be bug free, but should have to be stable release ....
|
|
|
|
|
Delivering in time and with all the main features is the core to me.
Some bugs are usually acceptable on the the first release as long as they're not critical.
Customers like punctuality and delivery.
Although they exist, I never worked on a project that didn't care about the delivery time.
Time-to-market is very important and can completly ruin the whole project chances of success if shipped one month later.
The trouble with this is to be able to elect the "main features" and don't want to have everything done.
Another important point is to define critical and non critical bugs.
So my 3 rules of thumb are:
1. Don't change what is already done. Leave that to the next version.
2. Do what's important first. Don't loose time with less important things.
3. Give severity points to bugs. Don't fix lower severity while higher exist.
I must admit I don't always follow these strictly but I try to keep them in mind.
Cheers!
Alex
modified 14-Nov-11 19:02pm.
|
|
|
|
|
All things considered, delivering the goods on time is, perhaps, the single most important requirement in any serious (software) project.
You may delay the delivery date once, maybe twice if your product is really unique, but if “delay” becomes your middle name, the client will seek for an alternative elsewhere.
Sure, the product won’t be perfect (it will ship with annoying bugs and the user interface will somehow look hideous to some of its users), but at least most of it works as expected and the client may proceed with its own agenda.
Then, under lower pressure, you have time to fix some of the bugs, brush-up the looks and feel and delight the client with extra-unexpected-features he didn’t know he needed.
|
|
|
|
|
you really want to say all of the above.
however, in the business world what really matters is introducing a product inside a target window that best maximizes the purchasing ability and pattern for your customer. there is a reason why you see products released only at certain times of the year.
bugs can fixed, new features can be done in subsequent releases and as the product continues with it's life span you can improve its look and appeal.
as if the facebook, twitter and message boards weren't enough - blogged
|
|
|
|
|
It is always my goal to provide bug free code regardless. Experience and good coding practices can mitigate a good number of them. V&V should bear out most of the oops and huhs.
So for me it was important to have all the planned features working, if the customer/client is not getting what they ask for then the goal of the project has not been met.
It was broke, so I fixed it.
|
|
|
|
|
S Houghtelin wrote: So for me it was important to have all the planned features working, if the
customer/client is not getting what they ask for then the goal of the project
has not been met.
What happened at the design phase?? How does one decide to ship an application that is not what was asked for??
Peter Wasser
|
|
|
|
|
|
As a manager, if you give me buggy and unmaintainable code on time, the chances are I will not give you more work. If you tell me a couple weeks before the deadline, you need more time to ensure less buggy code and more maintainable code, I will give you more work.
I have a guy who always is on time or delivers early, but his code is buggy. I have another guy who is usually a little late, but his code is rock solid. The buggy code is in QA too long and the deployment date always slips. The rock solid code, passes through QA with little delay and the deployment is never delayed.
I want the rock solid guy, you would not last with me.
|
|
|
|
|
Message Removed
modified 16-Nov-11 9:24am.
|
|
|
|
|
Amazingly there's no bacon option...
I'd say that if you'd ship it with bacon...no one will bother if it has bugs, doesn't contain all planned features, etc
"Whether you think you can, or you think you can't--either way, you are right." — Henry Ford
"When I waste my time, I only use the best, Code Project...don't leave home without it." — Slacker007
|
|
|
|