System Development and Acquisition
Today’s generation relies heavily in technology. As a company, the software you are using plays a big
role on your success. Deciding whether to buy or build a software isn’t as easy as 1,2,3. There are a lot of things
that a management must consider. But before going through the buy or build concept, there are opportunities
that triggers the management to initiate information system. These are:
   1. Organizations may pursue opportunities to use information systems to support a key organization
      strategy or to seize a significant, and ideally long-term, competitive advantage.
   2. Pressure to increase profitability and improve operational efficiencies often drives organizations to
      implement new approaches and technology.
   3. The availability of new technology can create an opportunity to offer new services or attract new
      customers.
   These factors are considered on determining whether we will buy or build a software. Going deeper, there is
   a strategy that guides the management in making a decision—the Build vs. Buy Trifecta. When the initial
   fear and trepidation wears off, you find out there are three different pieces that go into a build vs. buy
   decision: cost, risk, and the problem you are trying to solve. A new project kicks off. It’s been decided that
   your company needs a new piece of software. This is where the inevitable build vs. buy decision rears its
   ugly head. It is not an easy decision to make. What you decide has long-lasting consequences. Cost should
   be your first concern. What is the cost of building the system? What is the cost of buying a vendor
   product? In order to answer these questions, you need to understand that there are different kinds of costs:
   1. License to Bill
   The first cost to consider when deciding to build vs buy is the cost to get the software up and running. For
   build, that is the cost of building the software. For buy, that is the cost of licensing. Building software can be
   expensive if the software is large and complex, requiring a large development team to create it. However,
   license costs can be even more if you don’t understand exactly how license costs are calculated. There are
   some vendors that charge you based on how large your processors are. Some data analytic software charges
   you based on how much data you put into the system. If you are not careful, you may find yourself racking
   up huge license fees in order to accomplish what you feel are basic tasks. Try to find vendors that have
   reasonable license requirements, such as a simple per user license or per server license. Some programs
   support setting up a pool of licenses on a server that can be “checked out” when users need them and then
   given back for others to take after use. When you build, you have no license fees. You only need to pay for
   the man-hours and infrastructure needed to build the software. This is sometimes simpler but also
   notoriously difficult to estimate accurately. When projects take longer than expected to finish, you’re stuck
   spending more and more money before the application is even ready for use. Also, don’t forget to factor in
   the cost of maintaining the application over time.
   2. Not Plug and Play
   When you buy a product, especially when you’re a large enterprise, don’t fall into the trap of thinking that
   you can simply install the product and be done. You’ll need a team of your own that will implement the
   installation of the product and integrate it with your other systems. You’ll need a team that continues to
  install patches and manage users and features. Also, be wary of consultants and partners of the vendor that
  help you to implement the product. They can be a source of expertise and help. They can also screw things
  up if they’re not competent, costing you even more money to fix the problems they introduce. Not saying
  you shouldn’t hire implementation partners, but let the buyer beware. Try to do your homework on them
  before you sign a contract. With all this in mind, you might get the idea that you should simply choose the
  cheapest option. That is not really the case. There are still two factors to consider.
  Risky Business
      The second key piece of the build vs buy decision is risk. Risk is the likelihood and potential impact of
  something going wrong. Either choice has different risks, and it’s up to you to know which ones matter the
  most.A large risk when you build a piece of software is whether or not you actually deliver. We’ve all been
  a part of software projects that deliver late or not at all, even though large amounts of money were invested
  in them. This risk can be higher or lower based on what kind of software you’re trying to build. Building
  software in a domain that you’re not familiar with can lead to trouble and high expenses. Risk rears its head
  quite a bit when you go for the buy option. The main risk is that you have a piece of software in your
  environment that you don’t fully control. You also don’t have access to the source code. Why is this a risk?
  One word: bugs. When you find a bug in a piece of software you built, you can simply create a ticket for the
  development team and fix it. when you find one in a product you bought, you likely have to submit a ticket
  to the vendor support site. They try to recreate the bug in their own environment and then get back to you. If
  they agree it’s a bug, then they slate it for their next release. You’ll get that in a few months at the earliest. If
  that bug is a security vulnerability, then you might be stuck running vulnerable software in production that
  you can’t patch right away.
  What Problem Do You Solve?
      When you created your business, you did it to solve a problem. Your customers or clients pay you to
  solve that problem for them. This is an important factor in the build vs buy decision. What problem are you
  trying to solve by building or buying software? Is the specific problem you are trying to solve related in any
  way to your core value proposition? If not, then buying software usually is the best way to go. Don’t go
  through the trouble of building from scratch something highly specialized or doesn’t really add to your
  revenue in any way. For example, how many companies do you know that built their own custom email
  client? It seems silly. Email is a specialized service that doesn’t really directly relate to how you make
  money (unless your business is email services). Therefore, you simply buy software to do it for you. If you
  are a financial company, you wouldn’t buy software that holds your client funds and transactions. You’ll
  likely want to keep that in-house. Your HR system, on the other hand? Use a SaaS product so that you can
  concentrate on building software that makes your clients money. Buy the stuff around the edges that every
  company needs. You build what differentiates you.
PROS AND CONS
  Pros of Building
     Customization and Scale: One of the biggest pros of building your own custom software solution is that it
      will include all the functionality you need to operate in exactly the ways you need it to. The software you end
      up with will be tailored to your unique business model and challenges. Total control over the development
    also allows you to add any new features when needed so that your business can continue to run like a well-
    oiled machine. You can start with a prototype and grow the software as your revenues grow. Additionally,
    your employees will be able to give their feedback on what features are essential to streamline their
    workflows.
   Greater control: As the sole owner of the solution, you will have full control over user options, security
    measures, and system updates. Plus, complete ownership gives you the option to market the product, itself,
    offering your software as a service down the line.
   Competitive edge: With a custom software solution, you can gain a competitive advantage by leveraging the
    most efficient, connected, and scalable technology, helping your business get ahead of the game in your
    industry. Your software can differentiate your business from others in the crowded marketplace.
   Guaranteed integration: Building your own solution means you can ensure seamless integration with any
    existing software, tools, and processes already in use.
Cons of Building
   Significant upfront cost: Like anything that is customized, a custom solution will cost more than an off-the-
    shelf product. However, off-the-shelf solutions may not always be the most economically feasible route in the
    long run. Over time, the use of pre-built software can create a loss of revenue due to the lack of scalability or
    critically essential functionality. Software that is specifically created and customized to your workflow can
    push production and profitability through the roof and lead to exponentially faster business growth.
   Time to build: It takes time to identify your organization’s workflow processes and develop the software that
    optimizes them. You have to be prepared to spend time gathering this information so that a custom solution
    will be appropriate and powerful for your business.
Pros of Buying
   Lower upfront cost: If cost is a major concern and you have limited resources to launch, pre-built software
    may be your best option since it is typically cheaper to buy and implement.
   Rapid deployment: Ready-made programs should be good to go as soon as you pay for them and load them
    onto your system. If an existing solution perfectly meets most of your needs, there may be little point
    investing time and money in developing a version of something that is already out there.
   Updates, new features and ongoing maintenance: Third-party providers will want to stay competitive. As
    well as keeping up with maintenance, a third-party solution will often be updated regularly with new features
    and functionality.
Cons of Buying
 Less customization: While many third-party software solutions enable some customization, the solution
    won’t be custom built for you.
    Less control: The vendor controls the solution’s updates, volume capacity, and functionalities. All the key
       decisions on the software’s features and future are out of your hands.
    Compatibility and connectivity issues: Pre-built software may not be compatible with other programs,
       devices, or products that you are using today — or with solutions you may need to implement in the future.
    Long-term Cost: Although ready-made software may be cheaper to buy initially, its costs may grow over
       time. Subscriptions and licenses tend to be time-limited, so you'll have to reinvest whenever they run out.
       What is more, if your company grows significantly, you will have to add more licenses for new employees.
   SYSTEM DEVELOPMENT
       Systems development is the art and science of creating man-made systems to satisfy predetermined
   needs. It is a problem-solving process where we bring to bear appropriate elements of mankind's knowledge
   base to create new knowledge specific to the problem and, as a result, define a solution to the problem. In
   this book, we refer to organizations that accomplish this work as system development enterprises,
   developers, or contractors that may, at any one time, be in the process of developing several systems, each
   through the exercise of an organizational structure called a program.
WATERFALL SYSTEM PROCESS
The Waterfall Model was the first Process Model to be introduced. It is very simple to understand and use. In a
Waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in
the phases. The waterfall model is the earliest SDLC approach that was used for software development. In “The
Waterfall” approach, the whole process of software development is divided into separate phases. The outcome
of one phase acts as the input for the next phase sequentially. This means that any phase in the development
process begins only if the previous phase is complete. The waterfall model is a sequential design process in
which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception,
Initiation, Analysis, Design, Construction, Testing, Production/Implementation, and Maintenance. As the
Waterfall Model illustrates the software development process in a linear sequential flow; hence it is also
referred to as a Linear-Sequential Life Cycle Model.
ADVANTAGES AND DISADVANTAGES
Advantages of the Waterfall Model
      The advantage of waterfall development is that it allows for departmentalization and control. A schedule
       can be set with deadlines for each stage of development and a product can proceed through the
       development process model phases one by one.
      The waterfall model progresses through easily understandable and explainable phases and thus it is easy
       to use.
      It is easy to manage due to the rigidity of the model – each phase has specific deliverables and a review
       process.
      In this model, phases are processed and completed one at a time and they do not overlap. The waterfall
       model works well for smaller projects where requirements are very well understood.
Disadvantages of Waterfall Model
     It is difficult to estimate time and cost for each phase of the development process.
     Once an application is in the testing stage, it is very difficult to go back and change something that was
      not well-thought-out in the concept stage.
     Not a good model for complex and object-oriented projects.
     Not suitable for the projects where requirements are at a moderate to high risk of changing.