getting rid of – angular - lessons learned from a refactoring project – Translate*



getting rid of – angular - lessons learned from a refactoring project – Translate*

0 0


getting_rid_of_angular


On Github ilyakrasnov / getting_rid_of_angular

getting rid of

angular - lessons learned from a refactoring project

by Ilya Krasnov / @ilyakrasnov

EnerNOC

Energy Intelligence Demand Response Grid flexibility

Our app

Track bidding in energy markets Assist dispatch operators 24/7 Report on daily/weekly/monthly basis

Stack 1.0

Rails 3.1 backend (Ruby 1.9.3) Angular JS frontend TB UI

Hurdles

Frontend reporting Incrementally developed UI Onboarding new developers

Requirements 2.0

Standardize UI workflow Extend app logic Simplify stack

Standardize UI Workflow

$20 Well Spent

Extend App Logic

Simplify CRUD/Separate setup from users

gem "activeadmin"

Additional Models and Associations

Eliminate hard coded logic Logic via settings

Simplify stack

Ditch AngularJS

Learning curve for new developers Reduce time feauture -> production Focus

Rails 4

Ruby 2.1.2

Lessons learned

Up to t-0 t-0 t-0 up until now

Up to t-0

Get your boss on board Pair program (and talk... a lot) There are never enough tests No new features!

“[Lean architecture] avoids wasteful coding that can better be written just after demand for it appears and just before it generates revenues in the market. From the programmer's perspective, it provides a way to capture crucial design concepts and decision that must be remembered throughout feature production.” Architecture for Agile Software Development - James O. Coplien

t-0

It's not a bug fix Test the deployment Deploy old app on other environment DB backup Merge to master!

t-0 up until now

(No) user feedback App monitoring Utilize the new UI ($20 well spent!) Support use cases

More lessons learned

Railscasts (thanks @rbates) Rails 4.1 Performance Fundamentals (by Bryan Morearty) Phusion Passenger Course (by Geoffrey Grosenbach)

THANK YOU