HW 5: Reflections

These articles highlight the how severe the effects from software can be when it fails, and why it is important to have a dependable system working for you. One of the best ways to prevent a catastrophic failure is to be open minded and flexible with your dependable system. This requirement in preventing system failures allows engineers a certain level of discussion when creating a system that is open to conflicting ideas and at the engineer level allows the team to more cohesively move towards their goal. Identifying underlying problems is no simple task as well, and probably the best solution to solving these problems is testing your system. Going through your code and thinking of all possible outcomes that could come from running it, and then seeing how what you’ve designed reacts to those cases. Finding every case seems insurmountable, but with extensive testing – the quality of your code can only improve.

Now another theme that shared between the documents was a discussion on why systems fail. There is a litany of answers to this question, and to find the solution to prevent any one problem from arising could extent to both ends of the spectrum from being trivial to confounding and difficult. With that said there are few factors that can hinder the system greatly, those being: Funding, time, and organization. Without enough funding the engineers may have to work in substandard environments such as not having the access to the right equipment for the task. Time is important to any project as without a large enough time table the engineers will have to rush which ultimately leads to cutting corners, and overlooking problems. The final factor mentioned is organization. Organization is important to a system as with a lack of it this can lead back to wasting time on tasks that could be easily completed had thought been put into the project before work began.

To me there are clear solutions to preventing system failures. With attention to detail and a comprehensive and extensive testing most of the problem cases that could arise in a system could be fleshed out. However humans are fallible creatures and mistakes will occur. With that in mind as an engineer one can learn from past mistakes in order to create stronger systems moving forward.

Leave a comment

Design a site like this with WordPress.com
Get started