12 Jan, 2021
Dự án web
Một người bạn chủ sở hữu một công ti phần mềm chuyên trong phát triển Website đã hỏi tôi: “Tôi cứ tưởng chỉ các dự án phần mềm lớn và phức tạp mới hay thất bại nhưng tôi thấy rằng các dự án phần mềm nhỏ như phát triển website cũng có thể thất bại nữa.
Phần lớn các dự án của tôi đều nhỏ với ba tới năm người, thậm chí chúng tôi hoàn thành dự án đúng thời gian với đủ mọi chức năng nhưng khách hàng của chúng tôi vẫn KHÔNG hài lòng, anh có biết tại sao không?
Tôi giải thích: “Dự án nhỏ thất bại, không phải vì những sai lầm lớn như thay đổi trong yêu cầu hay giao diện phần cứng tồi mà bởi vì những sai lầm mà người lập trình không nghĩ chúng là quan trọng. Phần lớn các sai lầm đều KHÔNG về vấn đề kĩ thuật như viết mã HTML, áp dụng đồ hoạ, hay dùng công cụ phần mềm mà về thiếu tri thức về “bản tính động” của môi trường web. Nhiều người lập trình về mặt kĩ thuật là giỏi nhưng có thể KHÔNG hiểu nghiệp vụ về Website hay Portal, điều KHÔNG hệt như dự án phần mêm điển hình cho phát triển sản phẩm.”
Bạn tôi dường như ngạc nhiên: “Sao phát triển Web khác với các dự án phần mềm khác? Tôi nghĩ phần mềm là phần mềm bất kể nó là cái gì.”
Tôi bảo ông ấy: “Không phải mọi phần mềm đều như nhau đâu. Ứng dụng phần mềm điển hình là về giải quyết vấn đề hay tự động hoá một qui trình. Do đó, các ứng dụng web và cổng hầu hết là về giao diện người dùng và tương tác người dùng. Một website điển hình cung cấp thông tin mà người sử dụng cần hay quảng cáo về một doanh nghiệp. Nó tương tự với “mở cửa hàng” để bán các thứ cho nên nó phải đem lại kết quả. Bạn có thể có dự án web đáp ứng được lịch biểu, đáp ứng chi phí và trông đẹp với mọi chức năng nhưng nếu nó khó dùng, người dùng không có được điều họ muốn, họ chưa bao giờ dùng nó lần nữa thì dự án KHÔNG thành công. Phần lớn sai lầm trong ứng dụng web thường là về “vấn đề nghiệp vụ”. Cũng giống như bạn mở cửa hàng, nó trông đẹp với hàng hoá tốt nhưng không có khách hàng tới, hay không ai mua cái gì thì bạn không thành công. Ứng dụng web thành công phải đem tới giá trị doanh nghiệp, nó phải dễ dùng và có thể được trắc nghiệm lại bằng những cách đo như số người truy nhập để lấy thông tin hay số hàng hoá được bán.
Một sai lầm điển hình mà nhiều người phạm phải trong ứng dụng web là tập trung quá nhiều vào công nghệ nhưng không dành đủ thời gian để xác định giá trị doanh nghiệp, kịch bản người dùng, thị phần, và các cách đo, v.v. Phần lớn các dự án bắt đầu với việc chọn công nghệ, kiểu như dùng “Flash” hay “Ánh sáng bạc” mà không hiểu nhu cầu người dùng và chiến lược kinh doanh. Thực tế điều họ làm là tạo ra “Giải pháp’ trước khi họ hiểu “Vấn đề”. Nhiều quyết định dựa trên công nghệ nào có sẵn và điều người lập trình muốn làm thay vì mục tiêu của dự án. Một số người quản lí thậm chí còn dùng công nghệ mới nhất chỉ để gây ấn tượng cho khách hàng mà không biết gì về chúng.
Một ứng dụng web tốt phải đơn giản, dễ dùng và dễ lấy thông tin. Một website phải cung cấp đủ thông tin để thu được “kết quả kinh doanh”. Nhiều người lập trình quá tập trung vào việc thêm “hoạt hình”, “ảnh đẹp”, “mầu đẹp” hay “màn hình toé sáng” để làm cho nó hấp dẫn mà không hiểu rằng điều đó có thể làm cho người dùng lẫn lộn hay làm chậm luồng truy nhập. Nhiều người lập trình tin “càng nhiều càng tốt,” cho nên họ thêm nhiều tính năng cho website và làm cho khó tìm ra thông tin đúng. Qui tắc vàng trong phát triển web là “Đơn giản và dễ dùng.” Trong ứng dụng, “tốc độ” là nhân tố quan trọng nhất cho người dùng, đặc biệt là những người không có kết nối mạng tốt. Một thiết kế website đơn giản và nhanh chóng là tốt hơn nhiều một website trang hoàng loè loẹt và chậm đáp ứng. Tất nhiên, một thiết kế nhanh và tốt hơn là có thể nhưng bản chất của ứng dụng website là thay đổi và cập nhật thường xuyên cho nên qui tắc vàng là “Dễ dùng’, “Dễ cập nhật”, và “Tải xuống nhanh”.
Người thiết kế web giỏi bao giờ cũng đặt mình vào vị trí của người dùng bằng việc hỏi “Người dùng muốn gì với việc truy nhập vào website này?”, “Họ tìm loại thông tin nào?” “Bao lâu họ quay lại website này?” và “Bao lâu chúng ta nên cập nhật website này?” Những câu hỏi này không liên quan gì tới khía cạnh kĩ thuật nhưng là quan trọng nhất bởi vì mục đích tối thượng của website là đem tới kết quả. Người thiết kế web bao giờ cũng hiểu cách người dùng dẫn lái qua website này để lấy thông tin bằng việc tạo ra các kịch bản cho nên họ có thể làm việc dẫn lái web dễ dùng và tăng tốc luồng chảy. Chẳng hạn, trang nhà của Google có hàng chục từ nhưng chỉ có một hộp đưa văn bản vào. Website không thể thành công chừng nào nó còn chưa được cập nhật thường xuyên để đem mọi người quay lại, “website tĩnh là website chết” cho nên sau khi tạo ra website, bạn cần cập nhật nó thường xuyên nhất có thể được. Bạn cũng cần đếm số người dùng nó và thỉnh thoảng làm điều tra để hỏi người dùng điều họ muốn thấy hay thông tin nào có ích cho họ. Một website tốt là về tương tác tốt và thường xuyên thay đổi để đáp ứng nhu cầu.
—-English version—-
web project
A friend who owns a software company specializes in developing Website asked me: “I thought only large and complex software projects often fail but I found that small projects such as website development could also fails too. Most of my projects are small with three to five people, even we complete the project on time with all functions but our customers are NOT happy, do you know why?
I explained:” Small project fail, not because of big mistakes such as changes in requirements or bad hardware interfaces but because of mistakes that programmers do not think they are important. Most failures were NOT about technical issues such as coding HTML, applying graphics, or the usage of software tools but about lacking knowledge of the “dynamic nature” of the web environment. Many programmers are technically good but may NOT understand the business of Website or Portal which are NOT the same as typical software project for product development”.
My friend seemed surprised: “Why Web development differs from other software projects? I think software is software regardless.
I told him:” Not all software is the same. Typical software applications are about solving problems or automate a process. However, web and portal applications are mostly about user interface and user interaction. A typical website provides information that user needs or advertise a business. It is similar to “open a store” to sell things so it must bring results. You can have a web project that meet schedule, meet cost and look nice with all functionalities but if it is difficult to use, users do not get what they want, they never use it again then the project is NOT successful. Most failure in web application is often about “business issues”. Just like you open a store, it looks nice with good merchandises but if there is no customer come in, or no one buys anything then you are not successful. A successful web application must bring business value, it must be easy to use and can be validated by metrics such as number of people access to get information or number of merchandise sold.
A typical mistake that many people made in web application is to focus too much on technology but not spending enough time to define a business value, user scenarios, market share, and measurements, etc. Most projects start with a choice of technology, such as using “Flash” or “Silverlight” without the understanding of user needs and business strategy. Actually what they are doing is to create a “Solution” before they understand “The problem”. Many decisions are based on what technology is available and what programmers want to do rather than the objectives of the project. Some managers even prefer to use the latest technology just to impress customers without knowing anything about them.
A good web application must be simple, easy to use, and easy to get information. A website must provide enough information to obtain a “business result”. Many programmers are too focus on adding “animation”, “cute pictures”, “beautiful color” or “splash screens” to make it attractive without understand that it may confuse users or slowdown the access flow. Many programmers believe “more is better,” so they add more features to the website and make it difficult to find the right information. The golden rule in web development is “Simple and easy to use”. In web application, “speed” is the most important factor for user, especially people without good network connections. A fast and simple website design is much better than a heavy decorated and slow to response website. Of course, a fast and better design is possible but the nature of website application is about changes and update frequently so the golden rules are “Easy to use’, “Easy to update”, and “Fast download”.
The best web designer always put themselves into users’ position by asking “What do users want by access to this website?”, “What kind of information are they looking for?” “How often they return to this website?” and “How often should we update the website?” these questions has nothing to do with the technical aspect but it is the most important because the ultimate goal of website is to bring result. A good web designer always understand how users navigate the website to get information by creating scenarios so they can make the web navigation easy to use and speed up the flow. For example, Google home page has dozen words but only one single text-entry box. A websites cannot be successful unless it is being update constantly to bring people back, “a static website is a dead website” so after create website, you need to update it as often as possible. You also need to measure the number of people use it and occasionally have feedback survey to ask users what they want to see or what information is helpful to them. A good website is about good interaction and constantly changing to meet demand.