Category Archives: Software Quality

A call for a code of tech ethics?

Facebook and the like need to craft a professional code of ethics for the technology industry.

Source: A Facebook request: Write a code of tech ethics – Los Angeles Times

Where this is headed, naturally, is the concept of licensed professional engineers (P.E.) in software engineering. Development of a professional engineering licensing exam for software engineering was done many years ago. I believe Texas was the only state to offer the exam; however, due to low participation, they are discontinuing the software engineering PE exam as of April 2019.

Top programming languages as of December 2016 

  • Java
  • C (but popularity has fallen by half year over year)
  • C++
  • Python
  • Visual Basic .NET
  • PHP
  • Javascript
  • Assembly language
  • Perl
  • Objective-C
  • Ruby
  • Swift
  • Visual Basic
  • Delphi/Object Pascal
  • Go
  • R
  • MATLAB

Main take aways from this list:

Java, C/C++, Python, Visual Basic .Net, C#, PHP and JavaScript are the top programming languages.

Java, however, rates twice as high as C, which is higher than C++. Notably Python has risen to 4th place on the list, and assembly language makes it in to the top 10 at #9.

C and C++, and assembly language, are the languages of the Internet of Things devices (other languages are used too).

SourcE: Tiobe Index

US GAO’s full report on HealthCare.gov management failures

Here is the full report: Ineffective Planning and Oversight Practices Underscore the Need for Improved Contract Management (PDF)

I do not have time to read it just now but look forward to going over it later as a lesson in software engineering practices.

Cover Oregon software failed due to “ideological blindness” to the organization and management failures

Cover Oregon ran Oregon’s failed online health insurance market; it never enrolled a private individual and is being abandoned in a shift to the Federal HealthCare.gov web service.

The system never worked but insiders refused to believe what they were seeing because a “true believer mentality won out”.

This mind set is common in too many software projects with thoughts like “its just a few problems and will work fine once we get through this”, “we will make up the lost time later”, “the defects are not that serious-they are fixable”, “we can just drop a few features”.

Though the beta site was limited to insurance agents and certified consumer assisters, exchange managers — not unexpectedly — encountered bugs. “On Day 1, agents couldn’t even log in,” Jovick said.

It was the reaction from certain other people in the room that was disturbing.

Troubleshooters for Oracle, the project’s lead vendor, “were flabbergasted” and completely stumped by how the system was malfunctioning, Jovick recalled. Rather than knowing who to call to get problems fixed, Oracle’s reaction was “Huh? How did that happen?'”At that point, no one realized Oregon and Oracle had built “this absolute disaster that just didn’t do anything,” Jovick said.

via Cover Oregon insider Tom Jovick speaks: Health exchange problems stumped Oracle, blindsided staff video | OregonLive.com.

The management team ignored the warnings of many consultants who found “lousy code”, poor testing, lack of test environments, and more.  They were true believers in the ideals of the project and were blinded to what was in front of them.

Oregon ended up enrolling people by hand using paper applications. They lost 20,000 applications and enrolled 4,500 “non documented” immigrants (formerly known as illegal aliens) who did not qualify.

There is a potential that the  Cover Oregon organization be shut down and the staff laid off  (Update: Cover Oregon was shut down after spending about $450 million and never enabling a single consumer to enroll online). From a traditional business perspective, it seems they made need an entirely new organization that is not carrying “emotional baggage”, which is unfortunate for the staff. From a marketing perspective the “Cover Oregon” brand is irreparably damaged and should be replaced.

Enhanced by Zemanta

Developing Android apps using App Inventor 2

Front Page | Explore MIT App Inventor.

App Inventor is perhaps the fastest and easiest way to develop custom Android applications. App Inventor uses a graphical programming model in a cloud-based development system. Sounds complicated, but its not at all. It’s easy.

App Inventor 2 is a significant update to version 1.

Application user interfaces are constructed using a WYSIWYG drag and drop style interface (similar to many such UI designers). Components are added, properties are edited.

Switch to the “Blocks” view and behaviors are attached to events by assembling program blocks that look like this:

TextAppBlocks

 

Use of App Inventor 2 is presently free (its run by MIT) and uses a Google account for log in. Apps under development can be run in an emulator on your computer, or loaded into your actual Android phone using a Wi-Fi link, a USB connection, downloaded from a web site URL, or download the .apk file to your computer for transfer to your Android phone (USB or email it to your phone).

App Inventor was originally started by Google. MIT later took the project over and has made some very nice improvements to the original.

Can you do everything you would want to do in an app? No, but it is pretty amazing how much you can do in App Inventor. In some cases,  you could implement much of your app in App Inventor, and then special custom code that cannot be done can be written as a separate activity. Your App Inventor code can then launch your code to perform the required functions.

Enhanced by Zemanta

The difference between software engineering and computer science

Computing Now | Putting the Engineering into Software Engineering Education.

(I have an undergrad degree in computer science and one of my graduate degrees is in software engineering. They are related but not the same thing. Legally, however, it is generally against the law in many states for anyone to call themselves a software engineer unless they are a licensed Professional Engineer – or they work for a company and their state permits an industrial exemption for titles given to internal employees. The first PE exam for software engineering is to be offered in April of 2013; licensure in most states may require passing the Fundamentals of Engineering exam covering topics such as chemistry, physics, mathematics, structures and what not.)

Enhanced by Zemanta