每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,歡迎關注開源日報。交流QQ群:202790710;微博:https://weibo.com/openingsource;電報群 https://t.me/OpeningSourceOrg


今日推薦開源項目:《我的意思是所有人都該看看這個 How-To-Ask-Questions-The-Smart-Way》傳送門:GitHub鏈接

推薦理由:相信我,如果你沒看過這個提問的智慧,你一定得去看看,不管是為了自己,還是為了以後可能會因為你的問題向你提供幫助的人,學會正確有效的提出問題可以讓你更快的獲得能夠幫助你的人的支援。最起碼,看了這個之後,你應該不會問諸如 「我的主機板有問題了,誰來幫我?」 這樣的蠢問題了。


今日推薦英文原文:《How To Be A Good Customer》作者:Yellow Blog




How To Be A Good Customer

Based on real cases: check out our tips on how to stay focused, confident, and cooperative when working with your engineering team

If you Google how to find the best software engineering team, you』ll get a number of decent articles covering the topic quite in depth. Unfortunately, the same can』t be said about the client』s role in the development process, which, from our experience, contributes to one half of the product』s success.

To prove this, we looked back at the real cases we encountered during our work and came up with five tips on how to be a more engaged and helpful client.

Stay involved


We know it』s not easy to stay focused when you have several projects running at the same time — or when you are physically thousands of miles away, which is also sometimes the case. However, there are multiple ways to keep in touch with the development team and the progress they make.

Make sure you are aware of all the project updates. They may come to you as a brief weekly report or a new project build — it depends on how the workflow is organized on the developers』 side. This will give you a general overview of how things are going.

Participate in all video calls, meetups, and discussions along with your project manager. As a result, you』ll become aware of the project details, on the one hand, and learn how you can help on the other.

Hint: Don』t hope that the team will read your mind. You are the one who has the vision. If you see that the project goes in the wrong direction, be sure to interject at any stage and put everything back on track.

Some time ago, we worked on an application for a client from the travel industry. When he felt he was not happy with the application design, he prepared a mood board with carefully-selected designs and colors for us to refer to. Need we mention that the result was just as he imagined it?

Participate proactively!

Start small


When creating an app from scratch, make sure the release version includes only the necessary minimum of features. Ideally — just one essential feature that makes a new product viable enough to enter the market.

Launching a simple app version can give you answers to a bunch of important questions. How do users react to the product? Do they use it in the way you thought they would? What features do they turn to most often?

Hint: Give users some time to play around with the application and use the chance to discover their real expectations of the product. Thus, you」ll be able to provide new features in small portions — in just the right time — making users crave more.

For instance, if you launch a new messenger, don』t include video calls in the release version. Text messages will definitely cover the users』 needs while you are trying to get a clue of what else they may want. Otherwise, you risk finding out upon release that your target users never really make video calls and prefer voice messages instead.

Another argument in favor of starting small is the issue of money. Don』t invest everything you have in a product that may not even work as you want it to. Launching a simple version to understand how users react to it and then adding one new feature at a time sound like a much more reasonable plan from the money perspective.

Be ready to pivot


Just as we mentioned in the previous point — be prepared to learn that all your assumptions about the product, its usage, and audience might be wrong. As we established from our own experience, the only way to give users what they want is to experiment.

Hint: Be flexible. If something doesn』t work as you expected it to — change the direction.

StickerBox is our pet product that allows people to take photos of their friends and transform them into fun stickers. When we launched the app, we thought users would mostly like to make custom stickers and manually tweak them to their liking. Soon after release, we found out they were much more amused with the stickers provided by the app.

We challenged ourselves to make a U-turn. We removed most of the customization features and released a version offering ready-made stickers with just one button click. A simple 「one-button-to-magic」 approach — and the popularity of the app rocketed.

Trust your team


Be sure to make a responsible choice of the team to work with, and, once having made up your mind, learn to trust them as professionals.

Sometimes clients, especially those with no technical or design background, are prone to micromanagement due to a lack of knowledge. At the same time, any project requires making dozens of microdecisions every day, both technical and non-technical ones, and overcontrolling may dramatically slow down progress.

Hint: If you feel you are close to overcontrolling, or simply need a second opinion about the project, consider inviting a third-party expert.

We advise finding someone you trust as a person and as a professional. It may be a technical consultant, a design expert, or a strategist, depending on what part of the project you worry about the most. The expert will join the team once or twice a week and report to you if anything doesn』t go as you have expected.

However, don』t rely fully on the expert』s opinion. Software products are not entirely about coding or design. Even if you cannot tell whether everything is okay with the code, you still can evaluate if the project solves your problem.

Join the team


Sometimes clients who come to us with an idea of a product do not fully understand how it should be implemented. 「We think that the market needs this, but we are not quite sure how it should work.」 — we hear these words quite often.

Prototyping is a generally good way of finding the right realization for the project. A simple black-and-white wireframe may give an understanding of what features should or should not be added to the future application. But what if you』ve never even heard about prototyping?

Hint: If nothing else is the option, don』t hesitate to simply sit and brainstorm with the development team.

One time we had a client with an idea of an easy-to-use messenger for in-family communication. He felt he should occupy the niche but didn』t really know how to do it.

We took the idea of a messenger as a basis and started brainstorming. As a result, we came up with several bright ideas, such as a timeline of family events and an interactive family tree, and then the application saw the light of day.

Sometimes, it feels so tempting to step back and shift to other tasks once the project is safely delegated. Sometimes, vice versa, it seems impossible to entrust the realization of your vision and ideas to a team.

We hope these recommendations will help you maintain balance between these two extremes and stay in tune with the development team. In fact, being a cooperative client requires effort, but it』s definitely rewarding for both sides, and, above all, the product.

每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,歡迎關注開源日報。交流QQ群:202790710;微博:https://weibo.com/openingsource;電報群 https://t.me/OpeningSourceOrg