A lot of development teams will tackle practices like documentation, performance analysis and security hardening after a feature is complete. However, since these practices are not treated as a part of the development process, they rarely have any impact on the developed feature. Punting on documentation prevents developers from really validating user experience. Conducting performance analysis at the end limits efficient design decisions during implementation. Security hardening as an afterthought results in bad designs that are hard to backtrack from. This talk will survey how some software systems historically made bad design decisions when not incorporating security as part of the process.