Skip to main content

3 posts tagged with "systems engineering"

View All Tags

· 4 min read
Josh Kaplan

DevOps, a portmanteau of development and operations, is the concept of breaking down the boundaries between development and operations to create an environment that achieves faster feedback and enables teams iterate faster towards the right solution.

· One min read
Josh Kaplan

The Mythical Man-Month by Frederick Brooks Jr. is the classic software engineering text for building complex software systems. The book was orginally published in 1975 and is based heavily on lessons-learned from the developments of IBM's OS/360. But despite its age, many of the lessons from The Mythical Man-Month hold true today.

There are two concepts I'll touch on that really resonated with me. The title mythical man-month, or perhaps in more modern terminology the FTE, or Full-Time Equivalent (or other similar term). This address the idea that people and time are not interchangeable. That adding more people doesn't necessarily speed up a project if those people don't have sufficient understaning or the tasks cannot be paralellized.

The second lesson I'll share is: plan to throw out the first one. This is as true today as it was in 1975 and is arguably more true in the context of modern agile software. We rarely get a product right on the first pass and it's through incremental iteration that we make it the better.

· 4 min read
Josh Kaplan

Despite the wide adoption of modern agile practices, formal engineering requirements remain important in many organizations. Formal requirements are often defined early in a project (i.e. before design and implementation), though they often evolve throughout the product lifecycle. They are important because project and industries that define formal requirements specifications tend to hold engineering teams accountable to meeting those requirements. Formal requirements can derive from industry regulation and compliance standards such as FAA regulations, FCC requirements, NIST cybersecurity standards, HIPPA compliance, PCI standards, etc. or be defined by engineering teams in collaboration with customers to capture project-specific constraints.