Below you will find pages that utilize the taxonomy term “Agile”
Below you will find pages that utilize the taxonomy term “Agile”
In embedded systems, the quality of code is crucial for long term reliability and efficiency. The Clean Code principles, as outlined in Robert C. Martin’s influential book Clean Code, are widely used in general software development and can significantly enhance embedded C development. This article explores how these principles can be applied to embedded C, drawing on extensive experience to improve code readability, reduce technical debt, and lower costs over the system’s lifetime. Whether you’re a developer or a manager, this guide offers practical insights into integrating Clean Code into your embedded systems projects.
The CRA mandates stringent cybersecurity requirements for digital products, ranging from vulnerability management and regular updates to security-by-design principles. Manufacturers are tasked with ensuring that their products remain secure throughout their lifecycle, providing ongoing updates, and managing vulnerabilities proactively. The agile development approach, characterized by iterative cycles, cross-functional collaboration, and continuous integration, is ideally suited to meet these requirements. Agile practices enable teams to quickly adapt to new regulatory demands, implement security measures efficiently, and deliver high-quality, secure software. This article outlines the key aspects of agile development that align with CRA compliance and demonstrates how organizations can leverage agility to meet their obligations under the CRA. For more information on how to transition your team to agile practices and ensure compliance with the CRA, feel free to reach out to me at urs.fassler@iqilio.ch.
In diesem Artikel teile ich die Erfahrungen bei der Implementierung einer CI/Build-Pipeline für mehrere C++-Applikationen und Yocto Linux Projekte. Die Firma stand vor Herausforderungen wie manuelle, nicht reproduzierbare Prozesse und ungleich verteiltes Wissen, was zu verspäteten oder fehlerhaften Auslieferungen führte. Durch einen iterativen und inkrementellen Ansatz und gezielte Unterstützung der Entwickler konnten die Prozesse nachhaltig verbessert und der Stress reduziert werden.
In the ever-evolving landscape of software development, maintaining high-quality and reliable software is paramount. To achieve this, rigorous testing practices and robust development methodologies are essential. This article delves into various testing strategies and tools specific to C++, emphasizing the importance of automated regression tests, test coverage, compiler warnings, code formatting, static code analysis, sanitizers, and continuous integration (CI). By adopting these practices, teams can ensure their software remains reliable, maintainable, and bug-free. We offer comprehensive support to help teams implement these tools and practices effectively, enabling them to achieve optimal results.
Very happy to announce that I founded my own company:
The go to place when you need - Quality Software - Embedded Linux Software and Systems - Open Source Specialists - Software Architecture - Shorter delivery and feedback cycles and any combination of it.
Heute starte ich in die Selbstständigkeit. Mein Angebot umfasst:
Agile Praktiken für Entwickler: Coaching und Mitarbeit zur Implementierung effektiver agiler Methoden (Extreme programming) in Entwicklungsprojekten, um die Produktivität und Qualität zu steigern.
Individuelle Softwareentwicklung: Entwicklung massgeschneiderter Qualitäts-Software für nachhaltig erfolgreiche Produkte.
Architekturberatung: Beratungsdienste zur Gestaltung und Optimierung von Softwarearchitekturen, um eine langfristige Skalierbarkeit, Flexibilität und Wartbarkeit sicherzustellen.
Embedded GNU/Linux-Anwendungs- und Systementwicklung: Expertise in der Entwicklung von eingebetteten Systemen und Anwendungen unter Verwendung von GNU/Linux.
Unterstützung bei der Einhaltung des Cyber Resilience Acts: Massgeschneiderte Beratung und Lösungen, um Kunden bei der Einhaltung des CRA zu unterstützen.
Es ist Zeit für ein neues Kapitel: Heute starte ich in die Selbstständigkeit.
Meine Karriere begann mit einer Elektronikerlehre, gefolgt von Jahren in der Berufswelt, die mich zur Software-Entwicklung führten. Ich studierte Systeminformatik an der ZHAW, erwarb meinen Master in Computer Science an der ETH, absolvierte ein Praktikum am CERN und verfasste meine Masterarbeit an der University of California in Irvine. Währenddessen entdeckte ich Freie Software/Open Source mit den Werten, welche ich bis heute teile.
Aufgrund mangelnder Zeit im Projekt benötigten wir wesentlich mehr Zeit für die Implementierung der Features.
Dieses paradoxe Phänomen tritt häufig in der Softwareentwicklung auf. Entwickler stehen unter Zeitdruck und sehen sich gezwungen, schnelle Lösungen zu implementieren, anstatt sich Zeit zu nehmen, diese zu planen und so zu implementieren, dass die Software nachhaltig erweiterbar ist. Dies führt zu schlechter Codequalität und unzureichender Testabdeckung, die später mehr Zeit und Ressourcen erfordern, um sie zu beheben. Der Versuch, Zeit zu sparen, indem man an der Qualität spart, endet in einem viel längeren Entwicklungszyklus.