Agile Hardware
Agile is een tijdafhankelijke, iteratieve benadering van de levering van software die vanaf het begin van het project incrementeel software bouwt, in plaats van alles op het einde af te leveren. Hardware ontwikkeling verwijst naar de ontwikkeling van specificaties voor apparaten die bedoeld zijn om te worden geproduceerd. Agile processen zijn niet beperkt tot de wereld van softwareontwikkeling. Ze kunnen worden toegepast in andere contexten, waar ze de voordelen bieden waar Agile om bekend staat. Agile Hardware-implementaties kunnen worden geïmplementeerd met behulp van hetzelfde framework als voor typische Agile Software Development-transformaties, maar met enkele aanpassingen.
Vereisten voor een succesvolle implementatie van Agile zijn de volgende:
- Bepaal kleine testbare deliverables
- Partitie werk over sprints • Schat de sprint scope (bijvoorbeeld planning poker) • Volg de voortgang (bijvoorbeeld branden en verbranden) • Leren tot stand brengen (bijvoorbeeld retrospectief)
- Creëer kleine, multifunctionele, zelforganiserende teams Deze vereisten zijn van toepassing op zowel hardware- als software-omgevingen, maar er zijn nog steeds verschillen tussen hardware- en software-ontwikkelingen:
- Kosten van verandering: Software is gemakkelijker te veranderen dan hardware. De kosten van verandering zijn veel hoger voor hardware dan voor software. De kosten van verandering voor softwareproducten zijn relatief stabiel in de loop van de tijd. De kosten van verandering voor de ontwikkeling van hardware stijgen echter snel aan het einde van de ontwikkelingscyclus.
- Refactoring: Softwareproducten evolueren door meerdere releases door nieuwe functies toe te voegen en bestaande logica te herschrijven om de nieuwe functies te ondersteunen. Hardwareproducten bestaan uit fysieke componenten die na fabricage niet kunnen worden ‘gereviseerd’ en kunnen geen nieuwe functies toevoegen waarvoor hardwarewijzigingen nodig zijn.
- Product-life-time: Ontwerpen voor nieuwe hardware zijn vaak gebaseerd op producten van de vorige generatie, maar zijn vaak afhankelijk van componenten van de volgende generatie die nog niet aanwezig zijn.
- Standaard componenten: Hardwareontwerpen worden beperkt door de noodzaak om standaard componenten te integreren.
- Doorlooptijden: Gespecialiseerde hardwarecomponenten kunnen veel langere doorlooptijden voor acquisitie hebben dan voor software.
- Voorafgaand architectonisch ontwerp: Het ontwerp van hardware wordt aangedreven door architecturale beslissingen. Meer van het architecturale werk moet vooraan worden gedaan in vergelijking met softwareproducten.
- Test specialisatie: Het testen van software wordt gedaan door gespecialiseerde Quality Assurance (QA) -ingenieurs, terwijl hardwaretests vaak worden uitgevoerd door de technici die het product maken.
- Test omgeving: Hardware moet zodanig zijn ontworpen en getest dat deze gedurende een reeks van tijd- en omgevingsomstandigheden werkt, wat niet het geval is voor software.
- Uitbesteding: Hardwareproducten omvatten meer integratie van externe leveranciers in vergelijking tot softwareproducten.
Wilt u meer weten? Of met ons in contact komen over Agile Hardware? Vul dan onderstaand contactformulier in of bel naar een kantoor bij u in de regio.