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' // => false

Why 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