Sie sind auf Seite 1von 11

Alternative Methods and Tools for System Development:

System Development

System Development is the process of defining, designing, testing and implementing a software
application. This includes the internal development of customized systems as well as the
acquisition of software developed by third parties. System development is also referred to as
software development, software engineering or application development. System development
includes the management of the entire process of the development of computer software.

Consider the example of a large organization that wants to streamline purchase orders. Right now
every department has its own systems in place, which includes a variety of approaches that have
been developed over the years. After a few serious errors, senior management has decided to
centralize the ordering process into a single system that every department will have access to.

Information systems are implemented using specialized software. Some information systems rely
on software that can be purchased from third-party vendors. However, many information systems
need to be adapted to the needs of a particular organization. This may involve customizing existing
software or developing software from scratch. Even when relatively standard software is acquired
from a vendor, it may need to be integrated with the other systems within the organization. All of
these different scenarios fall under system development.

Methods of System Development:

Common methods that are mostly used for System Development are waterfall method, spiral
method and systems development life cycle method.

• The Waterfall Method

The waterfall information system development method is one of the easiest and straight
forward information systems development method that talks about series of activities in the
others of requirement, design, implementation, verification, and maintenance which are done
in stages were each stage of the activity stated have to be hundred percent accomplished before
the following section can be done. In addition, Cadle & Yeates (2004, pp. 77-78) also explained
that the end product of each section of the waterfall method is used as an inputs to the product
of the following stage as a result it does not permit you to review the previous stage once it is
crossed just like the way water flows sequentially. Consequently, Hurst (2007) also analyzed
that the waterfall information systems development method has been argued by many to be a
bad method because it is not possible for a project to get one stage fully completed and
corrected before making ahead to the following stage.

However, Hughes et al (2004) one of the biggest advantages the waterfall method has over
spiral and system development life cycle is that its make good use of time in terms of
management, very easy to manage and it is mostly used for smaller project were all
requirements are known. Though, it also has some drawbacks which include high level of risk,
been disciplined in completing each stage of the activities in the model.

• The Spiral Method

This is another type of information systems development method just like the waterfall and the
system development life cycle method that also has series of activities that have to be done one
after the other but in a different approach. The spiral method combines the important features
of both the waterfall method and the prototyping method and most concerned about risk
analysis (Dawson, 2005). Although, the spiral method has four stages compared to the
waterfall and system development life cycle method which is in the stated order, determine
objective, identify and resolve risk, development and testing then finally plan the next
execution. All these levels that are mentioned are constantly repeated over and over again
section by section until all the difficulties of the waterfall method are rectify.

However, some of it advantages is that it is not use for minor project, it takes a very long time
to be completed and also it is very expensive to manage. Similarly, it also has some limitations
which include, controlling high level of risk analysis in a system development and also used
for project were all requirement are complex.

Thus it could be concluded that the spiral information system development method is mostly
used for larger and complicated system development where the entire requirements are very
difficult to understand compared to the waterfall and system development life cycle method.

• System Development Life Cycle (SDLC) Method

This is also another type of information system development method similar to the waterfall
and the spiral method with series of activities followed in a circular other in stages through
which every developer, database designer and project manager pass through as to develop an
information system (Radack, 2009). The system development life cycle method is the overall
cognitive process that takes place in the development of information systems in a gradual
manner until there is an achievement of the best quality in the development of a system.
In addition, (Dawson, 2005) also stated that the “system development life cycle is the general
process of developing, implementing, and constructing information systems through a
multistep process from Requirement, Design, Build, Test and maintenance”.

However, some its features includes dividing stages into sub stages for easy management and
also gives a room for going back to stage when there is a problem unlike the waterfall
information system development method. It also has some limitations which includes not
meeting the user’s requirements, not been stable, having lack of control and also having
problems with documenting.

On this basis, it can be inferred that the SDLC is a procedure that every information system
development must pass through even if each of them emphasizes on different part of the five
stages of the SDLC method.

• Information systems development method.

A collection of procedures, techniques, tools and documentation aids which help the system
developers in their efforts to implement a new information system. A methodology will consist
of phases, themselves consisting of sub phases, which will guide the systems developers in
their choice of the techniques that might be appropriate at each stage of project and also help
them plan, manage, control and evaluate information systems project

It is clear therefore that the information systems development methods concentrate on the
general process of development.

Categories of Information System Development Methods.

Different categories of information systems development methods are considered in the outgrowth
of developing an application. Although, every information systems development method has its
own special way of approaching each stage of the ISDM process. Thus, the information system
development method that exist include: Agile, SSM, SSADM, RAD, PRINCE, Spiral, SDLC,
Waterfall, Object oriented, XP etc (Banks & Wood-Harper, 2005).However, this information
systems development method follows the same procedure known as life cycle.

Tools of System Development


System development includes a number of different phases, such as feasibility analysis,
requirements analysis, software design, software coding, testing and debugging, installation and
maintenance the all process can be maintain by different tools.

List of System Development Tools:


1. Engine Yard
2. DevDocs
3. Public Apis
4. Divide.io
5. Codeship
6. Code fresh
7. Node
8. Wercker
9. Stamply
10. Github
11.Codekit

1. Engine Yard
Engine Yard is a platform as a service provider that automates, configures and deploys applications
in the cloud. Engine Yard to deploy and manage their apps in the cloud so they can continue doing
what they do best writing beautiful apps.

2. DevDocs

Fast, offline, and free documentation browser for developers. Devdocs.io is a very slick and fast
reference manual aggregator for popular front-end languages and libraries.

3. Public Apis
Public APIs, A collective list of free JSON APIs for use in web development. Application
programming interfaces sets of technologies that enable applications to interact with each other. A
public API is probably what first comes to mind when you think about APIs, but these are only a
small portion of the APIs that exist around the web.

4. Divide.io
Quickly build a backend for your mobile app. Divide.io is an open source backend library. It’s
easy, secure, and efficient.

5. Codeship
Codeship helps to release software quickly, automatically and multiple times a day. It shortens the
development cycles thus reducing the risk of bugs and increasing innovation.

6. Codefresh
Codefresh is a continuous delivery and collaboration platform for Docker. Codefresh helps agile
teams improve quality and increase speed-to-market by facilitating rapid feedback and testing
cycles.

7. Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

8. Wercker
Wercker is a platform and tool to rapidly develop, build, and deploy containerized applications
and micro services for the modern cloud. This platform was built in order to make developers’
lives easier and enabling them to move fast and make things

9. Stamply
Stamplay is an API-based development platform, empowering web developers to build and launch
full-featured web apps. Stamplay is a low code platform that enables organizations to build high
value business process spanning multiple cloud services.

10. Github
GitHub is a Web-based Git version control repository hosting service. It is mostly used for
computer code. It offers all of the distributed version control and source code management
functionality of Git.

11. Codekit
Codekit is more than just a compiler for Less & Sass. It also compiles JavaScript, Markdown and
more, plus it continuously monitors for file changes. Modified files are auto compiled and it also
automatically reloads the browser. Codekit is well documented and simple
Outsourcing:

- Is the process of hiring another organization to perform a service.

- Outsourcing can be an easy way to gain expertise.

- Cost reductions.

- Reduce Development Risk.

- Reduce Implementation Risk.

• Risks Associated With Outsourcing.

- Loss of control.

- Benefits outweighed by long-term costs.

- No easy exit.

Application Service Provider

An application service provider (ASP) is a company that offers individuals or enterprises access
to applications and related services over the internet. The term has largely been replaced by
software as a service (SaaS) provider, although in some parts of the world, companies use the two
labels interchangeably.

− Application Service Providers (ASPs) are a particular form of outsourcing.


− In an ASP agreement, an organization contracts with a vendor to "rent" applications from the
vendor company on a fee-for-service basis.
− The vendor maintains the system at its own web location, and the client organization accesses
the application on the vendor's website.

• Benefits and Risks of the ASP Model:

Benefits: - Organization can "rent" the applications.

- Vendor maintains system at its own web location.

- Client organization accesses the application on the vendor's website.

- Application software does not need to be located with the client.


- Vendor can offer standardized software to several companies while
maintaining only a single site.

- Reduced Costs

Risks: - Client company loses physical control over some corporate data that are stored
on the vendor's machines.

- Any failure of the Internet means that the client company cannot operate, even
internally.

- Potential for "lock in" of the ASP, which may not allow corporate data to be
easily ported to competitor sites.

- Ownership has to be clearly stated on the ASP contract.

Example:

Examples of uses for ASPs include offering local area network capabilities offered off premises,
remote access serving for enterprise using and affordable specialized applications. Examples of
some of the more well-known ASPs include Qwest, SAP and Hewlett-Packard.

Vendor Selection:
Selecting a technology vendor is probably one of the most important tasks that an IT leader will
undertake. It can be a complicated and emotional process if the organization lacks the right team
of people who have the knowledge and expertise to undergo a successful selection process.

Below are 7 steps to successful vendor selection:


Step 1: Define and analyze business requirements

What is the organization asking a third party to provide? A good start would be to assemble an
evaluation team that is knowledgeable in the vendor selection process and has a clear
understanding of what the business is all about. The evaluation team should be able to:

• Define the product, material or service that is needed;

• Define the Technical and Business Requirements;

• Define the Vendor Requirements (i.e. the features the organization is looking for in a vendor),
and

• Publish a Requirements Document.


The evaluation team should also try to collect as much information as possible, identify and
interview stakeholders and users, review existing internal materials such as reports, and statistics
as well as gather technical information including standards and descriptions of the current technical
environment.

Step 2: Identify third party vendor candidates

After the evaluation team has published a requirements document it must now compile a list of
possible vendors. The team should send each one a Request for Information (RFI) and conduct a
team evaluation process. A short list of vendors is then created.

Step 3: Develop evaluation criteria (with weighting)

In this third step, the team would construct an evaluation model that weighs a requirement against
its value and priority. For example, if the vendor meets a requirement with a score of 7 (on a scale
of 1 to 10) and the priority of that requirement is 5 (on a scale of 1 to 5), then the response can be
scored by 35. This helps to amplify the differences among vendors.
Step 4: Conduct vendor briefings

Once the team has developed evaluation criteria with weighting and further narrowed down
possible vendor candidates, it’s time to set up an initial meeting with each potential vendor to
discuss stated requirements and ensure a common understanding.

Step 5: Evaluate vendors and schedule demos

After completion of vendor briefings, the team should be better equipped to evaluate potential
vendors. Selected vendors should provide a solution overview to the organization’s current
business and technological requirements, fees, benefits derived from using a particular vendor,
etc. In addition, vendors are requested to provide a “demo” to showcase the capabilities of their
solution. Demos are a valuable way to get more information and also evaluate intangible aspects
of a vendor. It is critical to check the vendor’s references as a part of the evaluation process.

Step 6: Complete vendor selection

Primary and Secondary Options: At the conclusion of the evaluation process, the team will identify
a primary option (the winner) and a secondary alternative.

Step 7: Complete contracting with vendor

This step includes identifying a clear set of objectives, deliverables, timeframes, and budgets for
the project with the vendor. These should be clearly written in the terms of the contract. One of
the most important factors in the vendor selection process is to develop a contract negotiation
strategy. A successful contract negotiation simply means that both parties will search for positives
that will benefit the two parties in every aspect while they achieve a fair and equitable deal.

Software Selection:
Software Selection is a critical aspect of system development. There are two ways of acquiring
software: custom- made or ‘off the shell’ (readymade) package. Today there is great demand for
these packages because they are quite cheap.
The criteria for software selection should be based on following points:

• Reliability

• Functionality

• Capacity

• Flexibility

• Usability

• Security

• Performance

• Serviceability

• Ownership

• Minimal costs

✓ Reliability:
It is a probability that the software will executed in a specific period of time without any
failures. It is important to the professional user it brings up the concept of modularity, or
the ease which a package can be modified.

✓ Functionality:
It is the definition of the facilities, performance and other factors that the user requires in
the finished product.

✓ Capacity:
Capacity refers to the capability of the software package to handle the user’s requirements
for the size of files, number of data elements, and reports. All limitations should be
checked.

✓ Flexibility:
It is measure of effort required to modify and operational program. One feature of
flexibility is adoptability.

✓ Usability:
This criteria refers to the effort required to operate, prepare the input, and interpret the
output of a program. Additional points considered here are portability and
understandability. Portability refers to the ability of the software to be used.
Understandability is the purpose of the product.

✓ Security:
It is a measure of the likelihood that a system’s user can accidently or intentionally excess
or destroy unauthorized data.

✓ Performance:
It is a measure of the capacity of the software package to do what it is expected to do. This
criteria focuses on throughput or how effectively a package performs under peak load.

✓ Serviceability:
This criteria focuses on documentation and vendor support.

✓ Ownership:
Who owns the software and to consider whether he has the right to access the software or
he can sell or modify the software.

✓ Minimal Costs:
Cost is a major consideration in deciding between in-house and vendor software.

Das könnte Ihnen auch gefallen