Hollis: For Developers, 'One Size Fits All' Doesn't Fit

Giving a keynote presentation at the VSLive! conference this week, noted speaker Billy Hollis decried the "fixation" on unit testing, among other topics.

In an industry changing as rapidly as the technology industry, there's no such thing as a universal solution. That was the primary message of Billy Hollis's keynote address at Visual Studio Live! earlier this week. Hollis, principal consultant with Next Version Systems, spoke on the current state of conventional wisdom in the application development world and how developers can and should take a more realistic, practical view.

"I've always had a bit of a contrarian view," said Hollis. In fact, his keynote session was entitled, "There's No Future in the Past: A Critique of Conventional Thinking on the Radical Changes in Our Industry."

"There are certain things people push as the only way to do things, and they just aren't universally applicable," he said. "My skepticism is shared by lot of people, but they don't hear that message in public."

Some of the conventional approaches with which Hollis takes issue include the widespread use of JavaScript, HTML 5, Agile and the move to unit test everything. Those are all valid technologies and processes, he said, and they have their place, but they aren't suitable for every situation. "All these things have value. All these things apply. They're just not the universal solution," he said. "People want clear answers. There's a demand for clear answers. That creates people who will give them those answers, even if they're not entirely accurate."

Hollis stated that the pace of technology advancement and the pace of change in the way organizations do business are out of sync, which helps create an imbalance. "The average small business expects their software to last eight to 10 years," he said. "Any technology changing as fast as [JavaScript and HTML 5] aren't going to be good for them."

And it's not just changes in technology that outpace organizational evolution, according to Hollis. Development practices and business processes also need to change. "There are certain processes developers like," he said. "Certainly development teams, depending on the size, that's a good approach. Others don't need that. It can be a straitjacket on how you think about software development."

Testing is another process upon which developers and businesses often place too much emphasis, said Hollis. "There's a fixation on unit testing. Everything should have a unit test," he said. "Unit testing has enormous value. I just don't believe you should be dogmatic about it. It gives up a lot of innovation in the client space." Certain aspects of visual code, he said, defy the processes of unit testing. "If you unit test everything, you're committing to not using those techniques, even though they're good for the users."

He said this has nothing to do with shortcomings of technologies like JavaScript and HTML 5 or development processes like unit testing. "I don't recommend against any of those things," he said. "It's just that they are not universal. There are circumstances when it's OK to not use those things."

It all comes down to matching the solution with the challenge, Hollis said. "Our industry is changing too fast for there to be one true way of doing anything."

Visual Studio Live! was held May 5-8 in Chicago. The next event is on the Microsoft campus, from Aug. 18-22.

About the Author

Lafe Low is the editorial liaison for ECG Events.

comments powered by Disqus


  • GitHub Copilot for Azure Gets Preview Glitches

    This reporter, recently accepted to preview GitHub Copilot for Azure, has thus far found the tool to be, well, glitchy.

  • New .NET 9 Templates for Blazor Hybrid, .NET MAUI

    Microsoft's fifth preview of .NET 9 nods at AI development while also introducing new templates for some of the more popular project types, including Blazor Hybrid and .NET MAUI.

  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

  • Nearest Centroid Classification for Numeric Data Using C#

    Here's a complete end-to-end demo of what Dr. James McCaffrey of Microsoft Research says is arguably the simplest possible classification technique.

  • .NET MAUI in VS Code Goes GA

    Visual Studio Code's .NET MAUI workload, which evolves the former Xamarin.Forms mobile-centric framework by adding support for creating desktop applications, has reached general availability.

Subscribe on YouTube