DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Testing, Tools, and Frameworks
  4. What If ''Rules'' Applied In Our Daily Efforts?

What If ''Rules'' Applied In Our Daily Efforts?

With the NFL championship approaching, a Zone Leader wonders if rules establish for the NFL could apply within Information Technology.

John Vester user avatar by
John Vester
CORE ·
Feb. 01, 19 · Opinion
Like (3)
Save
Tweet
Share
116.49K Views

Join the DZone community and get the full member experience.

Join For Free

Being a casual fan of professional sports, I probably favor (United States) football and hockey over any other options available to me. At this point in the National Football League (NFL), the final teams are gearing up for the "big game" to determine who is the champion for the season. I hesitate to say "world champion" since this is a statement that I have never understood. I mean, what other countries are actually participating this season?

At the heart of any sport, is a collection of rules. A rule book. Albeit quite involved, the goal is to establish guidelines for the sport and provide a central point where competitors can comprehend what is considered legal play and what is considered an infraction.

I began to wonder, what if our careers as Information Technology (IT) professionals were governed by a collection of rules?

Rooney Rule

The Rooney Rule, in the NFL, is a "policy that requires league teams to interview ethnic-minority candidates for head coaching and senior football operation jobs." Since the adoption of the Rooney Rule was put into place in 2006, the number of ethnic-minority coaches has increased from 6% to 22% for head coaches in the NFL.

Over the years, I have encountered corporations that are minority-owned, which has allowed them to receive special attention when dealing with state and federal agencies. Ironically, those whom I encountered from those agencies were not actually minorities. To me, this seemed like a non-minority group gaining an unfair advantage by utilizing a corporation that was noted as minority-based.

With this in mind, if I were to imagine the adoption of the Rooney Rule in Information Technology, I could see the following rules being defined:

  • 25% of all software licensed must be licensed from minority-based corporations

  • 25% of all consulting engagements must utilize minority-based corporations

  • 25% of all hardware purchased or leased must be from minority-based corporations

  • 25% of all cloud-based solutions/licenses/subscriptions must utilize minority-based corporations

  • Any project that is out for a request for proposal (RFP) must receive a bid from at least two minority-based corporations

In all cases, 90% of these minority-based corporations must employ minorities.

Taking this approach, the goal of the Rooney Rule would be recognized — giving minorities more presence in the IT industry.

However, the challenge with this approach is finding minority-based corporations that can truly compete with software, hardware, cloud, consulting and project-based entities which are not minority-based and have market-leading solutions and services. At the same time, corporations will find themselves at a competitive disadvantage (at least in the near term) from global entities which do not have to abide by such a rule.

SOx Compliance Extensions

In my "Taking Your Company Private?" article, I talked about the price to adhere to Sarbanes-Oxley (SOx) compliance and how one public company I worked with considered taking their corporation back to private status. In the end, the realization was made that the requirements for SOx compliance were good practices that should be been followed regardless of the status of the corporation.

What if SOx compliance was amended to require that any custom program logical maintain at least 90% coverage from unit and integration tests?

This would cover not just traditional program code (C#, Java, JavaScript, etc.), but even business logic buried inside macros within programs like Microsoft Excel.

Just considering traditional program code, I have encountered interesting results with unit tests alone:

  • Unit test exist, with impressive coverage (< 10%)

  • Unit tests exist, with low coverage (10% - 50%)

  • Unit tests exists, but disabled (due to errors) (5% - 10%)

  • Unit tests do not exist at all (10% - 30%)

The number of true integration tests that I have found are significantly less, even if existent at all.

Most of the time, the reason I receive when I ask about unit and integration tests is that projects often fall behind schedule. In order to meet the deadline, creation and maintenance of unit/integration tests are often taken out of the project.

One big challenge I encountered was during a project I worked on for a State agency. I was part of a small team that was rewriting an accounting module. Each team member relied on another's work. Since we started at the same time, we decided to use unit tests to mock up what we would receive in order to start our development.

Taking this approach was nice. The happy path, alternative path, and exceptions could be validated well before we were fully completed with our effort. Life seemed grand and the unit tests were a huge help.

Then, we discovered that some of our requirements were not being interpreted in the right way. The corrections caused changes with the programming and model objects that were being passed from each section of work. As a result, every one of the unit tests was now failing. Ahead of each of us was the task of correcting all the unit tests so that they were functional again.

We were fortunate to be able to resolve the issues prior to the deadline for the module, but this situation provided me with a real-life example of how the breakdown of unit tests (noted above) can become a reality.

Penalties

In the sections above, I provided a couple of examples of how rules could be applied to IT.

I am pretty sure that every rule book has space allocated to handle infractions, or consequences, when rules are broken. The challenge with the implementation of IT-based rules is to establish some form of penalty when the rules are not adopted.

Since SOx compliance relates to publicly-traded companies, there is a natural mechanism for corporations to stay within the guidelines. Failure to do so will lead to a report being made public, which could impact the price in which the entities stock is traded. If the situation became severe, the company could be delisted from the public exchange in which they participate.

However, implementing the Rooney Rule might be tougher to enforce. One would think legal action, perhaps at a state or federal level might be enough to warrant compliance. But legal items simply could get lost in the mix — with out-of-court settlements lessening the impact from failing to adhere to the rules.

One might think that social media could provide a rationale to avoid failing to adhere to the rules. The downside here is that a majority of the customers are less likely to avoid the company due to a Rooney Rule infraction. Consider this example:

Company A loved their CRM provider. It was a proven, market-leading solution that allowed the sales team to reach increasing levels of customers and prospects year of year. The Rooney Rule was employed and required the corporation to consider a minority-based SaaS provider. The corporation's view was that their viability as a growing entity would take a negative impact if they were to switch to another CRM provider. In this case, customers of the product loved the product they were offering and really didn't care that they leveraged a market-leading solution to reach more consumers.

The only drawback that could face the customer is if prices were to increase as a result of legal action to defend adherence to some rule. This would more likely than not, cause the consumer to be dissatisfied with whomever enforced such rules — standing beside the company under fire.

Conclusion

I mentioned the NFL at the start of this article, as an introduction. This was by design, as both games leading into the season finale were faced with issues around the rules of the game:

  • One game's overtime rules did not allow one team (that fought hard to tie the game) a chance to continue scoring points, leading to an unfortunate loss

  • The other game's lack of enforcement over a blatant infraction caused the losing team an opportunity to win in the final minutes of regulation

While no game should be decided by infraction or non-infraction of a clear penalty, my point here is that no rules system is perfect. There is always an exception to every rule, just as we program exceptions in our logic. Unfortunately, defining rules for exceptions becomes an exercise of dealing with situations that occur rarely — often without a clear basis on what the correct resolution should be.

I feel the same situation would apply when attempting to define rules for the IT industry. Trying to establish a Rooney Rule would currently lead to a competitive disadvantage based upon the current state of solution and service providers. Trying to enforce new requirements to SOx compliance would increase project costs — especially as business rules and requirements change over time.

For now, it is probably a good idea to leave things as they are. I don't suspect the same will be true with the NFL and their rules committee.

Have a really great day!

unit test IT

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Key Considerations When Implementing Virtual Kubernetes Clusters
  • Bye-Bye, Regular Dev [Comic]
  • Top 5 Java REST API Frameworks
  • Stream Processing vs. Batch Processing: What to Know

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: