mediasuitenz / tech-stack

Media Suite's evolving tech stack
6 stars 0 forks source link

RFC: Where can we make big gains in productivity / speed of development #27

Closed JonForest closed 7 years ago

JonForest commented 8 years ago

It feels like a bit of an elephant in the room at the moment that our projects are currently taking longer/costing more than our old PHP stack, if I understand correctly.

I have no experience of that time, so it's difficult for me to identify what things have changed such that things take longer. However it's pretty gutting that a tech stack I really enjoy isn't delivering for us.

I've been going through old PRs of mine from My Worksites and Leapfrog trying to find common items that felt like they took too long, and if there are any lessons that can be learned from this. Here's what I've got:

(Note: not all things that take a long time took too long; some things are just hard or require some serious thought. Hopefully though, there are things to learn that we can apply to future projects) If we can collectively identify types of activity that feel like they really hurting us from a productivity point of view, then maybe we can generate some reference implementations, best practices or alternatives that allows us move more quickly.

Resonance1584 commented 8 years ago

For me this comes down to two separate issues:

Why Node/JS? Pros:

Cons:

Why SPAs? Pros:

Cons:

pnw commented 8 years ago

My question in response to this: Some of the things you identified as having taken time to figure out, @JonForest , are they still taking time or are they things that have been "solved"?

Example:

A lot of time was 'wasted' trying to get the relationships on Ember models updated after returning json-api from a custom end-point.

Initially, there was definitely an effort to figure out how to do something like that, especially since there is little documentation or canon around how to make ember-data work with custom http requests and RPCs. However, we have a system in place now, and I don't see hooking up a custom remote method to the client anything more than the most minimal time investment.

My suggestion is that perhaps we exclude things that we've identified as "solved problems" from this discussion so that we can focus on the things that continue to consume a disproportionate amount of resources.

Examples:

digitalsadhu commented 8 years ago

I think we need to be a bit careful about our thinking. What are we comparing against?

Multidimensional change

How do we measure slow vs fast? I think when most people think, "things are slow but they used to be fast" what we completely fail to acknowledge is that we are absolutely NOT isolating the differences and their effects between our "used to be fast" and our "now its slow" comparison points.

digitalsadhu commented 8 years ago

@JonForest had a brief discussion with @ewen and @anotheredward but we are leaving it here and keen to pick it up with you and others as part of ongoing discussion.

tfentonz commented 8 years ago

:+1: for learning lunch on testing Ember and testing in our apps. This came up in peer review as something that would be generally useful.

pnw commented 8 years ago

Some other areas of investigation:

JonForest commented 8 years ago

Okay, I reckon we need to form a working group to discuss this further and make a plan of how to take it forward. I'll set something up for next week. @digitalsadhu @ewen @anotheredward @Resonance1584 @pnw - you all keen to be involved? I think six of us is quite a large group, but this is a subject that clearly there are a lot of areas to consider. Happy to curate/organise this.

anotheredward commented 7 years ago

I feel like we've moved forward on this issue and are trying out options, closing.