When planning IT services, there are times when user requirements conflict with system stability. To maintain the stability of the system and development, sometimes user requirements must be sacrificed. When faced with this choice, we usually opt for one or the other: either sacrifice system stability for user satisfaction or vice versa. Most of the time, the choice is to prioritize user satisfaction. Personally, I agree that maintaining user trust is a better choice than system stability. However, there are moments when decisions need to transcend this binary choice.
In a typical collaborative structure, the planner would first collect user requirements. Before creating a plan, the planner would consult with developers to assess the feasibility of these requirements. Developers, however, should not merely select from predefined options in the plan. They need to show initiative and offer new alternatives. Developers’ active involvement can often help break the deadlock and lead to solutions that satisfy both user demands and system stability.
Engineers must play this pivotal role of facilitating ongoing problem-solving throughout the project's lifecycle. If the service operators need to convince users or customers due to system stability, I believe it's better to sacrifice some stability. However, system and development stability should not be casually discarded, as they are invaluable. Therefore, I believe the best approach is to find ways to satisfy both the user and the system.
Ultimately, we can only control the system itself, not the users. This means we must consider ways to encourage customers to exert their own effort. What customers truly want is for experts to present to them exactly what they need. If we can offer a well-organized interface and smooth user experience that helps customers achieve their goals, that’s the true user requirement.
In smaller shops, customers may ask the store owner to personally guide them to the products, and they may not always pay at the counter. However, in larger stores like supermarkets, employees can't chase down every customer. Instead, customers naturally go to the checkout and seek out information themselves. The supermarket system is well-organized and structured, allowing customers to find what they need without being explicitly asked.
Similarly, a software-based system or service should be structured and well-organized. If a service is reliable and well-designed, customers will willingly exert the effort that the service provider intends. The key is not just meeting customer demands but designing the service in such a way that users will interact with it in the way the developer intended. In the end, when users follow the intended process, it might not have been what they initially expected, but it could very well be what they truly needed.