We all trust software with our daily lives, finances, safety, government, communication, business, and general happiness. But, how far should that trust extend? The Society of Rugged Developers is wading into the topic of ruggedness, because when it comes to software, it needs to be so much more than just secure. It has to be ruggedly reliable and defensible against attack. Software ruggedness is going to become increasingly important to applications, and enterprise systems, in the future.
The Society has a podcast initiative hosted by James Wickett and Lance Vaughn, Austin software developers, to define and refine the concept of Rugged as it applies to software. In the series of podcasts, they explore application security and the various attributes of rugged. In Episode 5 they chatted with Jeff Williams, co-author of the Rugged Manifesto. Jeff explained that “Rugged” came about as a result of his interactions with Josh Corman and David Rice, all of whom were frustrated that Application Security was not improving in an organic manner, and that they wanted to make a difference in that sector.
In setting the groundwork for discussion in the podcasts, James and Lance began exploring how to clearly define “Rugged Software,” and how the Rugged concept can be applied to the Minimum Viable Product with the Rugged Manifesto in mind. DevOps is also going to be very important in the future of ruggedness. Once the foundation has been established, and the MVP can be built ruggedly, the rugged attributes will naturally scale as the product grows in scope.
While security of the software is at the heart of the rugged discussion, there are other factors to consider. The security industry has a lot of very good, proven, rules, but they tend to be too broad; they need to be distilled down into software security principles and practices. Rugged organizations operate as cross functional teams that value collaboration, seek out threats and build processes to protect themselves. The same principles need to be applied to software in the future.
What is Rugged?
Here is how James and Lance have posited the attributes of Rugged Software:
Security | Reliability | Maintainability |
---|---|---|
Defensibility | Availability | Longevity |
Sensibility | Recoverability | Portability |
Survivability | Observability | |
Predictability | Controllability |
How would you define “Rugged Software?” Any suggestions you have are very welcome. The podcast website is currently undergoing development, and it will become the location for ongoing discussion of everything rugged when launched. In the meantime, we invite your comments, suggestions, and other thoughts in the response section below.
Bài viết liên quan
Why We Decided iOS-first Over Android for Our Mobile Apps
We are often asked why we decided to develop our mobile apps in iOS rather than Android. And, it...
Security Vulnerability Announced in the Psych Gem
The Heroku Ruby Team has provided instructions on how to repair the security vulnerability announced with the libyaml library...