Glossary · PLC and control programming
Software development
Also known as: Software engineering, Programming
German: Softwareentwicklung
In engineering, software development is the set of activities that turn requirements into working software, including analysis, design, implementation, testing, integration, release and maintenance.
- PLC programming
In one sentence
Software development turns requirements into working software through design, coding, testing, integration, release and maintenance.
Example
A machine builder develops its PLC libraries in sprints, with code reviews, automated tests on virtual controllers and tagged releases in version control.
How it applies
- Engineering: Automation software development increasingly uses general software practices: version control, code reviews, coding guidelines, automated tests, continuous integration. PLC tools that store projects in binary formats make some of these harder; text-based exports and tool integrations help.
- Safety: Safety-related software follows a defined lifecycle, such as the software requirements of IEC 61508-3 or IEC 62061 and ISO 13849-1, with documented requirements, restricted languages, reviews and Verification.
- Tools: AI coding assistant tools can generate code and tests, but generated code needs the same review and testing as human-written code.
- Documentation: Development produces documents that the documentation team can reuse: requirements, interface specifications, release notes, known limitations. Agree early on how these feed the user and service documentation.
Software development vs. configuration
Configuring parameters in a device is not the same as developing software, but both change behavior. Both need Configuration control.