Eight Principles of software development that customers should know

Source: Internet
Author: User

I thought it was good to read it. I will repost it to you ~

It is appropriate to be a freelancer in the IT field. Many developers have experienced freelancers. There are many books andArticleThe process of delivering the right software to the customer's satisfaction and in a timely manner. However, there are few articles about how customers should do this in the project process. Even if the customer pays, this does not mean we have to tolerate their very rude attitude and bad habits.


1. Good software must not be cheap One problem I often encounter is that customers want to build a full-featured enterprise website for less than 500 euros. For this price, you can find a 12-year-old boy next to me and use joomla to help you build one. However, professional software developers know the software architecture and how to develop security and stability, the price of software that can run well is much higher than the price. Software development is the same as other professions and requires a lot of time to learn.
In addition, many customers often require some features outside the contract, free of charge. Your doctor will not work for free, your aunt will not work for free, and you will not work for free. Why do you require software engineers to work for free?
I have seen many customers hire cheap, self-proclaimed Professional Developers, or outsource development to India and Vietnam, and the results are often disappointing. These channels seem to be cheaper, but later software maintenance costs are very expensive. So after a lot of customers try it, they still come back to me for development.
2. Clear requirements We know that it is very difficult to list all detailed requirements at the beginning. This is why we have invented agile development. However, if you give us wrong demands, we can only deliver wrong software. You can blame us for the poor use of the software, but you give us a wrong demand first. In the end, it wasted a lot of time and money on both sides. Software developers may be very smart, but only you know your business needs!
3. Completion of good software To deliver a good software, developers should do their best in the project. However, customers cannot sit on one side and ignore this project. If you want your software to be delivered on time and correctly, you should keep in touch with the developers so that we can promptly discover and correct the problems. This does not require you to stare at our work all the time. You only need to reply to our email in time, for example, within 24 hours. I have met some customers who have completely disappeared after the contract is signed and told me why the development was not completed when the software was delivered? What do you mean ?!
4. Not all functions are visible. The absence of beautiful interfaces and a large number of new features does not mean that we have not worked hard. In fact, a lot of work is irrelevant to the front-end. This is why we should invest resources to improve the background. Code . According to the carprinle http://en.wikipedia.org/wiki/Pareto_principle, 20% of the Code solved 80% of the problem. These problems may be server performance bottlenecks or data corruption. Although you spend money on these aspects, you cannot see the software interface changes, but it is worth it.
5. It is difficult to give accurate time predictions in advance In any field, it is difficult to predict the project time. This is especially true in the IT field because customers often do not know what they really want. Tell us what you think, we will give you a time estimation, just an estimation. Requirements often change in the development process, so don't always take the estimated time for it.
6. Programmers are also people We may work and think like robots. We may not be able to come out in the office for a long time, but this does not mean we are not human beings. When you have dinner at a restaurant or make a safe plane landing, you will be grateful to the chefs and pilots. When your family is cured in the hospital, you will be grateful to the doctor. So please also bring this gratitude and respect to us.
7. Tell me what to do and not instruct me how to do it. You describe your problem and ask professional people to propose a solution. Ask the developer to do what he is good at: solve your problem. In the IT field, developers often know much more than customers. That is to say, developers know the advantages and disadvantages of different solutions, and they will choose the right solution. Do not complicate simple problems. Do not tell us how to solve them. Professional problems are solved by professional people, which can save you a lot of time and money.
8. Listen to our suggestions As mentioned in the previous section, developers may know more about the technology field than you (customer. If you want to play an automatic video on your website, and developers suggest you do not do this, then listen to him. Because he has already done similar cases and knows that automatic playback is boring for many people. You like this video, but not necessarily others. If your developer suggests that you do not use flash, trust it. He knows that flash is not good, maybe you don't know.
Conclusion Software developers need to make all efforts to complete a good software. There are many books on how to control software quality, how to do requirement analysis, agile development, and so on. But as a customer, you should also follow some basic principles. The biggest problem is that the customer wants the lower the project budget, the better, but constantly changes the demand, and there is no good communication.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.