Process-agnostic (So it can be carried into any organization's culture) nuts-and-bolts approach to designing, building, and testing software. Not open book, and not 100% multiple choice. Require actual code to be written from scratch, in addition to an existing systems to be "maintained" by applying a security fix, adding a feature, or put under test.