5 Questions to Answer Before Starting a Software Development Project

Updated on February 2, 2018
Steve Lauer profile image

I'm a 25-year professional technology veteran; a 20-year professional father of 6; and a 24-year professional husband.

Source

Introduction

There are many reasons to “home-grow” your own software solutions. It seems the largest driving factor of home grown solutions is: control. Your company’s abilities to control the software requirements, design, implementation, support and maintenance of a software solution is a very compelling advantage to home grown solutions. Control is essential when creating software that drives the mission critical aspects of your business.

We all want control, so why not always use a home grown solution? It isn’t really a question of why, but rather, when. In many cases companies don’t consider the full costs associated with a home grown solution. The cost of labor (IT and non-IT) and lost opportunities can quickly outpace the benefits of a software solution. Here are 5 things (besides direct costs) you should consider before embarking on a “home grown” internal software development project.

1. How Much Control Do I Need?

This is perhaps the most important question to ask yourself. As stated in the introduction, control over your software when it is the “secret sauce” of your business is essential. For example, if your company is a software-as-a-service (SaaS) provider, building your own software from scratch provides you the greatest chance for success, especially when trying to provide your customers with a competitive product and service.

However, many say, “Since I already have software developers, I will have them address all my software needs.” But do you really need control over all your software needs? For example, do you need to control the software requirements and implementation of your accounting software? Most companies don’t, and therefore, they purchase an accounting package. This is because as a SaaS provider, accounting software isn’t part of your core business, it just makes your accounting easier and more accurate; so you build your accounting practices and processes around the features and functions of your chosen accounting software.

Control over your software is important, but only exercise it where you need it. Imagine the cost of trying to manage a software development project for accounting software, when you are not an accounting software provider. Don’t let the abilities of your software development team dictate whether you need control or not, let the business requirement dictate the need.

2. Are We Reinventing the Wheel?

During the analysis phase of any software project, it is necessary to evaluate 3rd party solutions to determine if one already exists that can perform the same function of the project you are looking to undertake. In many cases, 3rd party options will exist, and the evaluation of cost, features, and function should help determine if it is more cost-effective to purchase a 3rd party solution.

Many project managers discount this step or skip it altogether. Since most software developers like to control the software solutions, they often try and dissuade management from using 3rd party software or components. Good software developers will embrace 3rd party solutions if it means they don’t need to develop and maintain a particular component of their solution (even if it is an internal component).

You will find, however, that there are instances and circumstances that require “reinventing” in your own solution. Every company has unique “tweaks” and process preferences where management is unwilling to compromise and, therefore, must be accommodated in their software solutions.

3. How Long Will My Software Solution Be Relevant?

Keeping your software solutions relevant is a very difficult task. In many cases, after the completion of a software development project the developers move on and only address critical issues and bugs as they are reported. The assumption that the software must be functioning as expected if no bugs are being reported is a faulty one. End users often will change their behavior to compensate for system shortcomings and defects. This is known as the “workaround” and the software is considered to be running “fine” because there are no defects being reported.

“Workarounds” tend to introduce inefficiency and cost to a process, and over time things begin to add up until these costs have essentially erased the benefits of the software. As time passes and knowledge about the software solution is lost, “band aids” and “quick fixes” are usually introduced to keep the technology current with evolving processes, but those too can begin to turn the original software project into a conglomeration of several smaller projects bolted onto the original.

To avoid irrelevancy, evaluate how long the solution will be used for, identify timeframes for reviews and refreshes, and frequently speak with the end user pool to see if you’ve achieved a solution that works with them, not against them. Always remember, just because a software development project was finished on time and on budget does not mean it was a success.

4. Is This The Best Use Of Our Resources?

What resources are we talking about? Money.

Everything that you use to create your product or service can (or should be) measured in money. This would include all your assets, equipment, time, and – as ruthless as it might sound – your people.

Speaking specifically about your software development team; is it the best use of your money to have them reinventing software that already exists elsewhere, just so it can become irrelevant in a couple years? Obviously this question is loaded and doesn’t consider all the information when deciding how to spend your development dollars.

To avoid missed opportunities, you should always consider what else your development dollars could be spent on. Could your developers be working on strengthening your core product and services?

5. Is A Hybrid Solution The Right Way To Go?

The likelihood that a perfect 3rd party application exists that fits all your needs is pretty slim. Companies that properly manage their software development and evaluate 3rd party software providers typically fall into a hybrid model of using 3rd party software to enhance their own custom software development projects.

Finding a 3rd party solution and recognizing that it can actually save you time and money is critical to controlling your software development costs. Consider this:

Your software developers tell you that it will take them approximately 500 hours to build a robust JavaScript data grid. Estimating the cost of developers and adding 15% for all other resources (project management, testing, etc.) you might spend around $35,000.
Looking around for a 3rd party solution, might only cost $1,500 per web server. That’s over 20 server licenses for the same cost as developing your own.

Your developer now has the extra 500 hours to spend ensuring that the system he or she is working on is designed and implemented properly, without the additional hassle of writing, implementing and maintaining a home-grown JavaScript data grid.

In other words, you’ve just saved 500 hours of cost that can be realized as savings or shifted to other projects

Conclusion

Management has the responsibility and duty to set the direction and preferences for their software development teams. Keeping your eye focused on the end result while balancing the factors of control, best use of resources, and validity of your software takes a concentrated effort. Pulling in 3rd party software can - and often is - the best way to assist in achieving your goals.

© 2018 Steve Lauer

Comments

    0 of 8192 characters used
    Post Comment

    • Rosemarie Sawyer profile image

      ROSEMARIE SAWYER 

      5 months ago from FLORIDA, USA

      THANK YOU.

    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, turbofuture.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://turbofuture.com/privacy-policy#gdpr

    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)