• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Engineering Books
  • Lessons in Software
  • Archives
  • JD Meier.com

Techniques

Engineering Practices Frame

One of my earlier projects on the patterns & practices team at Microsoft was originally called Life-Cycle Practices.  Later, I renamed it to Life-Cycle Templates.  Finally, I settled on Engineering Practices.   Engineering Practices became a key organizing theme for our work and served as the foundation for our ALM frame. Knowledge AreasThe Engineering Practices Frame …

Read moreEngineering Practices Frame

Periodic Design Refactoring

In Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle, Ian F. Alexander and Neil Maiden mention periodic design refactoring: A variant of the Incremental model appears to be the ‘Extreme Programing (XP)’ approach put forward in Beck (2000) in which integrity of the system architecture across all increments is maintained by periodic design ‘refactoring.’ …

Read morePeriodic Design Refactoring

Incrementally Render the Solution

One of my favorite phrases is “incrementally render the solution.”   While building our end-to-end application solutions, I find it helpful to first create a skeleton and then hang the solution off of it.  Below is an example of solving an Intranet security scenario for an ASP.NET Web application.  Pictures are worth a 1000 words. Scenario

Read moreIncrementally Render the Solution

User, Business, and Tech

I find it’s always helpful to think in terms of user, business and tech.  For example, whenever I see a product design or requirements, I walk through the user perspective, the business perspective and the technical perspective.  A lot of times, the business or technical perspective ends up winning because the customer didn’t have a …

Read moreUser, Business, and Tech

STRIDE Explained

STRIDE is an acronym to help you think about potential software security threats and attacks.  It helps you think evil (i.e. like an attacker.)  I had the privilege of talking to one of the creators of STRIDE, Loren Kohnfelder.  He told me that he originally created STRIDE to help people get in the right mind-set …

Read moreSTRIDE Explained