Abstract
Creators of software must understand that their work impacts the lives of those who use it. Most of the time, the influence a particular program has on human life is minimal, but many programs impact life in profound ways. Software engineers spend their days writing new programs and fixing problems found in existing work. Often software engineers never meet any of the people who use their creations. This custom is problematic because measuring success or failure is not merely an equation of development and maintenance costs. The human factor needs to be considered. Developers should imagine the worst possible impact of their work before completing requirements and analysis, thereby setting up a greater emphasis on delivering a proper system in the first place. This paper discusses tragic failures in several projects and describes ethical lapses during development and post-delivery support. This paper's results show the important role ethics plays in software development.