Welcome!

Java IoT Authors: Liz McMillan, Elizabeth White, Yeshim Deniz, Pat Romanski, Chris Schwarz

Related Topics: Java IoT

Java IoT: Article

Java Development Managers Stress the Need to Improve Software Quality

Lack of attention early in the development cycle negatively impacts the code's entire lifecycle

We've all experienced it - the "get it out the door" mentality that seems to be the driving force behind many software application deliveries - a prime example of the software industry's immaturity that favors completion over quality, and an end user's preference for hot new features over stable, reliable systems. Deferring the QA process is an expensive way to operate and corporations are taking a financial hit for these software errors. According to the Washington, D.C., National Institute of Standards and Testing (NIST), software errors cost the U.S. economy $60 billion per year. This report was issued back in 2002 and, since then, the software industry has done little to improve the situation.

Why are software bugs so pervasive? We don't accept these same poor standards in other industries, so what makes software exempt? Some say it's the inherent complexity of systems and software that are the primary causes of application failure, or that poorly defined system requirements and unrealistic schedules are at fault. Others blame it on developer apathy. Most of the time, however, software failure is the direct result of poor quality code, brought about by a lack of standards and metrics in the development phase.

A Clear Horizons market research study, commissioned by Enerjy Software, identified key code quality issues that impact software development managers. First, quality tracking begins too late, if at all, to be effective. According to the study, 40 percent of Java software development managers surveyed have allotted time for checking code quality, but only in less than half of their projects. In projects where quality is being measured, nearly 30 percent did not measure code quality until the project was more than half completed. This lack of attention early on in the development cycle has a rolling negative impact for the entire life cycle of the code.

Focusing on Code Quality
The study found that most Java software development managers view code reviews, the traditional method of improving code quality, as inefficient and a source of frustration. With all the competing demands on their limited development resources, it often falls by the wayside. As a result, the act of fixing a bug may be the only time their code is actually reviewed. By that time, it is too late.

Development managers are demanding a change from the "fire fighting" mentality prevalent in the industry. However, this change needs to come from IT executives who must take the lead in establishing best practices that focus on quality across the entire software development lifecycle - from requirements gathering to deployment and beyond. Applying best practices to help achieve software quality must become a mindset that is filtered from the top down and includes:

  • Requirements definitions
  • Unit testing
  • Coding standards adherence
  • Change and version control
  • Quality assurance testing
  • Software maintenance post-release
It is imperative that quality initiatives begin before the first line of code is written. A key reason for software project overruns is that the time needed for the QA phase is usually grossly underestimated. This is because the QA phase should be used for functional testing, i.e., checking that the application does what it is supposed to do. Instead, too much time is being consumed in the QA phase, finding and fixing bugs that should have been fixed in the development phase. Errors need to be identified and prevented from progressing through the development cycle, because, as everyone knows, it's more costly to fix bugs later in the development process than at the beginning.

Early in the development cycle, developers need to define coding standards, adhere to them, and ensure that all code is unit tested. By applying coding standards and unit testing at the development stage, many potential bugs will never occur. During the quality assurance phase, standardized testing tools, suites, scripts, reference data, and metrics that have undergone a rigorous certification process can improve software integrity even more.

A focus on code quality enables development teams to optimize the quality of an application before it reaches production. Such a QA process will help to make testing less costly to perform, as well as provide a consistent method for determining when testing is sufficient. The focus on code quality throughout a Java application's life cycle will enable development teams to fix bugs and add new features within schedule while improving overall product quality.

Who's Responsible?
While software developers are responsible for maintaining or improving bad code, it is the development managers who are directly responsible for code quality. Their jobs are to deliver code that works and, with the same resources, ensure that critical bugs are identified and fixed in a timely manner - an almost impossible balancing act.

In fact, buggy code is the "Sword of Damocles" for all software development managers. It's what hangs over their heads and keeps them awake at night. According the aforementioned study, the number one complaint of Java software development managers is their inability to minimize software bugs in code before it is released. This study, completed in 2005, was conducted on a sampling of 216 Java software development managers who manage five or more Java developers.

Tasked with delivering quality code, how can Java development managers best facilitate quality processes? What are their primary challenges? What tools do they need to accomplish their objectives? It makes sense that a focus on quality is essential for the success of any software application.

Stressing the Importance of Code Quality in the Development Environment
Though development managers take the heat for missed deadlines, wasted development resources, and poor application quality, software development organizations have primarily focused on providing developers with the tools, infrastructure, and training for developing software applications.

While it is easy to blame software errors on developers - sloppy coding techniques, arrogance, and an insistence upon the freedom to create - it may be the development environment itself that is the problem. Typically, development managers have been promoted from within the development ranks due to their outstanding technical abilities and may not have had previous management training or experience. Often, they receive generic management training and technical training on par with their subordinates; however, this is not enough. Today's management and lead developers are stuck in a cycle of poor code and bug fixing, without the corporate backing required to identify issues and initiate software development best practices.

Another issue presented in the report is the lack of quality metrics available to Java development managers. A majority of the Java development managers in the Clear Horizons study reported frustration with developers not following Java best practices or coding standards, or producing "off-spec" code - yet they had no way to track this information via quality metrics. Without these quality metrics, development managers have no idea who is creating the bad code, or what percentage of that code adheres to standards or is being unit tested. As development managers, their primary objective is to prevent or minimize bugs. Without an in-depth understanding of the importance of code quality relative to individual developer performance, they are flying blind.

Most developers prefer to work in a structured development environment that supports best practices, because it offers relief from "fire fighting" and damage control. By introducing best practices into an organization's development environment, developers will find errors early, streamline the build processes, reduce overtime, and become clear on their roles within the organization.

Improving Tomorrow's Software Quality
With maintenance costs exceeding 90 percent of organizations' IT budgets, it is imperative that development managers work to transform their team's behaviors from reactive to proactive: instilling best practice tactics that focus on superior code quality and increased application development excellence. To do this, there must be greater emphasis placed on the quality of a team's deliverables at all points within the development cycle.

Java software development teams want to create quality code. Their apathy and resistance to change is often due to a stagnant development environment, over which they have little control. Teaching them about the benefits of best practices, such as the adherence to coding standards and thorough unit testing, is not enough. Most developers have already been exposed to these methodologies. Development managers, who are ultimately responsible for code quality, often feel they have their hands tied. Compressed schedules, unknown developer performance - especially with new hires and novice developers, the absence of best practices and controls, and a bug count that sidetracks resources from competitive enhancements, all conspire to keep them from sleeping at night.

In order for best practices to take hold, IT management must implement these best practices across the development team and promote code quality as a mindset from the top down. Development managers have to promote coding standards initiatives that are easily embraced by all developers and enact processes and procedures, such as source code control systems, that streamline processes, and unit testing, to eliminate many potential bugs before the software is released to Quality Assurance.

What Java development managers need most of all is a quality measurement system that institutes code quality metrics and helps them track and train developers, so that they can meet deadlines with high quality software that conforms to internal standards and exceeds customer requirements. Such a system would give Java development managers a greater sense of control over their development team and the quality of code that they produce.

More Stories By Nigel Cheshire

Nigel Cheshire is CEO of Enerjy Software, a division of Teamstudio Inc. He oversees product strategy and has been driving the company's growth since he founded it in 1996. Prior to founding Teamstudio, Inc., Nigel was co-founder and principal of Ives & Company, a CRM solutions consultancy. He holds a Bachelor of Science degree in computer science from the University of Teesside, England.

Comments (1)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
"We provide IoT solutions. We provide the most compatible solutions for many applications. Our solutions are industry agnostic and also protocol agnostic," explained Richard Han, Head of Sales and Marketing and Engineering at Systena America, in this SYS-CON.tv interview at @ThingsExpo, held June 6-8, 2017, at the Javits Center in New York City, NY.
DX World EXPO, LLC., a Lighthouse Point, Florida-based startup trade show producer and the creator of "DXWorldEXPO® - Digital Transformation Conference & Expo" has announced its executive management team. The team is headed by Levent Selamoglu, who has been named CEO. "Now is the time for a truly global DX event, to bring together the leading minds from the technology world in a conversation about Digital Transformation," he said in making the announcement.
"DX encompasses the continuing technology revolution, and is addressing society's most important issues throughout the entire $78 trillion 21st-century global economy," said Roger Strukhoff, Conference Chair. "DX World Expo has organized these issues along 10 tracks with more than 150 of the world's top speakers coming to Istanbul to help change the world."
"We are focused on SAP running in the clouds, to make this super easy because we believe in the tremendous value of those powerful worlds - SAP and the cloud," explained Frank Stienhans, CTO of Ocean9, Inc., in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"We've been engaging with a lot of customers including Panasonic, we've been involved with Cisco and now we're working with the U.S. government - the Department of Homeland Security," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held June 6-8, 2017, at the Javits Center in New York City, NY.
In the enterprise today, connected IoT devices are everywhere – both inside and outside corporate environments. The need to identify, manage, control and secure a quickly growing web of connections and outside devices is making the already challenging task of security even more important, and onerous. In his session at @ThingsExpo, Rich Boyer, CISO and Chief Architect for Security at NTT i3, discussed new ways of thinking and the approaches needed to address the emerging challenges of security i...
What sort of WebRTC based applications can we expect to see over the next year and beyond? One way to predict development trends is to see what sorts of applications startups are building. In his session at @ThingsExpo, Arin Sime, founder of WebRTC.ventures, discussed the current and likely future trends in WebRTC application development based on real requests for custom applications from real customers, as well as other public sources of information.
The financial services market is one of the most data-driven industries in the world, yet it’s bogged down by legacy CPU technologies that simply can’t keep up with the task of querying and visualizing billions of records. In his session at 20th Cloud Expo, Karthik Lalithraj, a Principal Solutions Architect at Kinetica, discussed how the advent of advanced in-database analytics on the GPU makes it possible to run sophisticated data science workloads on the same database that is housing the rich...
SYS-CON Events announced today that Massive Networks will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Massive Networks mission is simple. To help your business operate seamlessly with fast, reliable, and secure internet and network solutions. Improve your customer's experience with outstanding connections to your cloud.
Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devic...
"The Striim platform is a full end-to-end streaming integration and analytics platform that is middleware that covers a lot of different use cases," explained Steve Wilkes, Founder and CTO at Striim, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Everything run by electricity will eventually be connected to the Internet. Get ahead of the Internet of Things revolution and join Akvelon expert and IoT industry leader, Sergey Grebnov, in his session at @ThingsExpo, for an educational dive into the world of managing your home, workplace and all the devices they contain with the power of machine-based AI and intelligent Bot services for a completely streamlined experience.
With tough new regulations coming to Europe on data privacy in May 2018, Calligo will explain why in reality the effect is global and transforms how you consider critical data. EU GDPR fundamentally rewrites the rules for cloud, Big Data and IoT. In his session at 21st Cloud Expo, Adam Ryan, Vice President and General Manager EMEA at Calligo, will examine the regulations and provide insight on how it affects technology, challenges the established rules and will usher in new levels of diligence...
SYS-CON Events announced today that Calligo, an innovative cloud service provider offering mid-sized companies the highest levels of data privacy and security, has been named "Bronze Sponsor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Calligo offers unparalleled application performance guarantees, commercial flexibility and a personalised support service from its globally located cloud plat...
SYS-CON Events announced today that DXWorldExpo has been named “Global Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Digital Transformation is the key issue driving the global enterprise IT business. Digital Transformation is most prominent among Global 2000 enterprises and government institutions.
SYS-CON Events announced today that Datera, that offers a radically new data management architecture, has been named "Exhibitor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Datera is transforming the traditional datacenter model through modern cloud simplicity. The technology industry is at another major inflection point. The rise of mobile, the Internet of Things, data storage and Big...
While the focus and objectives of IoT initiatives are many and diverse, they all share a few common attributes, and one of those is the network. Commonly, that network includes the Internet, over which there isn't any real control for performance and availability. Or is there? The current state of the art for Big Data analytics, as applied to network telemetry, offers new opportunities for improving and assuring operational integrity. In his session at @ThingsExpo, Jim Frey, Vice President of S...
"MobiDev is a Ukraine-based software development company. We do mobile development, and we're specialists in that. But we do full stack software development for entrepreneurs, for emerging companies, and for enterprise ventures," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
SYS-CON Events announced today that DXWorldExpo has been named “Global Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Digital Transformation is the key issue driving the global enterprise IT business. Digital Transformation is most prominent among Global 2000 enterprises and government institutions.
In his opening keynote at 20th Cloud Expo, Michael Maximilien, Research Scientist, Architect, and Engineer at IBM, discussed the full potential of the cloud and social data requires artificial intelligence. By mixing Cloud Foundry and the rich set of Watson services, IBM's Bluemix is the best cloud operating system for enterprises today, providing rapid development and deployment of applications that can take advantage of the rich catalog of Watson services to help drive insights from the vast t...