Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been working on this project for more than a year now, and we are close to release, the project manager wants the product to be perfect and working in every single aspect.

I like that and I love working under the perfection idea, but it seems he is delaying the launch too much because of compatibility issues, he wants the product to work in every single installation, every single configuration possible, and in most cases, the product just works without issues when it's on the hands of the client.


UPDATE : yes the product doesn't work properly when there are conflicts, for example, other products that don't use guidelines nor standards to load libraries (causes double library load which leads to failure), cache is another example and so on..... but we warn the clients about the conflict before purchasing and help them fixing it after purchasing


I've tried to explain it by giving some examples on major products, he understands the situation, but can not believe that it is near impossible (if it is not impossible) to do what he wants.

Hope it is clarified enough for the community to answer.

share|improve this question
1  
I am going to take a different viewpoint. If your program crashes then its a bug and it should be fixed. Come up with a list of current support configurations. As new configurations are found that do not work, address those configurations in an update, ask your project manager what configurations he wants to support. –  Ramhound Jun 6 '12 at 11:49

5 Answers 5

up vote 13 down vote accepted

ask him/her to make a list of all possible compatibility issues and situations; note that a complete list cannot be created, and suggest that the number of possible compatibility issues is infinite and not all possible incompatibilities are worth delaying launch for; concentrate on the ones most likely to occur for your largest market segment, and pick up the rest as they happen.

a company that releases a reasonable quality product and then responds quickly to problems is far more likely to succeed than one that never releases a product at all!

share|improve this answer
2  
yes, if the stakeholders want this, it is up to them to create the list. The developer then works the list. –  HLGEM Jun 5 '12 at 21:11
    
Or you could release Windows ME –  Andrew Finnell Jun 6 '12 at 4:37
    
@AndrewFinnell: good point, response edited to clear up any possible misunderstandings ;) –  Steven A. Lowe Jun 6 '12 at 15:22

Such decisions should be made from a business point of view. Estimate how much would it cost to implement some compatibility feature, and what would the benefits be. Then just decide, if you really need it.

share|improve this answer
    
+1 its not about is it possible its about cost/benefit –  jk. Jun 6 '12 at 11:14

Like Steven says, have them list all the possible compatibility scenarios, identify what works and what doesn't. Then identify your exact constraints for the failing scenarios, estimate the cost to overcome those constraints for each scenario (not just in development cost, but in maintenance & support costs as well), then push it back as a business decision as to what they are willing to pay for.

Edit: As far as your compatibility issues go; Try to add code to validate, then warn the user if it is not compatible with your supported environment. But make sure everything works with your supported environment.

share|improve this answer
1  
+1 for adding code to validate where possible! –  Steven A. Lowe Jun 6 '12 at 15:23

Introduce your PM to the vaporware concept. Though, if you are still finding cases where your product is not working as intended that are easy to find/reasonably expect-able then you don't have a quality shippable product. There is becoming more and more of a mindset in the industry to ship it now, and fix it later, and pushing back against that isn't necessarily a bad thing. A reputation for releasing quality software the first time is a lot better than a reputation of quickly spewing out crap and patching it up later.

share|improve this answer

Another way is to find a middle ground that's acceptable to both of you as a solution. What happens when an incompatibility is encountered? If your software crashes, then that's likely unacceptable regardless if you document it or not. If your software graciously terminates or prevents the incompatibility (for example, displaying an error message that the software is incompatible and suggesting possible alternatives), then that may be a "solution" that's amenable to the project manager.

In other words, there may be more than one solution to the problem. You may need to negotiate with your project manager to figure out the proper action that'll get the product launched.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.