Category Software Development Process

Security Architecture for Cyber Physical Systems

Slides I presented at the Automotive Cybersecurity conference at Detroit on Friday. The main message is captured in the last bullet in the Summary: We do not know how to build 100% reliable systems, we only know how to manage risk – your system will fail and you have to build for failure. This was […]

How Toyota Changed the Way We Make Things

Don’t make irreversible decisions in the first place; delay design decisions as long as possible, and when they are made, make them with the best available information to make them correctly. Video by Bloomberg The Japanese Car Company is a corporate behemoth – but it’s done much more than just give us Corollas or Land […]

The Security Development Lifecycle: SDL: A Process for Developing Demonstrably More Secure Software

Several quotes from ‘The Security Development Lifecycle: SDL: A Process for Developing Demonstrably More Secure Software’ 2006 book by Michael Howard; Steve Lipner Design specifications miss important security details that appear only in code. Don’t just say, “This is bad.” Instead, say, “This is the way you should do it.” In our experience, engineering staff […]

Modern large scale architectures

Facebook and Microsoft shared how they build their software. Some excellent insight into modern software practices. The most obvious approach might be to imagine the future you want and build it. Unfortunately, that doesn’t work that well because technology co-evolves with people. It’s a two step—technology pushes people to move forward and then people move […]

Software Development Process Diagram

Came across a very good albeit old (but not aged) diagram describing development process, found in Patterns of Software Architecture (POSA) book. Compare that to Microsoft’s vision of a modern cloud-based application from today: