2. TEAM
1 Architect
1 Team Lead
2 DB Developer
3 Developers
2 Front End Developer
1 Business Analyst
1 QA
3. 5-day Sprint
DAY 1
DAY 2
DAY 3
DAY 4
DAY 5
Daily Meeting
Daily Meeting
Daily Meeting
Daily Meeting
Daily Meeting
Short Team
Planning
Meeting
Backlog
grooming for
next sprint
Team code
review
Next sprint
planning by
product
owner
Team Weekly
Demo
Daily Build
Daily Build
Daily Build
Daily Build
Daily Build
Daily QA
Report
Daily QA
Report
Daily QA
Report
Daily QA
Report
Daily QA
Report
Midweek QA
Report
Weekly QA
Report
4. Technology Architecture
Native UI Layer: iPhone, Android, Windows, BlackBerry!
Queue, Push Notification!
!
View!
Model
Data Access!
Single RESTful API!
Web API Layer!
Web UI Layer: Responsive HTML 5 & CSS 3 (Twitter Bootstrap)!
!
!
RequireJS, DurandalJS, KnockoutJS,
BreezeJS, KendoUI, Socket.IO!
View!
Client Data Context JS!
Composite RESTful API !
(Combine several Single API for performance while keeping single API for clean architecture) !
MemCache/Redis Clustering Cache Layer!
Business Logic Layer!
Database Service RESTful API!
DB Service API
Layer!
Model
Aggressive Database Cache layer by MemCache or Redis or Internal Database Cache !
Service Logic Layer!
Clustering NoSQL Database with Automatic Failover (MongoDB, RavenDB, !
!
6. Sprint 1
Team of 2 Developers +
1 NoSQL expert +
+ QA + BA built the Authentication
system
7. Sprint 2
Authentication with social login
working great
QA started writing test cases
Lead Architect joins the team
8. Sprint 3
Start separating application layer
DB needs to provide single action per
object
Started working on MVC model
9. Sprint 4
Continued work with QA entering test
cases and BA analyzing use cases
Team presentations and team code
review meetings
10. Sprint 5
MVC is not good enough
We need everything in API so as to be
ready for Mobile Development
Begin to implement ASP.NET Web API
11. Sprint 6
Started instant search.. It was
awesome!!!
Started scaling with Memcache
Implemented authentication token
based security
12. Sprint 7
Need to optimize performance??
Implemented mini profiler for all
services, API and even client
Can track every request history
13. Sprint 8
Client side needs to be structured??
Implemented MVVM for client side
JavaScript
Separated Javascript from HTML using
Durandal.js
14. Sprint 9
Memcache is not enough L
Need something that can help to insert
and access fast for aggressive caching
We need Redis !!!
15. Sprint 10
API first design has weaknesses. We
call 10 APIs for one page L
Made an API bundle that calls single API
and returns data in JSON array
We were happy J
16. Sprint 11
Test with 100+ million users slowed our
servers L
People advised us to take 100GB
memory. This was crazy!
We started vert./ hori. scaling of NoSQL
17. Sprint 12
We were behind schedule L
Started working on weekends and
started one-to-one meetings
Increased development time by 30% J