Development providers

A big business

software developer

Depending on the context, this can mean either an individual developer or a development provider.

development provider

An organisation that provides professional services in order to develop and maintain a software product.

software engineer

A natural person who is not a programmer but an active member of a developer team.

Developers

developer

A natural person who does one or more of the following: analysis, programming, testing, deployment, maintenance and/or support.

A developer acts more or less independently:

A development provider, like every legal person operates a collaboration infrastructure for their employees. Some of these employees are developers.

The Lino community differentiate the following types of developers, depending on their main focus:

application developer

A developer who writes and maintains the source code of a given application according to the requirements of the product carrier who governs that application.

Writes and maintains developer documentation and a test suite for the application.

Writes release notes for site experts.

contributing developer

An application developer who occasionally contributes to the Lino framework by testing general framework features, discussing changes and new features, submitting pull requests, …

core developer

A developer who helps maintaining the Lino framework as a whole.

core team

The team responsible for developing and maintaining the Lino framework as a software product.

What a software developer does

A development provider can provides the following services.

analysis

The art of formulating the needs of a customer in a language that can be understood by a programmer.

programming

Write and maintain the source files and publish them.

testing

Make sure that the software does what it is meant to do, that a new version does not introduce regressions or other side effects. This is also called quality control.

deployment

Installing the software on a remote site, either public or for a site operator.

developer support

Support given to an application developer.

expert support

Support given by a development provider to a site expert. This is more technical and specialized than end-user support.

manual testing

A method of software testing where the testers manually execute test cases without using any automation tools in order to find bugs in the software system. It is imperative for every release because full automated testing is not possible. Manual testing is usually done by experienced end users because it requires a good knowledge of the functional requirements. Optionally they can be executed by the application developer before a release, or by the site maintainer after an upgrade.

automated testing

A part of the development process which verifies that a change in the software doesn’t break any existing functionality.