Software engineering and development is increasingly being undertaken using traditional (e.g., Waterfall) and more agile (e.g., Scrum) frameworks and methods. This software typically is included as part of a complex system or product. More recent assignments are adopting smaller and quicker incremental steps covering both the main application and testing environments. Additionally, operations are also now being defined within self-contained work packages that have common objectives (e.g., EPIC). This is being applied at various levels including for software features, customer requests or to deliver business requirements. e2E can carry out ‘full stack’ developments, ranging from firmware development to program FPGA, through embedded software, protocol stacks and applications software. This can be applied to operational systems and to the management plane with support systems.