Please enable JavaScript.
Coggle requires JavaScript to display documents.
Programming and Development approaches - Coggle Diagram
Programming and Development approaches
There is often a misconception about what systems development really is - It is about building a program from the ground up rather than combining multiple ready-made components.
Methodology
is about defining a repeatable process, this also encompasses a set of deliverables to be produced at various stages along with the roles and responsibilities of people working with the process.
Technology
is the approach taken to developing a computer system, technology needs to be considered with the use of various approaches such as cloud-based solutions.
Software engineering
is the systematic approach to development, operation and maintenance of software.
Procurement
is about the selection, evaluation and negotiation when purchasing a software solution or services that make up a solution.
Management
is the planning, monitoring and control of activities or process - this also involves governance.
Build or buy a solution
In the early stages of developing a new system / project it is important to consider the question of build or buy. Some orgs will have a policy stating they must procure a solution unless one can not be found. In reality the scope of the project will be a big player in the build/buy question.
Bespoke
Previously creating systems was the only option and everything was seen to be bespoke when bringing in technology. Originally when a business desired process automation it was to make the process more efficient and reduce their costs.
Requirements for the solution need to be considered and handed to a developer(s) to build out that solution based on customer requirements.
Nowadays, only the larger organisations are developing solutions in-house, on occasion these organisations will outsource their development needs.
Pre-made
Nowadays organisations are using pre made solutions as they help to minimise costs and cut down on time before benefits are reached. There are positives and negatives related to buying in the solution.
COTS (Commercial off the shelf)
COTS is a ready made solution often involved with leasing or licensing a solution. Typical COTS solutions can be office related software such as Operating systems, ATMs, Text Processors etc. ISO embraces the usage of generalised software.
Benefits
COTS solutions are usually cheaper, they are faster to implement to business, are often very high quality (due to maintenance & competition), offer great documentation for end users (sometimes with support), they are well maintained and upgraded and finally can often be trialled before full adoption.
Drawbacks
There is no ownership when implementing COTS (Think about the future of the product, support, costs, sale of product to new owner), Lacks competitive advantage, has limited legal redres (sold as seen) and finally change of requirements at any time.
Open source solution
Open source can offer a best of both worlds approach to a system where core features are already made available and additional requirements can be built in house to expand the solution, Open source is always free.
Benefits
Open source is Free, Source code is available to independent developers, easy redistribution, collaboratively maintained.
Drawbacks
The customer still takes responsibility of software meeting requirements, maintenance and support is supported via willingness of others, quality may not be great.
Component based development
Can be seen as a modular approach towards build/buy and systems are broken into blocks (components)
Components that make up a process could be based upon multiple programming languages or even different platforms to build the end solution.
Services can rely upon each other to provide th end solution for example a database server may work with a web server to deliver the requirement of the end user.