Engineering Software as a Service with David Patterson
Software as a Service (SaaS) and Agile software development started simultaneously but independently. SaaS deploys software at one site made available over the Internet. Agile relies on incrementally developed prototypes and continuous customer feedback. Since Agile embraces change, it is an excellent match to SaaS's rapid evolution. Thus, Amazon, eBay, Facebook, Google...rely on Agile.
What You'll Learn About:
- The synergy between SaaS, Agile, and modern frameworks like Ruby on Rails and modern tools like Cucumber, RSpec, and Pivotal Track.
- Eliciting SaaS requirements from customers via User Stories.
- Following Behavior-Driven Design to convert SaaS User Stories into acceptance tests using Cucumber.
- Following Test-Driven Design to transform SaaS acceptance tests into unit tests using RSpec.
- Projecting SaaS app costs and schedule via Velocity using Pivotal Tracker.
- Organizing SaaS programming teams by following Scrum principles.
This talk is based on Massive Open Online Courses from UC Berkeley, offered in partnership with EdX (CS169.1x and CS169.2x), and a related textbook.
David Patterson is the Pardee Professor of Computer Science at UC Berkeley and is currently Director of the Parallel Computing Lab. In the past, he served as Chair of Berkeley's CS Division, Chair of the CRA, and President of the ACM. His best-known research projects are Reduced Instruction Set Computers (RISC) and Redundant Arrays of Inexpensive Disks (RAID). This research led to 6 books and 35 honors, including election to the National Academy of Engineering, the National Academy of Sciences, and the Silicon Valley Engineering Hall of Fame as well as being named a Fellow of the Computer History Museum, ACM, IEEE, and both AAAS organizations. As a Californian, he does sports for fun: weekly soccer games, annual charity bike rides and sprint triathlons, and even an occasional weight-lifting contest.