Why Is It So Hard to Do Easy Stuff?

April, 2021

The April 2021 tech talk was presented by Gerardo Lopez

Abstract:

Software technology is huge and seems complex, but it really isn’t: every technology is just an enormous bunch of small pieces (each only a few characters long). It is impossible for anyone to understand everything, but successful software implementations can be achieved with a thorough understanding of the “small set of pieces” required to solve a given problem.

To create a good software solution to address a given problem, we first must formulate a good understanding of that problem — specifically, we need to discover the structure of the problem. Good software should model the problem’s structure, thus making it easy to debug and maintain.

Engineering techniques to achieve this were invented many years ago, and many programmers and organizations were successful in applying this knowledge. These engineering techniques are easy to learn, but are not used widely enough by software engineers today.

About the Presenter 

Gerardo Lopez

Gerardo is an entrepreneur, businessman, and software engineer with more than 45 years of experience in transforming software development to well-established software engineering practices in order to achieve top quality and reduce development cost and time.

Gerardo holds a Bachelor’s degree in Electrical Engineering from Tec de Monterrey, and spent two years working for a Master of Arts degree in Computer Sciences at Texas University.

From 1982 through 2000, he founded and grew Softtek, a software development company in Mexico, to become the largest in Latin America. In 2002, he started Towa with the vision to excel in software quality and lead Mexico to become #1 in software quality in the world (“Mexico should achieve in software what the Japanese did in car manufacturing 60 years ago”). Gerardo is currently serving the SEA as leader of the Content Creation working group.

Past Presentations

Why Battle-Tested Software Engineering Still Matters in the Age of AI

The June 2026 Tech Talk was presented by Mario BenitezAbstractWhile use of AI in developing and maintaining software is increasing globally, this use is relatively new, and proven practices for using AI effectively are still emerging. There are different ways to use...

The SEA Data Warehouse

The April 2026 Tech Talk announced the availability of the SEA Data WarehouseAbstractThe Data Warehouse Working Group was initiated in September 2022, with the purpose of advancing the state of the practice and the art of software engineering by providing a source of...

Agentic Coding: The Earthquake That Topples the Software Factory

The March 2026 Tech Talk was presented by Larry MaccheroneAbstractThe tectonic plates beneath software development are shifting. They are moving too fast to predict what the landscape will look like when the earthquake hits. Still, we are sure that the coming...

Why Program Increment Estimates Miss: Hidden Variables for Planning

The February 2026 Tech Talk was presented by Dr. Bill Nichols and Dr. Tapajit Dey AbstractWhat is a credible range of dates for when the work in a product increment might finish? Software development work includes many sources of uncertainty, including the size of the...

Lessons from Using LLMs to Check Software Security

The January 2026 Tech Talk was presented by Dr. Mark ShermanAbstractLarge language models (LLMs) like ChatGPT are transforming the landscape of software development and evaluation, although claims of AI replacing programmers are often overstated. This session delves...

Process Isn’t a Four-Letter Word

The November 2025 Tech Talk was presented by David TumaAbstractAgile methods emerged as a direct rebellion against the heavyweight processes of the 1990s. And the Team Software Process (TSP) did too, by brilliantly reimagining process in a lightweight, agile way that...

Agile Strategy: Onward and Upward

The September 2025 Tech Talk was presented by Linda Parker GatesAbstractThis talk describes the application of Agile principles to strategic planning. It explores how applying balanced Agile values — such as prioritizing individuals and interactions, delivering...

Engineering of Complex Systems at NAVAIR: We Must Do More With Less!

The June 2025 tech talk was presented by Jeff SchwalbAbstractAt NAVAIR, we are experiencing a dwindling engineering workforce at the same time that we are trying to meet increasing demands for support to our warfighters. We have a combination of efforts uplifting the...

Victims vs. Victors: Navigating Career Uncertainty with Resilience

The May 2025 tech talk was presented by David VanEppsAbstractSetbacks are inevitable. Travel freezes, budget cuts, hiring slowdowns, layoffs — challenges like these can shake our sense of stability. While we can’t always control what happens, we can control how we...

Applying STPA to Improve Safety and Reliability of AI-Enabled Systems

The April 2025 tech talk was presented by Timothy DavisonAbstractThis talk explores the application of System-Theoretic Process Analysis (STPA) to enhance the safety and reliability of AI-enabled systems. STPA provides a structured and scalable approach to identifying...

Drive Improved Holistic Business Results with Lean/Agile Practices

The February 2025 tech talk was presented by Fred KoosAbstractAgile practices have roots in Lean Thinking and the Toyota Production System. These are holistic approaches to improve business results. As the word “Agile” was coined in 2001, the applications were...

Clarify Your Acceptance Criteria with GIVEN-WHEN-THEN

The January 2025 tech talk was presented by Matt McConnellAbstractGherkin, also known as GIVEN-WHEN-THEN, is an effective method for writing Acceptance Criteria at many levels in software development. It treats the software as a black box, focusing on the inputs,...

A Powerfully Simple Planning Framework

The December 2024 tech talk was presented by Dr. Brad HodginsAbstractUsing this very effective five-step approach, teams and individuals can create a detailed plan that will enable them to track their progress as they execute that plan. Organizations run on schedules...

Share This