Live data from Hacker News

A Proposal for an Antifragile Software Manifesto

sciencedirect.com

31–40 of 46 posts

Re: A Proposal for an Antifragile Software Manifesto

#31
TL;DR:

1. Our highest priority is to satisfy the customer by building a non-linear, proactive, and self adaptive system.

2. We welcome changing scenarios where unexpected events (Black Swans) are the real paradigm shifting entities.

3. We deliver assuring embedded and adaptive fault tolerance.

4. All stakeholders, and the broader environment, lead the antifragile organization.

5. Build antifragile projects around motivated, skilled and open minded people. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of building an antifragile organization is building on honest, open and transparent communication.

7. Continuous exposure to faults and automatic fixing is the primary measure.

8. An antifragile organization promotes a context aware environment. The stakeholders should be able to maintain a system indefinitely.

9. Continuous attention to technical excellence, reality, redundancy.

10. Error loving - the art of learning to be antifragile – is essential.

11. Antifragile architectures emerge from self – organizing, context aware teams.

12. At regular intervals, the developing team reflects about the context situation, on how to become more effective, then tunes and adjusts its behavior accordingly.

Re: A Proposal for an Antifragile Software Manifesto

#32
Why do people still keep writing Manifestos in 2016? I thought it was evident they don't work out - or that they get "abused" as political opinions.

We don't need Manifestos, we need people who think about each situation and problem differently, basing their thoughts on experience, knowledge, and communication. You can write all the s* you want, but you won't get that thanks to 10 lines - which will be always ambiguous and misinterpreted, then what? Will you write another manifesto?

We need experience, we need to learn, we need to improve. You literally need to fail to get any improvement. And companies need to keep their people, they need to invest in people, instead of relying on a bunch of buzzwords or manifestos to prove themselves "cool" and up-to-date. Stop doing that. Make a step back, give your people time to think, talk to them, and give them the right resources.

Re: A Proposal for an Antifragile Software Manifesto

#33

Earlier quoted context omitted.

They try to prioritize their principles, but they are vague. Let's see: > Our highest priority is to satisfy the customer by building a non-linear, proactive, and self adaptive system Okay, firstly, what is that? And secondly, does it serve the customer if those are not the customer's requirements? What if I don't want a "self adaptive" system, whatever that is? It could be bad: self-adaptive software keeps some glob…

> what is that? A collection of popular buzz-words in contemporary software engineering research. > And secondly, does it serve the customer if those are not the customer's requirements? These are never any customer's requirements. Not a sane customer, at least. Instead, they are (conjectured, probably correctly, to be) generalizations of sufficiently many customers' requirements. But you're correct -- most customers…

I agree they seem like buzz-words, but not from software engineering research. They look entreprisey or startup friendly buzz-words to me.

Re: A Proposal for an Antifragile Software Manifesto

#34

Antifragile refers to a property in which a system does not just resist breaking down under disorder and stressors (robust), but gains/learns/becomes stronger. A good example is how bones heal back stronger where they were broken. While we are currently able to build self-healing systems of a sort, fault-tolerant Erlang systems being a good example, it doesn't seem we can build systems that are truly antifragile on t…

Your bone example isn't accurate (http://www.nytimes.com/2010/10/19/health/19really.html). The example used in the book are muscles (stress -> breakdown -> creating stronger muscles)

Re: A Proposal for an Antifragile Software Manifesto

#35
post #32

Why do people still keep writing Manifestos in 2016? I thought it was evident they don't work out - or that they get "abused" as political opinions. We don't need Manifestos, we need people who think about each situation and problem differently, basing their thoughts on experience, knowledge, and communication. You can write all the s* you want, but you won't get that thanks to 10 lines - which will be always ambiguo…

We may need those things, but it's increasingly clear that we cannot afford them so far as we know. I'm using "afford" widely - if we needed those things and understood that need properly, we'd have them. It's the mythic "$20 bill on the ground" - if it was really there, someone would have picked it up by now.

it's no great secret how to write robust and unfragile software. We apparently only lack the will to do it.

I've been in spots where we priced a defect, and they still didn't want it fixed.

Re: A Proposal for an Antifragile Software Manifesto

#36
post #34

Antifragile refers to a property in which a system does not just resist breaking down under disorder and stressors (robust), but gains/learns/becomes stronger. A good example is how bones heal back stronger where they were broken. While we are currently able to build self-healing systems of a sort, fault-tolerant Erlang systems being a good example, it doesn't seem we can build systems that are truly antifragile on t…

Your bone example isn't accurate ( http://www.nytimes.com/2010/10/19/health/19really.html ). The example used in the book are muscles (stress -> breakdown -> creating stronger muscles)

Maybe more accurately, bones subject to survivable progressively more intense stresses are stronger. It would be like an autoscaling algorithm under increasing loads (not delta function loads).

Re: A Proposal for an Antifragile Software Manifesto

#38

Antifragile refers to a property in which a system does not just resist breaking down under disorder and stressors (robust), but gains/learns/becomes stronger. A good example is how bones heal back stronger where they were broken. While we are currently able to build self-healing systems of a sort, fault-tolerant Erlang systems being a good example, it doesn't seem we can build systems that are truly antifragile on t…

I think a better example is balancing pendulums. They stay upright under random movement, but fall when things go still...

Re: A Proposal for an Antifragile Software Manifesto

#39
post #27

Earlier quoted context omitted.

It's not only about Agile, but incremental development is always detrimental especially for complex projects. Also, most companies apply some ghetto version of Scrum, most don't even know what SOS (Scum of Scrums) is, pick and treat the Scrum Master incorrectly, don't even do Planning Poker, don't use Epics at all, don't define stories right, don't use burndown charts at all, etc. In most cases, I see Scrum as an eye…

It's not only about Agile, but incremental development is always detrimental especially for complex projects I really have to dispute that. First, it's not really clear what you mean by "detrimental" - is that to software quality, or development schedule, or suitability? Or all of them, or others? Agile is very clear about the trade-offs - working products being more important than documentation for example, or respo…

You can't build a house from the roof, but that's what Agile indirectly makes you do. Although Waterfall is the other dangerous extreme, it makes you think, correctly estimate, and plan. You can't apply Scrum to every project - especially those with firm deadlines! Yeah, it's good for startups, where feedback and market shape your product, by can you build a spaceship using Scrum? Honestly, as an engineer, even when I use Scrum, I still use Gantt charts, and that's another thing that makes people make funny faces in Scrum.

Re: A Proposal for an Antifragile Software Manifesto

#40
I was kind of hoping for a document that outlined principles to make the engineering process truly antifragile, i.e. one that would thrive under contingencies.

Honestly, I have trouble fathoming how such a thing would be even possible in the realm of software. Maybe a system that "learns" previous failures and proactively monitor failure conditions / throttles contended ressources? (Seems quite specific already)

And the document surely didn't tell me.

Post reply on HN