php - How to program an application with unknown future modifications and features? -


background

I am not new to programming, but I am When it comes to handling customers and their needs My history is with my current client: I got a PHP application with 2/3 completion, continues to complete 100% till reaching the customer (major) facilities It is necessary to rewrite applications and databases. I had formulated two weeks how the new application would work with new changes with other necessary features and after acceptance, I started the application again. I am now being asked to add new features which were not discussed before the new build- and then, they are huge and the whole application is live with more than 300 users- it is also making it difficult.

Question

Do not pay attention to the fact that the client is asking for facilities not discussing fundamentally. How do I create feature proof ? In the prefect world, clients will know what features the app has, which will make it very easy for my job. But this is not the case and I am talking about these key features which must be included when preparing the format of those applications when the applications are not live - although this question is an application for any future revision or facility Is normal for / P>

I do not like to say to my client that the feature or the request that is being requested is so large that I have to rewrite the whole application (again) though, while writing it, it is my It happened that it was not my fault that the facility can not be added without starting. But it seems that he does not want almost any new facility, because some things are being worked hard due to the application and now it is not necessary to change them for a new facility.

Any personal experience with this situation will be great - I hope that I am not the only one to deal with this because it can be very disappointing. Thanks!

Be assured that this is an old problem that most programmers should deal with some manager or decision-maker , Which has a new perspective for the app every day. They do not understand that at high level it takes a lot of work to automate it to do more to describe it. They also do not understand that it takes a toll on the morale of their workers, which you are asked to do some work which you work hard on.

It is a difficult problem to estimate all the difficulties. It can be said to give a new look to the software. Some people have suggested hooks so that you can add new functionality to any stage of the workflow. , Without tearing the application. But what hooks should you add? What will happen if the workflow needs to change?

Many software developers use methods like methods or other iterative methods.

One of the common ideas of repetition development is that you will try to hope for all the future changes, there will definitely be some changes you expected, but it seems that many of them do so So, what you try to expect of possible changes is a waste attempt.

So you should just write the software that is needed today, as a change in things, you have to write something in it, but it is normal and indispensable and it is likely that most of it will not change, So simple design is better, the impression is that by focusing on the current requirements, you reduce overall work so that it is a pure win.

Certainly they also say that when this happens, you should respond favorably to making changes, and to reduce the time lost by communication with the client (or manager), often fake up And prototypes are useful tools in this case. Also, do not be afraid to tell your manager the truth that how long will you take to reprint the software to complete your details. You can help by proposing some agreements, for example, often a single feature they asked, you need to re-evaluate, and otherwise this change will be very minor, talk openly about this, and Talk to see if so much work is another way to solve the same need. It should also be in their interest, if they can fulfill the need more quickly and less expenditure than needed.

Finally, you may have to face a manager who is totally stupid. Any amount of conversation or improvement in your methods can help in this matter. Do not work for the person who constantly humiliates you and your time and product of your work. And do not let them walk or make mistakes - you travel for long hours to work.

Also read this comic piece, which probably mirrors your situation.


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -