Why Agile development is hard for web developers
and three open-source technologies that can help
David Faulkenberry
presented to CS 305 @ UMass Amherst
Thursday, April 21st, 2016
Manifesto for Agile Software Development
February 2001
3 specific principles:
Early delivery of minimally viable products
Face-to-face interaction between developers and clients
Continuous re-evaluation of the effectiveness of the product's current state
So what's the problem?
Ever-increasing security concerns
Need for minimal mobile payloads
Accessibility / usability standards
Introduces many layers...
So... what's the problem?
Initial customization / configuration:
slow startup time
Need for seamless code deployment:
latency of solutions being deployed
Software dependencies:
Reluctance switching between frameworks

Ruby on Rails

Ruby on Rails
"Wait... isn't Rails unpopular these days? Aren't JS frameworks more reactive?"
'trendy' === 'functional' // => falseWhy it's still popular outside of the startup culture:
Convention over configuration: quick startup time
Requires more customization as products develop
Database-first: works well if you already know what your business is
So new projects maintain momentum!
ngrok.io

ngrok.io
Rapid developer/client interaction cycles
Interact with dev, not prod:
no more deployment!
Favors clients who can withstand exposure to "code" —
but that's Agile!
bundler

bundler
You declare what dependencies you have, and you're done
Responsibility is upwards (what services use your technology)
rather than downwards (what technologies do you use)
Enables extreme flexibility:
switch tools in seconds, not hours
Developers focus on the future rather than the past
Conclusion
Agile: de facto standard for responsive development
With these technologies:
Full stack? no problem!
Web development: de facto standard for accessible solutions
Why Agile development is hard for web developers
By David Faulkenberry
Why Agile development is hard for web developers
- 873