What makes good software development tools great? – TheServerSide
Any software developer that has been in the game for more than a few Java release cycles inevitably has stories to tell about the best and worst software products used. From servers that literally took more than an hour to stop and start to integrated development environments (IDE) that actually generated code that didn’t compile, there are plenty of software product horror stories to go around. It’s easy to tell when a given software product is junk, but it’s not as clear what criteria elevate a product from being something that is simply functional to the status of a great software development tool.
“It’s very hard to do very nice tools,” said Anton Arhipov, product manager at ZeroTurnaround, about the challenge of delivering software that is not only functional but also integrates seamlessly with the day-to-day tasks a software developer must perform.
It gets so much of the workflow right and gets out of your way and enhances the productivity of the developer.
Geert Bevin,
senior software engineer, Moog Music
The importance of this seamless integration can’t be understated. It’s an approach ZeroTurnaround — a seller of software development tools based in Boston and Tartu, Estonia — has always taken with its JRebel product, and it is a philosophy that can be seen in the newer XRebel product as well.
“Developers want tools that will enable them but will also get out of their way so they can stay in the flow,” said Geert Bevin, former product manager for XRebel at ZeroTurnaround who is now senior software engineer at Moog Music.
In this regard, some good software development tools end up falling flat by continuously prompting users by requiring complex, one-off configurations, or even by making it difficult to replicate a configuration from one development machine to the next. Core functionality is important, but it is often non-functional aspects to a given tool that lead to backlash from users.
The high-quality nature of the various performance, troubleshooting, monitoring and software development tools on the market today may be creating an incredibly high bar in terms of what passes for a great software product. There was a time not too long ago in which developers wrote code in an editor like Vi, command-line tools performed compilation and, in terms of troubleshooting, there was nothing more than a cryptic log file to sort through.
“An editor who understands Java code, a tool that understands how an abstract hierarchy works, an IDE that can do just-in-time compilation right in front of you — all of these are now things that people take for granted,” said Bevin.
In terms of getting the product quality equation right, the guiding light in the Java community always has to be IntelliJ IDEA by JetBrains. Three very polished integrated development environments are available to the Java developer, with Eclipse and NetBeans being free to download and install, while IntelliJ comes with a price tag. Despite the Java community’s love for open source products like NetBeans, and its members’ general skepticism towards commercial vendors, IntelliJ continues to dominate the IDE market while boasting an enthusiastic set of users.
“It gets so much of the workflow right and gets out of your way and enhances the productivity of the developer. It’s something we’re doing with our own tools like XRebel,” said Bevin, explaining how ZeroTurnaround worked hard to create a tool that didn’t require the use of complicated profilers or the configuration of application performance monitoring components when the company designed and developed its recently released lightweight Java profiler.
The key takeaway when it comes to developing great products is to start with a product that performs its basic functions well. With that in mind, an IDE must create code that compiles and a troubleshooting tool must make it easier to isolate and diagnose problems. But a great product goes far beyond that point, with ease of use being one of the key non-functional requirements. A tool that works well, is easy to use and gets out of the way when other work is being done often wins the endorsement of a software developer.
Which non-functional requirements do you need the most? Let us know.
Next Steps:
Agile development in 2015: Agile software dev tools
A software developer shares insights
While plenty of developers entertain the idea of adopting a functional programming model, it’s important to first know exactly …
In this primer on SOLID, we’ll examine the five principles this development ideology embodies, the practices they encourage and …
Every software project proposal requires in-depth research into the technical aspects at play, but the business case for the …
Docker ships a managed service that pushes container image builds to AWS and adds shared caches to customers’ existing dev tools.
Using open source software raises concerns about security and intellectual property. Here’s how to make sound decisions and avoid…
Apache JMeter and other load-testing tools can be used with Kubernetes to conduct stress tests to see how well an app performs in…
The cost of spot prices can be a risk-and-reward kind of strategy. Better understand the risks that come with Azure Spot VMs so …
A successful FinOps team relies on clear team structure and roles, shared accountability and baseline measures of success. Use …
PaaS is a good option for developers who want control over application hosting and simplified app deployment, but not all PaaS …
HPE suspects that Cozy Bear, a Russian state-sponsored threat actor also known as Midnight Blizzard and Nobelium, breached its …
To ensure successful adoption, IT leaders need to understand the benefits of SOAR tools, as well as potential disadvantages. …
While other threats are likely to increase as well, the U.K.’s National Cyber Security Centre warns that threat actors will use …
Many organizations struggle to manage their vast collection of AWS accounts, but Control Tower can help. The service automates …
There are several important variables within the Amazon EKS pricing model. Dig into the numbers to ensure you deploy the service …
AWS users face a choice when deploying Kubernetes: run it themselves on EC2 or let Amazon do the heavy lifting with EKS. See …
All Rights Reserved, Copyright 2000 – 2024, TechTarget
Privacy Policy
Cookie Preferences
Do Not Sell or Share My Personal Information
Recent Comments