This document summarizes key aspects of system and software development including common roles, the development lifecycle, and common program design models. It discusses the roles of systems analysts and stakeholders, outlines typical phases of analysis, design, implementation, and testing, and describes waterfall and agile development models as well as cowboy coding.