Phát triển phần mềm là việc chuyển nhu cầu của người dùng hoặc mục tiêu tiếp thị thành một sản phẩm
phần mềm.
[1][2] Phát triển phần mềm đôi khi được hiểu là sự bao gồm các quá trình của
kỹ nghệ phần mềm cộng với sự nghiên cứu và các mục tiêu tiếp thị phần mềm để phát triển những sản phẩm
phần mềm máy tính.
[3] Nó tương phản với tiếp thị phần mềm, vì nó có thể có hoặc không liên quan tới
phát triển sản phẩm mới.Thường thì khó để phân định được giữa kỹ thuật và tiếp thị, cái nào đóng vai trò quan trọng hơn trong việc thành bại của một sản phẩm phần mềm bằng cách đánh giá sự thỏa mãn mong đợi của người dùng. Đó là lý do tại sao việc hiểu rằng cả hai quá trình và/hoặc sự hợp tác hiệu quả giữa cả kỹ thuật và tiếp thị trong toàn bộ quá trình phát triển phần mềm, là rất quan trọng. Sự quan tâm về mặt kỹ thuật lẫn tiếp thị thường được xem xét một cách cân bằng bởi
giám đốc dự án.Vấn đề tiếp thị còn được gọi là
phân tích yêu cầu phần mềm.
[4] Vì phát triển phần mềm có thể bao gồm việc thỏa hiệp hay vượt ra ngoài yêu cầu của người dùng cuối, nên một dự án phát triển phần mềm phải thực hiện những công việc thường không dính dáng đến kỹ thuật như
nghiên cứu thị trường,
nguồn nhân lực,
quản lý rủi ro,
sở hữu trí tuệ,
ngân quỹ,
quản lý khủng hoảng, v.v... Những công việc này sẽ đóng vai trò là sự
phát triển kinh doanh đi kèm với phát triển phần mềm.Trong cuốn sách "Những tranh cãi phần mềm vĩ đại", Alan M. Davis đã nói trong chương "Requirements" (các yêu cầu), phần
"The Missing Piece of Software Development" (Những mảnh còn thiếu của Phát triển phần mềm):