Ngày nay chúng ta thấy phần mềm ở khắp mọi nơi. Xã hội hiện đại phụ thuộc vào phần mềm để làm tất cả mọi thứ. Ta thấy chúng trong đồng hồ, thiết bị y tế, điện thoại, TV, thang máy, xe hơi, và “máy tính” (như thể mấy thứ kia không tính toán gì cả vậy.)

Là tư vấn viên, 14 năm qua tôi đã từng giúp rất nhiều công ty phát triển phần mềm, và có khi còn tự thân viết vài cái nữa. Những công ty tôi từng hợp tác trải rộng trên nhiều lĩnh vực, từ ô tô, y tế, ngân hàng, bảo hiểm, viễn thông,…

Ở một số công ty này, quá trình phát triển phần mềm diễn ra vô cùng trơn tru. Các team đẻ ra những phần mềm chất lượng. Cổ đông vui cười hạnh phúc. Công ty thu hút thêm nhiều khách hàng, kiếm thêm nhiều lợi nhuận.

Nhưng cũng có nhiều công ty gặp vô vàn khó khăn.

Tôi từng chứng kiến các phòng ban cắn xé lẫn nhau khi quyết định yêu cầu của ai sẽ xuất hiện trong bản release.

Tôi từng thấy tận mắt nhiều bạn lập trình viên không cách nào đuổi kịp, để rồi bị lạc hướng trong mê cung “tính năng vặt” và yêu cầu thay đổi nhiều như lá rụng mùa thu Hà Nội.

Tôi cũng đã quan sát khi quá trình truyền tải thông tin giữa lập trình viên và cổ đông quản lý (không chuyên tech) vụn vỡ tan tành.

Sau nhiều năm như vậy, tôi bắt đầu nhận thấy một “mô típ” ẩn trong đó.

Mỗi khi có người hỏi tôi vấn đề gì đang sảy ra, tôi bắt đầu bảo họ: “đếch có ai muốn dùng phần mềm nữa đâu”.

Mới đầu, họ tưởng tôi bị điên và nhìn tôi với ánh mắt lo sợ ái ngại và hốt hoảng tột độ. Phần mềm đi muôn nơi. Có phần mềm mới có văn minh! Nhưng khi tôi bắt đầu nhẹ nhàng ân cần giải thích cho họ hiểu, nhiều người dần gật đầu đồng tình lia lịa.

_______________________________________________

Chắc hẳn bạn cũng giống tôi, đã từng vài ba lần mua hàng qua mạng. Bạn có muốn đăng ký thêm nhiều trang bán hàng nữa không nào? Bạn có thích cảm giác khi phải add sản phầm, từng cái từng cái một, vào giỏ hàng? Bạn có thấy đê mê khi phải năm lần bảy lượt kiểm tra đi kiểm tra lại xem mình đã nhập đúng số thẻ tín dụng hay chưa? Bạn có sung sướng khi phải xác nhận mua hàng hết lần này đến lần khác?

Tôi thì không rồi đấy. Dù vậy, tôi vẫn mò lên mạng mua hàng. Tại sao vậy?

Đạt kết quả cuối cùng

Cái tôi thực sự muốn là kết quả cuối cùng: Tôi muốn sở hữu một chiếc máy giặt mới hay đọc một cuốn sách lạ. Tương tác thân mật giữa bản thân tôi và phần mềm sẽ là một trong nhiều bước đưa tôi đến gần kết quả mình muốn hơn.

Sau khi nhận ra được điều này, việc phát triển phần mềm của tôi bắt đầu xuất hiện sự thay đổi mạnh mẽ.

Nhiều công ty đo đạc tốc độ phát triển thông qua số dòng code hoặc thông qua velocity sang chảnh (có thể hiểu velocity là số tính năng theo thời gian, quy mô của tính năng, blah blah blah)

Nhiều người lầm tưởng bán tính năng giống như bán nội tạng, số lượng càng nhiều thì lợi nhuận càng cao.

Nhưng thực tế nào như thế. Với quá nhiều tính năng, người dùng có thể đạt kết quả cuối cùng dễ hơn, mà cũng có khi là khó hơn (vì vấp phải quá nhiều thứ rườm rà mất thời gian). Bởi lẽ này, chúng ta nên dùng các thông số đánh giá khác, hiệu quả hơn velocity rất nhiều.

Khi đặt chân vào thị trường mới, bạn cần đảm bảo phần mềm của mình đáp ứng phần lớn nhu cầu của người dùng. Hãy đội khách hàng lên đầu làm ông bà nội, và tìm cách thu thập feedback thường xuyên. Đừng biến phần mềm của mình thành đống hổ lốn “béo phì” tính năng rác khiến người dùng bỏ đi trong sợ hãi.

Nếu bạn đã có chỗ đứng vững vàng trong thị trường, hãy tiếp tục mở rộng đường đi, làm sao hành trình của người dùng đến kết quả cuối cùng trở nên càng ngắn và dễ dàng càng tốt. Vì chỉ khi người dùng đến điểm cuối của cuộc hành trình, công ty của bạn mới tạo được giá trị từ sản phẩm của mình.

Amazon’s Kindle đã rút ngắn chuyến đi như thế nào

Giai đoạn đầu, Amazon chỉ có bán sách online mà thôi. Bạn lên đó mua sách, họ ship về tận cửa.

Họ mở đường cho thanh toán 1-click, cho phép bạn bỏ qua chi tiết thanh toán và click chỉ vài phát nhanh gọn khi bạn muốn mua thứ gì đó. Cách làm này đã rút ngắn hành trình của người dùng.

Sau đó, họ giới thiệu Kindle. Lần này lại càng rút ngắn hành trình của người dùng hơn nữa. Tìm một cuốn sách, xem chi tiết, xác nhận mua. Sau một khoản download ngắn, bạn đã sở hữu cuốn sách rồi. Chả cần chờ sịp sẹt gì hết.

Thay đổi nhiều là thế, nhưng chúng ta vẫn thấy một kết quả cuối cùng giống y những ngày đầu: Bạn có sách để đọc.

Chỉ khác là khoảng cách đến đó rút ngắn đi rất nhiều thôi.

Phát triển nhiều tính năng nhất có thể vẫn chưa đủ để thành công. May thay, tôi không phải là người duy nhất có suy nghĩ này.

Gojko Adzic đã tạo Impact Mapping, là kỹ thuật rút ra tính năng phần mềm từ mục tiêu kinh doanh. Anh yêu cầu cộng đồng lập trình nên “Tạo ảnh hưởng, đừng tạo phần mềm”.

David Heinemeier Hansson, cha đẻ Ruby on Rails, tinh rằng bạn luôn có thể làm ít hơn.

Tuy đã thuyết phục được nhiều người tin mình, nhưng theo kinh nghiệm của tôi, chỉ có một lượng nhỏ công ty đã từng đưa triết lý nào vào thực tế.

Vậy nên, đừng hiều sai ý tôi nhé: Tôi đã, đang và sẽ rất yêu phần mềm. Tôi mê mẫn những logic đằng sau chúng

Phần mềm rất hưu ích. Nhưng chỉ mình chúng vẫn chưa đủ. Phần mềm chỉ là phương tiện đi đến cuối con đường mà thôi.

Tôi không muốn máy giặt, tôi muốn quần áo sạch.

Advertisements