Is it true that Agile doesn’t work? Before anybody posts my address and a photo of my house on Facebook along with death threats, I don’t believe that Agile doesn’t work. Personally, I believe that it is the current best (much of the time) approach to software development when long-term development speed, responding to changing requirements, and quality ......

The first day of the first semester programming class, I introduced the students to the concept that the most important part of building a system, whether it is something physical like a bridge to cross a river or a computer system, is to understand the problem. Many novice programmers believe that if they are writing code, they are making progress, ......

One of the things that I consider fundamental concerns a method or function. Historically, a method does exactly one thing, which its name describes. It starts at the top and ends at the bottom; i.e., it has exactly one entrance and one exit. With such a simple guideline, how can anybody submit a method that deviates from it? For example, the following ......

I regularly rant about programmers not knowing the fundamentals without giving any concrete examples. An acronym that I coined with an esteemed colleague during one such rant is FBC (Fully Buzzword Compliant). Many programmers can spew buzzwords like pickup lines in a bar, and many of them can even give a correct definition. However, when it comes time ......