Hello once again to Readers’ Questions, presented by the Ember.js Times folks with a little help from the core teams
Today we have a question by wootag43 regarding how to pitch Ember.js at your company:
What are the best way to pitch Ember.js for the company that are looking forward to break apart monolith application into API and SPA.
This week’s answer is @katiegengler. Make sure to read and comment
The best way to pitch Ember is the same way you’d pitch anything at your company. This process will be particular to the company and project. First, you’ll want to figure out who the decision makers are: who can give the go-ahead to use Ember to implement the SPA? This could be your manager, upper management, a dedicated committee, an architect, or ideally, your development team. It will likely be the same person or group that made the decision to break apart the monolith. You want to tailor your pitch to those responsible for the decision.
Before you start planning, consider whether you need to “pitch” at all. Don’t frame the choice of framework as a momentous decision if it wouldn’t normally be considered one. Don’t involve management if they are not normally involved in tech stack decisions. Don’t hold a team meeting and spend an hour pitching Ember if you normally decide these types of decisions over lunch.
If your team will decide
Talk to your team about what has attracted you to Ember. As fellow developers on the same project, they will likely have a similar perspective to your own. If there are competing proposals, suggest that your team come up with a rubric for evaluating options for the SPA and to gain consensus on what is important in a framework for the project. Be sure to include the relative weight of importance of those factors in the rubric. Suggest building a spike or prototype in each framework to gain some experience and fill out that rubric.
Do not attempt to hide or ignore any of Ember’s negatives. In my experience, seeming like a zealot is a quick way to get teammates that wouldn’t normally care to oppose you. Being forthright about the possible risks of using Ember will make your proposal more credible.
Are you an Ember expert? Are you involved in the community? If so, that can be a good argument in favor of using the framework because you’ll be a resource to help the team. On the flip side, if you have a team member who spends their nights and weekends working on a competing framework, you’ll likely have a tough time garnering support for Ember. But if you have Ember experience, don’t let the person who’s “heard good things about BrandNewFramework” seem to be on equal footing: make your credentials well-known (without being a braggart).
Focus on the facets of Ember that really matter to the success of your project and company. Don’t bring up less important reasons why Ember is a good (such as “Ember is perfect for our project because there’s an addon for our favorite CSS framework!”) fit unless answering a question or filling in a point in comparison to another framework.
If forces outside the team will decide
In this case, it is probably best to gain consensus on the team first, then proceed through the organization on the way to to the decision makers (this depends very much on company management structure!). Always propose to those closest to the team first, working towards the decision makers, enlisting the help of those you convince on the way to propose to those after them. Provide as much data and facts as possible, preferably in a presentation format. Be sure to give a discrete proposal to consider; “Use Ember on the Project X reboot” is better than “What framework to use for Project X reboot?”
If you’re planning to pitch Ember you probably already have a good idea about its benefits, but here are a few things you might want to bring up:
- Ember is used by large corporations such as Netflix, Heroku, LinkedIn, Sony, and others
- everything you need is included out-of-the-box (router, data layer, build tool), but there’s also the flexibility to replace pieces if needed
- there are many high-quality community-contributed/maintained addons. There are well-established solutions for common needs such as deployment, internationalization, accessibility, user interface elements, etc. (see more at emberobserver.com)
- ember-cli makes it simple to get a local development environment going
- LTS releases ensure you don’t have to constantly update Ember to get bug and security fixes
- Ember evolves without making sudden breaking changes. API changes are signaled well in advance of a major version through deprecations, with the major versions merely removing those deprecated APIs
- the ember community is active, helpful, and easy to find in the Ember Community Slack
This answer was published in Issue #35. Don’t forget to subscribe to the newsletter to get development news right in your inbox. You can also submit your own questions! You will find a link at the bottom of the newsletter.
See you in the next issue!