Agile software development
Agile Softwareentwicklung benennt eine besonders flexible Art der Softwareentwicklung. Das Vorgehen wird als agil (wendig) bezeichnet, weil es kleinschrittig ist und viele Abstimmungen beinhaltet. Dadurch kann schnell reagiert werden auf geänderte Anforderungen, Technologien, Kundenwünsche, Probleme und erkannte Missverständnisse.
Als grundlegendes Ziel gilt: Eine Software so zu entwickeln, wie sie gebraucht wird, aber nicht zwingend so, wie sie ursprünglich geplant war.
Es gibt ein „Agiles Manifest“ der agilen Softwareentwicklung. Zu den Prinzipien agiler Softwareentwicklung gehören selbstorganisierte Teams, ein starker Fokus auf Zusammenarbeit und die Funktionsfähigkeit der Software, ein kontinuierliches Arbeitstempo, direkte Kommunikation miteinander und mit dem Kunden sowie Flexibilität. Zur Umsetzung dieser Prinzipien werden verschiedene Prozesse genutzt. Dazu zählen u. a. Scrum und Kanban.
Vorteile der agilen Softwareentwicklung bestehen in der Flexibilität des Entwicklungsprozesses, der Transparenz für den Kunden und der häufig hohen Motivation der Programmierer.
Nachteile der agilen Softwareentwicklung bestehen u. a. darin, dass auch der Kunde zum agilen Arbeiten bereit sein muss und vergleichsweise häufige Abstimmungen stattfinden.
Es begegnet Ihnen, wenn Sie selbst Software entwickeln oder entwickeln lassen. Ist dies nicht der Fall, ist dennoch möglich, dass Ihnen einige Vorgehensweisen v. a. des Scrum oder Kanban bekannt vorkommen. Kanban wurde ab 1947 entwickelt, ursprünglich für den Produktionsprozess bei Toyota. Scrum wurde in den 1990er Jahren begründet und zunächst in der Softwaretechnik genutzt. Inzwischen wird es auch in anderen Branchen und Bereichen für das Projektmanagement eingesetzt.
Falls Sie Unternehmenssoftware in einem agilen Prozess entwickeln lassen, sprechen Sie das Thema Cybersicherheit früh und häufig an. So können die Programmierer diesen Aspekt gezielt und über möglichst viele Entwicklungsstufen berücksichtigen. Auch die Verbesserung der Cybersicherheit Ihres Unternehmens lässt sich agil gestalten. Dieses Vorgehen hat den Vorteil, dass auch zunächst nicht berücksichtigte sicherheitsrelevante Aspekte bearbeitet werden können. Typische Beispiele hierfür sind z. B. die sogenannte „Schatten-IT“ und IoT-Geräte.
Weitere Informationen finden Sie auf der Webseite mit dem Manifest für Agile Softwareentwicklung.
Agile software development refers to a particularly flexible type of software development. The approach is described as agile because it involves small steps and a lot of coordination. This allows for a quick response to changing requirements, technologies, customer requests, problems and identified misunderstandings.
The fundamental goal is to develop software as it is needed, but not necessarily as it was originally planned.
There is an ‘Agile Manifesto’ for agile software development. The principles of agile software development include self-organised teams, a strong focus on collaboration and the functionality of the software, a continuous pace of work, direct communication with each other and with the customer, and flexibility.
Various processes are used to implement these principles. These include Scrum and Kanban.
The advantages of agile software development include the flexibility of the development process, transparency for the customer and the often high level of motivation among programmers.
The disadvantages of agile software development include the fact that the customer must also be prepared to work in an agile manner and that relatively frequent coordination meetings are required.
You will encounter it if you develop software yourself or have it developed. If this is not the case, you may still be familiar with some of the procedures, especially those used in Scrum or Kanban. Kanban was developed in 1947, originally for the production process at Toyota. Scrum was established in the 1990s and was initially used in software engineering. It is now also used in other industries and areas for project management.
If you have enterprise software developed using an agile process, discuss the topic of cyber security early and often. This allows programmers to take this aspect into account in a targeted manner and across as many development stages as possible. Improving your company’s cyber security can also be done in an agile way. This approach has the advantage that security-related aspects that were not initially considered can also be addressed. Typical examples of this are ‘shadow IT’ and IoT devices.
Further information can be found on the website with the Manifesto for Agile Software Development.