Saturday , February 24 2018
Home / Agile Software Development / Know What Not to Build in Software Development

Know What Not to Build in Software Development

The more you can create from scratch, the more proprietary genius you get to hold up for the rest of the world to admire. But realistically, time and resources are limited in software development, and you cannot and should not try to build too much. In an article at freeCodeCamp, Jonathan Solórzano-Hamilton shares tips for how to not waste time writing the wrong code.

Focus on the Core

Trying to build too many aspects of a product from scratch incurs many problems. One of them is security; will you really always be able to keep the product up to date against new security threats? Another issue is that trying to build too much from scratch is just an inefficient use of time. Great open-source and/or off-the-shelf solutions exist to be used. If you decide to build from scratch anyway with an attitude of, “It’s a great learning opportunity,” then think again: It might be a good learning opportunity for you, but it might also be a waste of time and money for the business funding your little learning experience. Do what is right for the business and the product.

Besides, as Solórzano-Hamilton notes, third-party solutions offer several major benefits:

  • You get access to features more quickly.
  • You are signing up for automatic improvements and new features as they are released.
  • You will have chances to give back to the community, in cases of open-source packages.
  • There will be less technical debt.

The only part of a product that absolutely must be built from scratch every time is the differentiating aspect, the secret sauce that makes it valuable. Valuable products do not need to be fully custom-built; it only takes a kernel of difference to create that value. Refrain from reinventing the wheel.

Lastly, about finding and identifying packages to deliver your product, Solórzano-Hamilton recommends checking out GitHub and Stack Overflow. He also says this:

Language-specific package repositories exist as well, including NPM for JavaScript, RubyGems.org for Ruby and Rails, and NuGet.org for .NET development.

Browsing the source, you will need to identify which packages will be viable for your product. The first indicator I examine is ongoing freshness. When was the last update? How many people help maintain the repository? How many of them are active?

Next, you need to make sure that the license is compatible with your product. Some licenses may impose additional obligations on you as a user of the package. The MIT License and Apache License 2.0 are usually safe choices. They impose few commitments on you (but you still have to comply with the license, however minimal).

For additional thoughts on what and what not to build, you can view the original article here: https://medium.freecodecamp.org/when-writing-code-is-a-waste-of-time-6602af8cb759

About John Friscia

John Friscia was the Editor of Computer Aid's Accelerating IT Success from 2015 through 2018. He began working for Computer Aid, Inc. in 2013 and grew in every possible way in his time there. John graduated summa cum laude from Shippensburg University with a B.A. in English.

Check Also

Metrics That Are Destructive to Agile

Key performance indicators (KPIs) play a critical role in business strategy, but are they unwelcome …

Leave a Reply

Your email address will not be published. Required fields are marked *

Sorry, but this content
is for our subscribers only!

But subscribing to ACCELERATING IT SUCCESS is FREE and only one click away!
Join more than 40,000 IT Professionals and get the best IT management articles to your mailbox with Accelerating IT Success!

Unsubscribe at any time