Προγραμματισμός, σχεδιασμός & επιλογή προϊόντων