1. Hiểu vấn đề
Lập trình viên máy tính chuyên nghiệp viết chương trình để thoả mãn nhu cầu người khác được gọi
là người dùng hay người dùng cuối (end users). Ví dụ về người dùng cuối là phòng nhân lực cái cần
một danh sách được in ra tất cả nhân viên, một phòng billing cái cần danh sách các khách hàng những
người quá hạn thanh toán 30 ngày hoặc hơn, và phòng order cái cần một website để cung cấp cho
người mua một online shopping cart. Vì lập trình viên cung cấp dịch vụ tới những người dùng này, lập
trình viên trước tiên phải hiểu người dùng muốn gì. Khi một chương trình chạy, bạn thường nghĩ về
logic như một chu kì nhập vào – xử lí – cho ra, nhưng khi bạn lập kế hoạch một chương trình, bạn
nghĩ về đầu ra trước tiên. Sau khi bạn hiểu kết quả mong muốn là gì, bạn có thể lên kế hoạch các bước
đầu vào và xử lí để giành lấy nó.
Giả sử giám đốc phòng nhân lực nói với lập trình viên ” Phòng của chúng tôi cần một danh sách tất cả
các nhân viên đã làm việc trên 5 năm, vì chúng tôi muốn mời họ tới một bữa tiệc cảm ơn đặc biệt”. Trên
bề mặt thì đây dường như là một yêu cầu đơn giản . Tuy nhiên, một lập trình viên kinh nghiệm
sẽ biết rằng yêu cầu là không hoàn chỉnh.