In this chapter, we discuss software design activities in detail. These are: (1) Study the core and ancillary requirements for the proposed software product. (2) Study the data to be processed by the proposed software product. (3) Study the organization to identify the roles and probable users of the system. (4) Design the data. (5) Design the common programs. (6) Design the system architecture. (7) Design the input screens. (8) Design the inquiry screens. (9) Design reports expected of the system. (10) Design the ancillary aspects of safety, security, and reliability. (11) Design the installation and rollout of the system. (12) Document the design. Then, we also discuss the ancillary design activities that aid in achieving great software products. These are: (1) Stay at the state of the art. (2) Standards and guidelines. (3) Code libraries. (4) Knowledge repository. (5) Design and development. (6) Recruitment of designers. (7) Training. (8) Apprising. In addition to these activities, designers also render services to the organization in all technical matters pertaining to the product they design or would be designing.