Architecture - Facilitated over Separated

I was asked what percentage of time I spend on system design (or architecture) over coding. The question didn’t make sense to me, and I think I’ve articulated why. I see architecture as a facilitated aspect of implementation rather than a separable process.

March 30, 2023 · 4 min

What's your Duck: Conclusion

This series is about design process and organizing our thoughts for effective development. The main goal is to establish a mental model and intuition for effective design process. This post reviews what we’ve learned.

June 16, 2022 · 2 min

What's your Duck: Stage-specifc questions

This series is about design process and organizing our thoughts for effective development. The main goal is to establish a mental model and intuition for effective design process. This post explores questions to clarify thoughts in specific software lifecycle stages.

June 16, 2022 · 4 min

What's your Duck: Ducks

This series is about design process and organizing our thoughts for effective development. The main goal is to establish a healthy mental model and intuition for effective design process. We’ve previously established core ideas about design process and now well dig into concrete techniques. And yes, finally explain the ducks.

June 16, 2022 · 3 min

What's your Duck: The Design Tree and Incremental Progress

This series is about design process and organizing our thoughts for effective development. The main goal is to establish a mental model and intuition for effective design process. This post explores the fundamental questions “How do we effectively break down problems?”, “Can software be perfect?”, and “What makes software good?”

June 16, 2022 · 5 min

What's your Duck: Software as Clarity

This series is about design process and organizing our thoughts for effective development. The main goal is to establish a mental model and intuition for effective design process. This post explores the key questions “What is programming?”, “What is Software Engineering?”, and how these answers relate to our design process.

June 16, 2022 · 4 min

What's your Duck: Series Intro

This series is about design process and organizing our thoughts for effective development. The main goal is to establish a mental model and intuition for effective design process. The duck bit will be explained later.

June 16, 2022 · 1 min

Lifecycle Artifacts and Cross-Cutting Concerns

The Software Engineering Body of Knowledge (SWEBOK) portrays the software lifecycle as a set of transforms. I realized that each transform creates an artifact, and these artifacts are key to connecting cross-cutting concerns into the lifecycle phases.

August 20, 2021 · 5 min

Software Engineering as Problem Translation

The Software Engineering Body of Knowledge (SWEBOK) states that software engineering transforms problems stated in natural language to problems stated in electrical current. This transform view emphasizes the continuity of the design process and highlights intermediate artifacts.

August 13, 2021 · 3 min

Duck Structure

Good designs generally reflect the nature of the problem they solve, and the same applies to designing a process for design. Design is messy, incremental, and has spurts of both broad and deep exploration. Here I’ll describe the simple and flexible organization structure my duck docs evolved to capture design thoughts for reference without impeding exploration.

May 21, 2021 · 6 min