ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Simple Lessons Learned in Software Development and Support

Updated on January 9, 2018
tamarawilhite profile image

Tamara Wilhite is a technical writer, an industrial engineer, a mother of two, and a published sci-fi and horror author.

Introduction

As an industrial engineer in IT and having completed more than a dozen Six Sigma projects in IT, I’ve learned a few simple lessons through a decade of software development and software support.

What should you consider before adding that new software feature? What new functions take priority when you have limited time or resources? What should you do to maximize the odds of a successful software migration or upgrade?

This simple "lessons learned" list will make your software development and support functions run more smoothly.

Whether you call it Six Sigma, Lean IT or another term, simplification literally makes everyone's lives simpler.
Whether you call it Six Sigma, Lean IT or another term, simplification literally makes everyone's lives simpler. | Source

Before You Add That New Feature

Your software doesn't have to do everything. In fact, it can’t. You can't include every function everyone wants in the product, and you shouldn’t try to because complexity increases the odds of missed defects.

There will be someone upset that the software doesn't include a pet function they've petitioned for. Don't let their continual crusade lead to new defect reports and software changes associated with the new release, regardless of the cost or value added. The primary goal should be ensuring that the software app does what it needs to do and does it well.

Focus on improving and - if necessary - fixing core functions over adding bells and whistles or debugging a new, cool feature that isn't mission critical. For example, a financial app with interfaces to a rarely used niche tool and poor reporting both in need fixing should have the reporting fixed first. A cool new feature is less important than the functionality that is critical to its users.

Simplify, Simplify, Simplify

Do you want to improve your software? Consider reviewing the use of various functions and whether rarely used ones could be removed. Simpler is usually better, and the application will run faster if there is less code to run while development is sped up by removing functions.

Research alternatives before creating a brand new report on top of the long list of reports your application or website already has. Instead of creating niche, rarely used reports, can the same data summary be generated with an Excel Macro or report within MS Access from reports already created by your tool? Use existing resources before you create a new report.

Setting Priorities

First do what your customers would like to see, not what the programmers think would be cool to do. For example, don't recode your app in the latest hot programming language if it works fine as is. You don't have to make everything web based, and it might not be a good idea to do so due to security concerns.

Check in with your customer base when setting priorities. While security patches and software changes to keep up with operating system changes are important, don’t forget to poll the user community to determine what their most important fixes would be. This should be like asking your customers for their definition of ease of use before you change the user interface.

Focus on the value of new features you gain with the software migration or software release, not the quantity of new features. When setting the priorities of which features or functions to include in a release, give top priority to those features that are most valuable or value added from a customer’s point of view. To paraphrase from “Rework” by Jason Fried, customers aren’t going measure your product on the quantity of new features but how well those features make it easier to do their jobs.

Source

Software Migrations and Upgrades

Balance between racing to put out fires during a software migration and troubleshooting moderately severe issues. The mid-level problems may be signs of bigger problems, and throwing everyone at a burning platform means that smaller fires will grow larger until they are resolved.

Limit the changes made during a software migration or new release. For example, avoid migrating your existing database to another Oracle version while migrating to another software application. Complexity in the form of simultaneous migrations or two subsequent migrations increases the odds of failure.

Resist the temptation to classify new software bugs as future enhancements before or after a software migration. If people think it should work, it looks like a bug, acts like a bug and may result in bug reports. If it doesn't work, don't make it available to customers.

Have at least one application developer on hand during the software upgrade to handle problems that may arise during the migration.

Ensure that application developers are available in the first week or two after a software roll-out or upgrade to fix problems as they are discovered.

Can't We Just Fix What We Find After the Software Release?

Assuming you can fix any problems that arise on the first day or two of a software release or migration usually goes badly. Why is it a bad idea to rely on fixing software right after it has been rolled out?

1.This reasoning increases the odds you'll go forward without adequate testing, making problems more likely.

2. This reasoning shortchanges customers who receive inferior product, while hurting your product's reputation.

3. It is easier to delay a software upgrade to review potential concerns than go live while hoping that it works. When you delay a release, you can give yourself the time needed to fix the problems you think you have. And these are in addition to the unknown bugs that often do arise after a software roll-out.

4. Your team may be swamped troubleshooting compatibility problems and installation problems after the software release, and thus not have time to fix newly discovered bugs among the standard user tickets.

working

This website uses cookies

As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://corp.maven.io/privacy-policy

Show Details
Necessary
HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
LoginThis is necessary to sign in to the HubPages Service.
Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
AkismetThis is used to detect comment spam. (Privacy Policy)
HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
Features
Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
MavenThis supports the Maven widget and search functionality. (Privacy Policy)
Marketing
Google AdSenseThis is an ad network. (Privacy Policy)
Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
Index ExchangeThis is an ad network. (Privacy Policy)
SovrnThis is an ad network. (Privacy Policy)
Facebook AdsThis is an ad network. (Privacy Policy)
Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
AppNexusThis is an ad network. (Privacy Policy)
OpenxThis is an ad network. (Privacy Policy)
Rubicon ProjectThis is an ad network. (Privacy Policy)
TripleLiftThis is an ad network. (Privacy Policy)
Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
Statistics
Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
ClickscoThis is a data management platform studying reader behavior (Privacy Policy)