Deadlines set by the customer
-
I point out that there are three things that can be achieved in a software project: speed reliability features You can only have two of the three. If someone were to tell me I had to focus on speed, I'd ask which of the other two I was to drop.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
Christian Graus wrote:
I point out that there are three things that can be achieved in a software project: speed reliability features You can only have two of the three. If someone were to tell me I had to focus on speed, I'd ask which of the other two I was to drop.
"You can have it good, fast or cheap. Choose any two!"
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
Charge him a lot more, suspend your life for two weeks, and enjoy the fruits.
I do not believe they are right who say that the defects of famous men should be ignored. I think it is better that we should know them. Then, though we are conscious of having faults as glaring as theirs, we can believe that that is no hindrance to our achieving also something of their virtues. - W. Somerset Maugham My New Blog
-
I point out that there are three things that can be achieved in a software project: speed reliability features You can only have two of the three. If someone were to tell me I had to focus on speed, I'd ask which of the other two I was to drop.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
I don't mind if the customer sets a deadline, it's just like anyone else--manager, client, heck, even myself. If the deadline is unreasonable, then I say so and explain why and that usually results in a more realistic deadline. I actually like it when the customer sets a deadline. Because then, when they say "oh, can we add the moonbase widget", well, there's that deadline that they set, hahaha. What I don't like is the crisis customer. "You have two weeks to get this software done because that's when the peak shipping period for my goods begins, and I need an automated solution by then." (true story, I left out the details). Those customers are trouble, because they clearly can't manage their OWN deadlines! I have no qualms saying "your crisis is not my crisis" directly to them. The reaction is always entertaining, and sometimes positive. Marc
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
I usually ask the customer when they need something completed, if they don't provide it. I do this up front in the initial negotiations, so that I have a clear agreement on both 'what' and 'when'. This is especially important for me, since I do contracting in addition to my 'day job'. My contract work time is limited, typically to about 20 hours a week.
Software Zen:
delete this;
-
I usually ask the customer when they need something completed, if they don't provide it. I do this up front in the initial negotiations, so that I have a clear agreement on both 'what' and 'when'. This is especially important for me, since I do contracting in addition to my 'day job'. My contract work time is limited, typically to about 20 hours a week.
Software Zen:
delete this;
Gary R. Wheeler wrote:
I usually ask the customer when they need something completed, if they don't provide it.
Me too... But the particular project I talked about is not managed by me, but by my friend with no experience whatsoever and he didn't pay good attention to my estimates (it was me who wrote the spec). This is the last fixed price project I am working on without a written deadline. ;) (on the second hand if you underestimate you're in trouble either way hehe)
-
Gary R. Wheeler wrote:
I usually ask the customer when they need something completed, if they don't provide it.
Me too... But the particular project I talked about is not managed by me, but by my friend with no experience whatsoever and he didn't pay good attention to my estimates (it was me who wrote the spec). This is the last fixed price project I am working on without a written deadline. ;) (on the second hand if you underestimate you're in trouble either way hehe)
Given that I do contracting on the side, I have the luxury of never doing fixed-price contracts. I also won't do jobs where the customer isn't willing to agree on a reasonable schedule.
Software Zen:
delete this;
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
Pawel Krakowiak wrote:
It is true when you have enough manpower to build a bigger team that can do things faster
Not in every situation. I usually ask a person proposing this a question. "If it takes an hour to drive to Warsaw will having 2 drivers in the car get us there in 30 minutes?" time compression corollary "If it takes an hour to drive to Warsaw will we get there in 30 minutes if we set out in 2 cars?" As you can see just having resources doesn't unnecessarily mean that you can utilize the resources available. There are situations where having more resources available will speed up the outcome but don't fall into the trap of expecting linear returns. I once had a discussion with a manager who wanted to cut my coding time estimates by half. My response was why not say the modules and will be ready tomorrow since they will not be functioning anyway. He decided to go with my estimate. :doh:
Simply Elegant Designs JimmyRopes Designs
Think inside the box! ProActive Secure Systems
I'm on-line therefore I am. JimmyRopes -
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
It depends. Some customers have to juggle way more dependencies than we do. If they need help getting our equipment on a new production line, we are one player in many. Then, either you either make it or you don't. A good paying customer (or one you hope to build a stable relationship with) of course has some power to twist deadlines - but that's limited on how much resources can be reasonably relocated from other projects - and how tight their deadlines are. Final quesitons is, though, how much say the developers have in that decision. Does a "We can't do it in that time", or "We can't do it in that time, unless we let the deadline for project Y slip" count at your place?
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighist -
I point out that there are three things that can be achieved in a software project: speed reliability features You can only have two of the three. If someone were to tell me I had to focus on speed, I'd ask which of the other two I was to drop.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
Mind if I coin this as Graus's Uncertainty Principle?
-- Kein Mitleid Für Die Mehrheit
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
The secret to managing such situations has nothing to do with technical considerations, and everything to do with understanding people. The overwhelming majority of techies forcibly ignore this reality by sitting in a corner and chanting to themselves, "I'm not paid to do anything but write code." And of course in their spare time, they complain about how unfair things are. The world is run by humans, and humans have a tendency to be complex, emotional, illogical, self serving creatures who often suffer from tunnel vision and delusional thinking. If things aren't going well with one of your pet humans, then you should put down that compiler tutorial for a moment and pick up the "Care and Feeding of Your Pet Human" manual. Seriously, if you want to succeed in this or any other endeavor, whether you're running your own company or just managing an individual career, you need to learn how to interact effectively with people. Failure to do so will ensure that you spend more time complaining about how unfair things are than you do on the technical activities that you enjoy. Welcome to Earth. I don't make the rules. I just work here. :)
Christopher Duncan Author of The Career Programmer and Unite the Tribes www.PracticalUSA.com
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
My projects tend to take six months longer than expected. Don't confuse deadlines with due dates. Most projects don't have deadlines, if they run long the customer can cope. But "It has to be working in time for the Christmas rush" (and specifying a date) is a deadline, and must be established up front. I think in your situation I'd say, "I'll see what I can do", or enumerate the reasons I know I can't meet the newly imposed deadline.
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
Pawel Krakowiak wrote:
It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run).
This is why I make people sign a contract stating when the deliverables will be ready.
Pawel Krakowiak wrote:
My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree.
Sure it can. Suppose they are willing to throw at you a whole year's salary in something that can be done in a few months.
"Try asking what you want to know, rather than asking a question whose answer you know." - Christian Graus
-
I point out that there are three things that can be achieved in a software project: speed reliability features You can only have two of the three. If someone were to tell me I had to focus on speed, I'd ask which of the other two I was to drop.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
Do you ever get anyone who chooses speed and features? :rolleyes:
"Try asking what you want to know, rather than asking a question whose answer you know." - Christian Graus
-
Mind if I coin this as Graus's Uncertainty Principle?
-- Kein Mitleid Für Die Mehrheit
-
The secret to managing such situations has nothing to do with technical considerations, and everything to do with understanding people. The overwhelming majority of techies forcibly ignore this reality by sitting in a corner and chanting to themselves, "I'm not paid to do anything but write code." And of course in their spare time, they complain about how unfair things are. The world is run by humans, and humans have a tendency to be complex, emotional, illogical, self serving creatures who often suffer from tunnel vision and delusional thinking. If things aren't going well with one of your pet humans, then you should put down that compiler tutorial for a moment and pick up the "Care and Feeding of Your Pet Human" manual. Seriously, if you want to succeed in this or any other endeavor, whether you're running your own company or just managing an individual career, you need to learn how to interact effectively with people. Failure to do so will ensure that you spend more time complaining about how unfair things are than you do on the technical activities that you enjoy. Welcome to Earth. I don't make the rules. I just work here. :)
Christopher Duncan Author of The Career Programmer and Unite the Tribes www.PracticalUSA.com
Exactly right and something I've brought up here many times before only to receive bitchy replies along the lines of "I live in a bubble and people must cater to me" followed a few months later with "It's so unfair that the company I used to work for decided to outsource". :)
Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land
-
Well... What do you think about it? Sometimes a customer demands to have something in a set time, but the problem is that time has nothing to do with developer's estimation. What do you do in such a situation? I usually don't take such projects where the customer doesn't understand that he just can't make up a deadline out of nowhere. I will usually say "no, thank you" and direct him to look somewhere else. Yes, I may loose business that way, but I save on nerves ;) and usually find other customers who are better to work with. My colleague says that money can twist time, i.e. if the customer pays well enough his deadline becomes reasonable. I don't agree. It is true when you have enough manpower to build a bigger team that can do things faster, but not when you're working alone. I want to have a life outside of work, money is important, because that's how the world is built, but not the most important thing to me. The colleague is a workaholic, actually. ;) It's worse when you already are in the middle of a project and the customer suddenly tells you it must be done in two weeks (which means one week, because that's not the only project you run). This just happened to me a few days ago, so I thought it was time to discuss this with other developers. How do you manage such situations? Regards, Pawel
Usually I talk with the customer to get the unreasonable deadline out of his head. This doesn't always work, in those cases I end up discussing wich features to drop or simply tell him to rethink his decision. However customers that give me a deadline are a rare ocasion. Sometimes they need something because the law requires them to provide a certain service, but they usually start early enough for me to come up with a reasonable plan.
WM. What about weapons of mass-construction? "What? Its an Apple MacBook Pro. They are sexy!" - Paul Watson My blog
-
Well b'cos customers do not understand, they will often choose speed and features. Then how do we be good professionals then? Mr Q
You get them to sign off on it so when the crash complaints start to come in you can show them what they paid for. :) I had a customer sign a statement once that showed that they insisted that I pull my schedule in by a month. It included a listing of tests and processes that had to be skipped due to this. It ended up covering my butt a few times when they trued pulling a fast one on me. I pulled out the document and showed them a direct correlation between what their problem was and the areas skipped. I didn't like doing it but the customer is the customer :)