frameworkless-movement / manifesto

The Frameworkless Movement Manifesto
Creative Commons Attribution Share Alike 4.0 International
820 stars 23 forks source link

What Frameworkless is not? #6

Closed francesco-strazzullo closed 6 years ago

francesco-strazzullo commented 6 years ago

this is one the questions created by @apiraino in issue #1.

Quoting @apiraino

perhaps clarify a bit more what frameworkless is not (build your own library? reinvent the wheel? NIH? etc.)

lorenzomassacci commented 6 years ago

Hi @apiraino , to answer you I wrote here some examples of what Frameworkless is not:

Frameworkless does not mean that we have to (or we want) build our own framework. But it means taking a conscious decision about if we want to get help to do our own job from tools already exist and in what way.

Frameworkless does not mean "reinvent the wheel". There are a lot of "tools" (frameworks, libraries but also StackOverflow) that solve known and common problems in a great way. Frameworkless means, however, don't assume that in the software I'm writing I can afford to delegate this responsibility and depends on other (library for example) to solve a specific problem. Or worse: don't reinvent the wheel and bind hand and foot to a whole framework even if I don't really need.

Frameworkless does not mean that you must develop all software by yourself thinking that this is more secure and more performant (Not Invented Here syndrome), far from it. Frameworkless means give the right importance to the technological decision making, taking into account the entire context where the software will have to "born" and "live". Including the developers' skills who have to develop the software, deciding to get help from a framework keeping in mind the reasons that support this choice and the tradeoff.

Frameworkless literally means "without framework" and, like we write in the readme: "This means to consider a No Framework as an option when choosing a technology for a new project or a new feature of an existing project" Therefore Frameworkless does not mean always develop software without a framework in every context and in every situation, but means keep in mind during the technological choice that the chance to develop a project or a single feature with no dependence on a framework it is a real possibility.

What do you think about it?

apiraino commented 6 years ago

Nice, thanks. Now, if I understand this also implies: what if I'm already using a framework (because existing codebase or framework needed anyway on a new project).

A) Embrace it fully (i.e. we already have as a dependency, let's use it to the full extend) or B) try to use the least I can?

Your answer would be (b)

lorenzomassacci commented 6 years ago

Yes, but, it depends :-)

To understand what "try to use the least I can" means, you and your team have to ask yourself some questions that help you take a conscious decision. Question like:

What is our business goal? What is software "life expectancy"? In what way the framework help us? What kind of trouble could it make to us? What are our team skills? etc...

Talking about this question with your team and your stakeholders help you to decide a strategy to defend against framework and use it responsibly.