Answer the question
In order to leave comments, you need to log in
When the customer asks just to finish?
What to do if the customer says “you just need to finish the project”, and when you open it and look at the technical specification, you understand that someone has dug up something and the customer thinks that he already has something valuable?
Now I opened the TK and I understand that writing from scratch will conditionally cost 10,000, to which the customer says so that I don’t invent “it’s possible to add it”, then I say only hourly 20 / hour - I agree.
I have already encountered such situations and it always ended the same way - the addition eats up the entire budget of the customer 2 times (there would be enough budget to make it from scratch), as a result, the project is not ready and everyone quarreled. But then I didn’t negotiate and manage, and I didn’t care.
Of course, you can continue to follow the principle as before - we work while the customer pays by the hour until his money runs out. at the same time, everyone understands that the project has no chance, no matter how much it is added
. How to be?
Answer the question
In order to leave comments, you need to log in
A supposedly finished project with a crooked code (architecture) is like a house with a crooked foundation, often it has not only a low, but a negative cost. That is, it will be really cheaper to rewrite from scratch. But how to avoid repeating the situation (when everything seems to be ready, but nothing works on trifles)? To do this, the customer or project manager needs to achieve complete isolated micro-solutions in each area (on each form - dialogue - page). You should not be afraid to change initial decisions (ask to add or change functionality) and watch how the programmer will adapt to the changed business requirements (these are real situations that will arise in the industrial use of the product from users). If a programmer gets stuck - this is the real speed of project development and signs that the project will not be completed and put into operation. And what about the customer. there "architects" throw in the code, and say that everything is done there and you just need to add it - this is a development of zero or even with a minus cost.
Well, here's the situation. Programming is such a thing that the worst thing is to get confused in your own code. Basically, projects fail because of this. There are many programmers who know a little bit different languages, APIs, interfaces, all sorts of fashionable terms, etc. But there are very few programmers who know them deeply and can organize the code so that they themselves do not get confused and do not confuse their colleagues. This requires experience and skills, a little different than a little knowledge of the language and all sorts of APIs. Here you need the ability to apply tools, refactoring and all sorts of techniques for dividing the project into parts, decomposition.
Well, the project starts, everything is ok. The programmer writes - it seems that working screens or working functionality begin to appear, but he does not monitor the purity of the code, ignores or does not know the recommended style guides, the code style is constantly changing, everything is wound up on basic primitives like for-if, decomposition entities are violated, refactoring of one's own there is no code (to further facilitate understanding) (the main thing is that it works). Constantly crutches him. And the code turns into a bunch of tightly tied, tangled shit. Attempts to introduce fixes or additional functionality into such code lead to even greater problems. And from the outside - it really looks like something is not working on trifles. But the support and development of such a project stops and the author of the code is no longer able to work with it, because the loop of this monolith is already tightly tightened. And the person either takes time and asks to hire more developers, or simply leaves for the "best offer". The customer thinks that there is very little left. And any attempt to immerse a new programmer in this project fails.
Explain to the customer that the code is very confusing. Give simplified examples of entanglement and give examples of their solution. Think of this confusing project as a challenge for yourself. Think about the fact that if you unravel it, rewrite it block by block and put everything on the shelves, your value as a specialist will increase many times. Evaluate your strengths, learn hard parallel refactoring along with current tasks, decompose the code into parts, isolate parts of the code. Don't say the word "refactoring" to the customer. And writing from scratch is not an option. You will just stretch out the time and it is not a fact that you will not come to the same thing as the previous developer did. And then drop it. Better learn how to smoothly metamorphize the project while performing current tasks.
Moreover, if the previous author left the project, this is not the worst situation, you calmly refactor the code, rebuild blocks, decompose entities and somehow bring the project out of the crisis. But if the author is still working on the project, then this situation is much more complicated, you will constantly face resistance that everything is in order, just “you don’t know how to work with this code” (confusing shit), which you need to “just fix”, and do not refactor and understand.
And the most interesting feint, it turns out, is that in the eyes of the customer, the author (the source of problems and shit code) will look like some kind of professional with a brilliant code and architecture, whose code no one can understand and support, because supposedly everyone who comes to the project is not qualified enough.
Yes ... the programmer's job is to make the complicated (difficult) understandable (simple), and not vice versa.
There are inadequate customers, it is better not to contact them, because. It is already clear from the conversation that there will be problems with payment. You yourself choose whether to finish writing after others forever or to do it from scratch and with high quality so that others do not have to finish after you.
Something you are cunning. If the customer is ready to pay normal money, then even a poop has a chance to become useful if there are direct hands of developers and adequate management. The
question is that you do not want to do this initially. 90% of working projects are written in the same way as you described, someone just took them and added them as they are.
Of course, if you start writing a project the way you want, then you will not have enough time and money for that, because you basically want to write it from scratch. Everything can be finalized and launched, and you should be exactly on the side of what is there now
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question