Submitted:
04 July 2024
Posted:
05 July 2024
You are already at the latest version
Abstract
Plato defined a quality as “some degree of perfection” [49]. Studies on quality have unveiled the internal and external quality factors [17] that significantly impact product quality [4]. Internal factors are invisible to the end customer and are dependent on overall work organisation by the development team [17]. This work organisation is called “the process” [11],[33]. In this article, we will discuss how to address the drone-dedicated software development process to support system verification and ensure product quality by supporting quality characteristics and therefore increase software development awareness and control. We will discuss the process's influence on overall work activities and relationships between those activities by addressing the software development process utilised in the drone-dedicated GNSS-denied navigation system development project. The result was observable after three weeks of starting the software development. It was focused on better team awareness, faster task completion, lower number of development mistakes, and better and faster change response than we observed in other projects that didn’t follow the predefined process.
Keywords:
1. Introduction
2. Process - fundamentals
- Effectiveness of process = ability to achieve desired results, and
- Efficiency of process = Results achieved vs resources used.
- Duration = how phases and tasks are being completed versus the planned schedule,
- Effort = how much effort is consumed by the various phases and tasks compared to the plan.
3. Why is process so important?
4. Software development process
- requirements definition;
- design;
- production (implementation);
- verification and validation;
- transfer (installation);
- operation and maintenance (utilisation);
- current work style,
- company internal regulations,
- team experience and attitude to adhering to established processes,
- different locations of teams (teams were not working in one location),
- research character of a project that was burdened with a dose of uncertainty regarding the direction of understanding the problem - product development started from Technology Readiness Level 4 (TRL 4) [42] and was targeted to achieve Technology Readiness Level 6 (TRL 6),
- knowledge maturation regarding the problem to be solved and possible solutions that may significantly change current ideas and draft solutions – that, may generate frequent changes,
- plans regarding project continuation in the next years and development of the product to a higher Technology Readiness Level [42].
4.1. Aspects considered in the process for drones’ GNSS denied navigation system development project
- general, standard development approach to use as a base for tailoring;
- software requirements – elicitation/decomposition/definition;
- quality characteristics of desired product;
- software design;
- software implementation;
- software verification and testing;
- standards to consider;
- process metrics;
- tools that support activities;
- transforming software requirements to “issues” [23] or tasks.
- ensuring the product is complete by incorporating traceability;
- defects and errors management;
- version and release management;
4.2. Software development process and activities in drones’ GN SS denied navigation system development project
4.2.1. Preparation activity
- functional completeness and correctness (from the functional suitability group),
- time behaviour and resource utilisation (from the performance efficiency group),
- analysability, modifiability and testability (from maintainability group).
- task traceability to requirements and vice versa (to support product functional completeness concerning software requirements specification),
- provide unique identifiers related to software products [16], their version, branch, iteration and documentation set to support error and defects management, project completion and to ease analysis while looking for errors or estimating the impact of proposed or required changes,
- bounding branch and task identifier to a specific part of source code developed during iteration to support analysability, which limits the inspection only to the specific part of the source code.
- unifying work style and language usage – modifiability and analysability, in part not dependent on system/software design, are supported by the process itself. Addressing coding standards [1,28] like [32] should ensure that everyone in the team “speaks the same language” and can support product development or modifications of source code prepared by somebody else from the team without having doubts about the meaning of variables and so on.
4.2.2. Iteration planning
4.2.3. Software implementation and testing
4.2.4. Retrospective meetings
- -
- code is compiling and working,
- -
- code sticks to coding standards,
- -
- tests were performed on the code and passed,
- -
- code is documented with doxygen and the updated document is placed in a dedicated subdirectory in the repository,
- -
- code is aligned with software design – if not – the design was already updated before finishing a task.
6. Conclusions
References
- NASA Goddard Space Flight Center Greenbelt, Maryland 20771. “Recommended Approach to Software Development. Revision 3”. Software engineering laboratory series (SEL-81-305). June 1992.
- Lenna Rierson. “Developing Safety-Critical Software A Practical Guide for Aviation Software and DO-178C Compliance”. Version Date: 20121016. Edi. CRC Press Taylor & Francis Group. ISBN: 978-1-4398-1368-3.
- Ian Sommerville .“Inżynieria Oprogramowania” wydanie X. Edi. PWN 2020. ISBN 978-83-01-21259-9.
- AQAP 2210, Wydanie A, wersja 2. „Wymagania uzupełniające NATO do AQAP-2110 i AQAP-2310 dotyczące zapewnienia jakości oprogramowania”. September 2015.
- M. Glinz, H. van Loenhoud, S. Staal, S. Bühne “IREB Handbook for the CPRE Foundation Level according to the IREB Standard”, version 1.0.0, November 2020.
- AGILE Business Consortium „AgilePM Agile project management handbook v2. Wydanie polskie”. ISBN 9781910961049.
- Project Management Institute. “PMBOK Guide seventh edition and the standard for project management.” ANSI/PMI 99-001-2021, ISBN 9781628256642.
- INCOSE. „Systems Engineering Handbook A Guide for Systems Engineering Life Cycle Processes and Activities”. INCOSE-TP-2003-002-04, 2015. ISBN: 9781118999400.
- RTCA-DO-178C “Software Considerations in Airborne Systems and Equipment Certification”. December 13, 2011.
- ISO/IEC 25010:2011” Systems and software quality requirements and evaluation (SQuaRE). Software quality models.”.
- ISO 9000 Introduction and Support Package: “Guidance on the Concept and Use of the Process Approach for Management Systems”. ISO/TC 176/SC 2/N 544R3.
- B.P.Douglass „Agile Model-Based Systems Engineering Cookbook”. Second edition. Edi. Pact. ISBN 978-1-80323-582-0.
- K. Schwaber, J. Sutherland “The Scrum Guide. The definitive guide to scrum: The rules of the game. November 2020.
- Project Plans. https://www.projectmanager.com/guides/project-planning, accessed 15.05.2024.
- Software Development Plan. https://acqnotes.com/acqnote/careerfields/software-development-plan accessed 15.05.2024.
- ISO/IEC 12207-2008 “Systems and software engineering – software lifecycle processes”. Second edition 2008-02-01.
- M. Fowler. „Is high quality software worth the cost?”. 29 May 2019. Article available at: https://martinfowler.com/articles/is-quality-worth-cost.html, accessed 15.05.2024.
- Agile manifesto. Manifesto for agile software development. Available at: https://agilemanifesto.org/ accessed 10.05.2024.
- Robert C. Martin. „Czysty Agile. Powrót do podstaw”. Helion 2020. ISBN: 978-83-283-6304-5.
- Kent Beck „TDD. Sztuka tworzenia dobrego kodu”. Helion 2014, 2020. ISBN: 978-83-283-6572-8.
- S. Wrycza, B. Marcinkowski, K. Wyrzykowski, „Język UML 2.0 w modelowaniu systemów informatycznych”. Helion 2005. ISBN: 83-7361-892-9.
- L. Delligatti „SysML Distilled A brief guide to the systems modelling language”. Addison-Wesley. ISBN-13: 978-0-321-92786-6.
- Explanation of „issue - gitlab”. https://docs.gitlab.com/ee/user/project/issues/ .
- Git branching – Branches in a nutshell. https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell.
- MIL-STD-498 „Software development and documentation”. US Department of Defense. 5 December 1994.
- ECSS-E-HB-40A “Space engineering. Software engineering handbook”. 11 December 2013.
- ECSS-E-ST-40C “Space engineering. Software”. 6 March 2009.
- ECSS-Q-ST-80C, Rev.1. „Space product assurance. Software product assurance”. 15 February 2017.
- Defense Acquisition Guidebook. 16 September 2013.
- INCOSE Technical Product Number: INCOSE-TP-2005-001-03. “Systems Engineering Leading Indicators Guide”. Version 2.0, January 29, 2010.
- L. Jun, W. Shoan. NASA. “C++ coding standards and style guide.”. Code 583. Updated: 2005/05/24.
- Robert C. Martin „Czysta Architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów.” Helion 2018. ISBN: 978-83-283-4225-5.
- Axelos Global Best Practice. „PRINCE2® – Skuteczne zarządzanie projektami”. ISBN 9780113315543. Axelos Limited 2018.
- Louis S. Wheatcraft. Requirements Experts „Thinking ahead to system verification and system validation”. February 2016.
- International Software Testing Qualifications Board (ISTQB) “Certified tester. Foundation level extension syllabus. Agile tester”. Version 2014.
- International Software Testing Qualifications Board (ISTQB) “Certified tester. Foundation level syllabus v4.0.”.
- MIL-HDBK-61A „Configuration management guidance”. 7 February 2001.
- Mark Richards, Neal Ford “Podstawy architektury oprogramowania dla inżynierów”. Helion 2021. ISBN: 978-83-283-7027-2.
- Mike Cohn. Mountain Gate. „Estimating with use case points”. https://www.mountaingoatsoftware.com/articles/estimating-with-use-case-points.
- A. Cockburn “Writing effective use cases”. Addison-Wesley. ISBN 0-201-70225-8.
- International Institute of Business Analysis (IIBA). “BABOK v3, A guide to the business analysis body of knowledge”. 2015. ISBN-13:978-1-927584-02-6.
- European Space Agency (ESA) “Technology readiness levels handbook for space applications”. Issue 1, Revision 6, September 2008.
- Borodacz, K. Szczepanski, C. (2023). GNSS denied navigation system for the manoeuvring flying objects. Aircraft Engineering and Aerospace Technology. 96.
- T. Pogorzelski, T. Zielińska, „Vision Based Navigation Securing the UAV Mission Reliability”, w Automation 2022: New Solutions and Technologies for Automation, Robotics and Measurement Techniques, t. 1427, R. Szewczyk, C. Zieliński, i M. Kaliczyńska, Red., w Advances in Intelligent Systems and Computing, vol. 1427. , Cham: Springer International Publishing, 2022, s. 251–263. [CrossRef]
- Louis S. Wheatcraft. Requirements experts. “Triple Your Chances of Project Success. Risk and Requirements”. 2011.
- Department of Defense – Systems Management College “Systems Engineering Fundamentals”, January 2001.
- B. Chrabski, K. Zmitrowicz “Inżynieria wymagań w praktyce”. Wydawnictwo Naukowe PWN. ISBN: 978-83-01-18018-8.
- Ivy Hooks “Writing good requirements”. Paper written by Ivy Hooks for Third INCOSE Symposium and Published in the Proceedings of the Third International Symposium of the INCOSE - Volume 2, 1993.
- https://www.jakosc.biz/definicje-jakosci/.
- STANAG 4671 edition 1. “Unmanned aerial vehicles systems airworthiness requirements (USAR)”. 3 September 2009.








Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).