I hope the author means HTTPS, not HTTP - otherwise, I don't think this is a good idea.
Anyway, as everything in software development: it all depends - serving a simple JSON over an existing "full blown web application back-end" is usually more convenient and less confusing for developers than configuring hosting for static content. Although, if you JUST want to serve a JSON then, yeah, you can add it as a static resource.
> I am trying to come up with a way to find profit in going against the grain, because I think this is the only way to drive change (or at least preserve my sanity).
I know what you mean, but I think the profit is already there, with some good soft skills you can show your value to the client by doing it the right way. Although it won't be always pleasurable or smooth sail as you need to speak up or tell harsh words to others, but, you know, if there is no tension in bicycle chain it means you are not pedaling. Of course, you need to do it in gentle and respectful manner - that's why soft skills are so important.
LOL, just name your stories accordingly and move "as a user I want to" part to description. Haven't you raised that easy-to-fix issue with your team members?
One thing to add in favor of user stories: they have very broad audience - basically every non-technical person will understand it, which is very useful if the domain is specific and you need an input from regular users.
I suspect that this approach might not be the best fit for more "fluent" projects as you are unable to reevaluate how things should work until the whole feature is finished, but that's just my wild guess as I've never worked in such setup.
What you've said is very true, but implementing it depends heavily on the client. The fundamental rule of agile is that business needs to participate in software development on daily basis (and I agree with that 100%). Although, it is very difficult. The first big obstacle is that business doesn't understand the very nature of software development which is: it is easy to change and it is reusable. The former one means that you can gradually improve your solution instead of coming up with exhaustive description up front. Instead they think about it like about processes their are familiar with, e.g. building house, where if you build a wall it will be hard to move. The latter one (that it is reusable) is a bit easier to grasp for non-software folks, but then again: someone needs to introduce them to this idea, as they are not familiar with the concept that there are building blocks ready and the hardest part is to find best fitting building blocks and glue them together. Those I would call knowledge gaps, sometimes there is some resistance due to the fact that those guys are doing totally different things, so they don't see a need for learning about software development (which is quite naive, if you ask me, since software is basically everywhere nowadays).
But there are more obstacles, like cultural ones: I can't count how many time I heard "client pays, client demands" without want to hear any feedback or guidance.
There are also obstacles on work organization level, for example: people who have final say how should system look/work have no time to even grasp general ideas about the system.
And god forbid if your client has experience with software developers who were silently and blindly (which means: inefficiently) developing everything that client demanded, because it creates a wall that will be very hard to breakthrough.
I wouldn't use "them" in this sentence, Mozilla is non-profit organization, but Gecko is open source - anyone is free to send them patch. The problem is that development in this environment is not an easy task. Yup, it is improving overtime, build scripts are constantly updated, but is still huge codebase with a lot of "magic".
Yeah, I know, you downvoted me, I don't mind, enjoy yourself.
But, again, to the point (because you still missing mine): I don't argue libraries shouldn't be subsidized from taxes, I even clearly stated it's the mater of personal opinion (if you read carefully you'd know), I argue that you just cannot mention libraries and the police in one breath like you did, simply because they are not of the same kind - the library (again - kinda tired of repeating myself) CAN be subject of discussion, but police, army, justice system - CANNOT.
I thought I was talking to an intelligent person - do you understand that "necessary" is totally different category than "nice to have"? What's the point of having libraries if they will be looted or bombarded on the very next day? How can you still don't understand that having or not having the police forces is not comparable to having or not having libraries?
I repeat: public safety is THE reason why we organize in countries, so police, army, justice system is in COMPLETELY different category - it is something essential, the rest is disputable. That's why you cannot compare them with, e.g. schools, there are decent countries without public education, yet, there is no serious country without police/army/courts.
Arguably, cities need public transport in from of a metro even more than stadiums, yet, the first underground railway was completely private enterprise.
How did you get from stadium to police? The whole idea why people organize themselves in countries is to ensure internal and external safety and thus that everyone pay taxes for police, army and courts. Everything else is an addition and in my opinion even undesired to fund by whole community - you can always organize fundraiser or start a private enterprise for such things.
I remember times where free market and private enterprises were huge part of American culture. I miss those times, bloody socialists are going to ruin everything.
Anyway, as everything in software development: it all depends - serving a simple JSON over an existing "full blown web application back-end" is usually more convenient and less confusing for developers than configuring hosting for static content. Although, if you JUST want to serve a JSON then, yeah, you can add it as a static resource.