4 ms·
I think NASA had unmanned test flights even in the early days.(https://en.wikipedia.org/wiki/List_of_Apollo_missions#Unmanned_test_missions https://en.wikipedia
by jtdev 7y ago
I think NASA had unmanned test flights even in the early days.(https://en.wikipedia.org/wiki/List_of_Apollo_missions#Unmanned_test_missions https://en.wikipedia.org/wiki/List_of_Apollo_missions#Unmann...).
I think everyone would agree that manned flights should be as thoroughly tested as possible. Although SpaceX has never had manned flights, they do dock with the ISS, a failure of which could have very real consequences including possible loss of life.
The belief that an iterative, agile approach is too "fast and loose" for complex engineering projects has been throughly debunked, but for some reason continues to pervade.
- bumby 7y agoYour comment comes across as if it's a forgone conclusion that agile development is adequate but it seems like there is still plenty of debate on this in terms of safety-critical systems. "The quality control mechanisms supported by current agile processes (e.g., informal reviews, pair-programming) have not been proven to be adequate to assure users that the product is safe. In fact there is some doubt these techniques alone will be sufficient. Formal specification, rigorous test coverage, and other formal analysis and evaluation techniques included in software engineering approaches provide better, but also more expensive, mechanisms to tackle the development of safety- or business- critical software" [1] SpaceX has shown quality control issues on their hardware processes in the past, which, from the outside looking in seems like they should have been caught.[2] I wonder if the fact that they are a relatively young organization is why these processes were lacking to begin with. It seems to be the nature of the learning process that as the 'unknown unknowns' are uncovered, processes will become more robust (and possibly cumbersome) by extension. The real question is whether they should have been unknown to begin with. I also wonder if they will start to look less like the agile upstart as they create more mature processes. [1] https://arxiv.org/ftp/arxiv/papers/1409/1409.6600.pdf https://arxiv.org/ftp/arxiv/papers/1409/1409.6600.pdf [2] https://www.wsj.com/articles/structural-failure-likely-cause-of-rocket-explosion-spacex-chief-says-1437426821 https://www.wsj.com/articles/structural-failure-likely-cause...
- jtdev 7y agoReference 1 is nearly 20 years old, much has changed in those 20 years. Reference 2 is non sequitur; nobody is suggesting that there are zero errors/failures in agile, simply that Boeing may benefit from taking a more agile approach. Here's how iteration works: https://www.youtube.com/watch?v=bvim4rsNHkQ https://www.youtube.com/watch?v=bvim4rsNHkQ
- bumby 7y agoI agree that the attitude regarding agile development has changed, but the point from Ref. 1 was that the topic isn't nearly as settled yet as your comment might lead one to believe. There is still considerable debate within the aerospace industry on how and when agile development is appropriate. I would be legitimately interested if you have relevant references to successful applications of agile methodologies to safety-critical human rated space software development. Sorry if I wasn't clear enough on the point of Ref. 2. The reason that was brought up was the issue found was related to supplier quality. The fact that these checks were not in place is a bit surprising from a quality perspective and SpaceX indicated they will include additional quality oversight in the future.[1] I.e., through failures, they are adding additional processes that move them away from being an agile organization and closer towards the bureaucratic processes they are often contrasted against. "SpaceX will implement additional hardware quality audits throughout the vehicle to further ensure all parts received perform as expected per their certification documentation."[1] [1]https://www.spacex.com/news/2015/07/20/crs-7-investigation-update https://www.spacex.com/news/2015/07/20/crs-7-investigation-u...
- jtdev 7y ago"At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly." - The Agile Manifesto
- bumby 7y agoI'm familiar with the agile approach, but what you quoted isn't unique to agile; it can be found in any quality program that implements continuous improvement. It also slightly begs the question by using the agile manifesto as a reference to justify agile development. What I am hoping to find is more concrete examples of successful application of agile processes to safety-critical software. For example, how can user stories be used in lieu of a traditional software requirements specification and still effectively capture all the necessary safety requirements (including those the customer may be unaware of).