Services

Blog

Is a Complete Rewrite from Scratch The Answer?

May 4th, 2016

Complete rewrites from scratch can be very difficult, risky, and should
only be done with strong justifications and planning. A large, failed rewrite from scratch effort
typically causes a huge amount of wasted time, resources, and missed opportunities. At worst, a particularly
misguided or poorly managed one can ruin an organization, cost people their jobs, destroy morale,
and burn out good staff. If the software works properly, is secure, and meets customer/business requirements
then a complete replacement is more likely than not a poor proposition.

The rationale for a large, complete rewrite shouldn’t be based on the self-serving motivations
of a few, obsessive devotion or loathing of a platform, or naïve thinking. For instance, a developer
team wants to try out a bunch of new technologies and sees a rewrite as an opportunity to do so.
This can be beneficial to the team members as it improves their résumés, but isn’t
a great business decision unless there are serious problems with the system. Maybe an architect,
developer, or team lead hates a particular technology or wants everything written with their favorite
framework and language regardless of there being no serious issues with the product. Perhaps a team
of inexperienced developers that decides they’re going to fix everything wrong with the old,
working system that was written by a “bunch of idiots”. If serious thought isn’t
put into the reasoning, it isn’t a good assumption that it will be done so at the planning
or development phases either.

On the flip side, there are some reasons that could lead to strong justifications for taking on such
a project:

The software simply doesn’t work. It’s fragile, full of bugs, and the customers/users
hate it.

The system is very difficult to maintain, understand, enhance, and is increasing ill-suited to
meet customer needs.

It is built on unsupported, dead-end, and insecure technologies that cannot be modernized
without an extensive rewrite.
Example: An unemployment insurance claims system written with a combination of VB6, ASP, BizTalk 2K, Commerce Server 2K, and SQL Server 2K.

The technology stack is making the product increasingly uncompetitive because requested
features are impossible to support or require time consuming development when solid,
pre-written libraries are available for other stacks competing products are using.
Example: A Content Management System (CMS) written in classic ASP and VBScript.

It is not feasible to gradually replace portions of the old system until it is entirely
replaced.

Critical, non-replaceable components of the software are subject to a cease and
desist order due to a legal conflict with a vendor.

Software that is blighted with some of these serious problems can be a possible rewrite from scratch
candidate. If you’re leaning in that direction, here are a number of additional questions to
mull over when considering and planning such a project:

Do you know what the system does and how it interacts with other components and services? It can
be a difficult and time consuming process to determine what a system does, and even with the
best efforts functionality can be missed. This is especially true of codebases that lack tests
and documentation.

Do you know how users use the system?

Is all of the functionality that has accumulated over the years really necessary?

Can the produce be replaced with a reasonably priced off-the-shelf solution as opposed
to a large development effort?

Do you have, or can you get, buy in from the business or your customers? Do you know
their thoughts about the current system you want to re-write?

What new value to your customers is being added as part of the rewrite?

Can you afford to support your current system while a new system is developed?
If need be, can you continue legacy support after your new system is
deployed to meet any necessary obligations?

How many missed opportunities could a total rewrite from scratch potentially
cost you? How many is your current software costing you?

Do you have a fair degree of confidence in the team of developers
that would working on the project and their experience?

Do you have a low enough rate of developer turnover that your
rewrite team is stable?

Good planning, development staff, and organizational support are critical for a successful rewrite from
scratch project. If done properly, your organization and customers may benefit for many years to
come.

About

Abbott-Unlimited is an innovative company that builds both technical and business driven solutions for
small to mid-size organizations. It specializes in helping businesses jump start their companies
into the advancements of the new-age technology industry by offering development as a service. Abbott-Unlimited
is designed to help originations get that new fresh start, or help aid and maintain an existing solution
with senior level experience.

Whether you want to create a quick website for advertising, or are looking to develop an in-depth application
that can help you cut corners on time consuming tasks, we have a solution for you. We work in the
newest technologies available and our job is to design and develop an industry leading product that
helps you stay ahead of the competition, and focused on an even brighter future.

Abbott-Unlimited LLC was founded in 2013 with the simple aspiration of offering senior level development
skills as a service to organizations with smaller budgets, lack of skillsets in specific areas, or
possibly just a shortage of man power. Abbott-Unlimited allows organizations to hire a temporary
or longer termed development staff as contractors without the overhead of benefits and retirement.
In turn, it allows the organizations to get a senior level team to complete the work for a much more
efficient cost.

Contact Us

There is no one size fits all in the information technology industry. You need a company that will work
with you to create a unique and efficient solution. Please feel free to contact us with us any questions,
and we can discuss what option(s) may fit your company best.

Name

Email Address

Phone Number

Message

Location

Contact

Business Intelligence

Being ahead of the competition is every business’s goal. How can they reach this goal? By making
better informed business decisions. Today’s successful companies rely on getting accurate,
precise, and real-time information. Companies who plan on staying ahead of their competitors
and have futuristic goals need solid Business Intelligence solutions to make informed business
decisions.

Those informed business decisions come from a universal concept recommending that you look at
your holistic business and technical model. There are numerous models vendors can sell you,
but the truth is a business needs its own specific business intelligence model. A unique
model allows for long-term value and reliability on securing the information you need when
you need it.

Depending on the complexity of your current system or business practices, we will analyze which architecture best fits your
needs and help bring your processes up to speed.

Cloud Computing

No matter how advanced or complex your enterprise system may be, Cloud Computing is always the safest solution for your data.
It is more efficient and requires less maintenance. We will store all your data including
your application, platform, and infrastructure inside the cloud so it will be easily accessible
from multiple devices.

Content Management System (CMS)

You may have seen the advertisement for how simple a CMS is to use, but not fully understand the concept or which product
is. Allow us to set up your site, and show you how to best take advantage of a full on CMS.
We also have customized CMS for you to view.

A content management system allows you to be the web developer 24/7. You have access to change any content anywhere on your
site at any time. Some owners do not want the responsibility of maintaining their entire
site, so we offer a customized content management system. Perhaps you have a section of “Latest
News” or “Top Stories” that needs to be updated, but the remaining content such as your “About”
page stays the same. We customize your web site to have simple administrative interfaces
that allow you to make changes to certain sections so you can keep your customers up to date.

Data Backup and Recovery

A 2008 study showed that almost 70% of computer users had either lost files or data from their personal computer (PC). Whether
the data loss is from accidental deletion or actual corruption, it is always a good safeguard
to have backups in place whether it be a personal server or the cloud. Some companies have
data retention policies that require data be stored for a certain time frame. We have multiple
solutions for your data including security, storage devices, and even recovery plans.

Mobile Apps

The future is pushing for mobile devices to be the centralized device for everything. We can bring your website, store, or
web application to your customer’s mobile device.

Performance Managment

Performance Management is a key component to the success of almost all businesses. What happened in the market and why? Companies
need access to their current system’s statistics, analytics, and historical data to help
them increase profitability and performance. Having all of your companies’ statistical information
will allow for improved decision making, budgeting, marketing, planning, etc. A Performance
Management solution gives your company the opportunity to predict where the markets strong
point and potential money makers.

Search Engine Optimization

Search Engine Optimization (SEO) is the process of affecting or manipulating the visibility of your website or web page in
a search engine such as Google or Bing. As an internal marketing strategist for your company,
SEO is the ideal tool to make your company discovered/noticed on the web. SEO considers how
search engines work, what people search for, keywords and terms, and which search engines
are preferred to the standard web surfer. Optimizing a website may involve editing content,
and associated code to increase its relevance to specific words and terms.

Websites

Share your vision with us and we will put your vision on the World Wide Web. We can help you plan your site or application
from an architectural stand point down to choosing a complimentary color scheme design.

We offer different kinds of websites. There are basic sites that hold content and no changing data. Such a site might advertise
the existence of a business, a basic list of services, and a contact page. We also offer
dynamic websites with granular, updatable content. An example of this type would be a site
where you could control the product details, prices, pictures, and inventory in a way that
was publicly searchable.

Online Stores

Looking to sell your merchandise on the web? We can help you set up a shopping cart and payment engine to make it more convenient
for your customers to pay online.

Mission Statement

Abbott-Unlimited LLC will provide the highest quality of software development services, in the most cost-effective manner,
to facilitate our client's mission.

To meet this mission we will:

Provide effective software development support for audio/visual, computer, multimedia, voice, video, and web based applications
and services to all areas of the college.

Promote and facilitate the effective integration of technology into the basic mission of our clients through planning, programming,
training, consulting, and other support activities.