News

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

Featured

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events