2. 2CONFIDENTIAL
APPLICATION
Front-End
Mobile Apps
Application backend. Microservices
Product Catalog Care API’s Device Management External Database
Profile Data Billing Data Usage Data Service Data
MOBILE APPLICATIONS ENVIRONMENT
APPLICATION
Back-End
Aurora
Mobile Application
VIPER. Reactive
4. 4CONFIDENTIAL
Content management
CORE
SYSTEMS
SERVICE
DELIVERY
APPLICATION
Front-End
Backend Data Services
Mobile Apps
Second
Application
Mobile Reusable Components Components
Login
Analytics
FAQ
Onboarding
Feedback
Payment
Chat
Upsell
Campaigns Content &
UX Service
Service Delivery Platform
Product Catalog Care API’s Device Management External Database
Profile Data Billing Data Usage Data Service Data
MOBILE APPLICATIONS ENVIRONMENT
Assets
Notifications/
push messages
In-flight
preview
Content
Updates
Application
API
Analytics
First
Application
Application
API
APPLICATION
Back-End
External Global
Services
(e.g. The Platform)
Contact service
Legacy
Application
5. 5CONFIDENTIAL
MOBILE APPLICATIONS ENVIRONMENT
• 2 mobile platforms
• Quick rump-up up to 12 mobile developers per
platform
• 4 external vendors
• Up to 300 people overall
• Up to 50 delivery units overall
• ~3-4 generations of redesign
• First release is always in a month
6. 6CONFIDENTIAL
DISCLAIMER
• No silver bullets here
• Only lessons learned
• If you’re developer who looking who possibilities to grow
• If you’re afraid that you project will grow too fast at some
moment
• If you’re working on non-product companies and deals with
existing businesses
9. 9CONFIDENTIAL
DEPENDENCY MANAGEMENT
Statement:
• All the dependencies should be explicit
Cost of ignoring:
• Broken timelines
• Dependencies will manage you (in Soviet Russia of
course)
• Verbal communication (L/L/H)
• Email communication (L/M/H)
• Separate Jira to track dependencies (M/M/M)
• Dependency reports (H/H/L)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
10. 10CONFIDENTIAL
COMMUNICATION MANAGEMENT
Statement:
• Your email will not be read
• Your email will not be answered
Reasons:
• Your team is tired
• Too much of emails
• He did not read emails
Cost of ignoring:
• Someone ruined the timelines
• Tasks will be ignored until fuckup
• Push response time levels (L/L/H)
• Manage outgoing messages (M/M/H)
• Managing multiple channels is OK(M/M/M)
– Respect communication timeslots
– Always do an MFU (be a scripter)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
11. 11CONFIDENTIAL
DELIVERY MANAGEMENT
Statement:
• When we release v1.3 for USA?
• What is the scope of the version?
Cost of ignoring:
• Not clear delivery timelines
• Unhappy stakeholders
• Unsatisfied dependencies
• Clear ownership management (H/M/M)
• Regular reporting (M/M/M)
• DevOps culture (M/H/L)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
12. 12CONFIDENTIAL
OWNERSHIP MANAGEMENT
Statement:
• Your email will not be answered
• Who are these guys?!
Reasons:
• Stakeholders list are impressive
• Simultaneously projects management
Cost of ignoring:
• Major stakeholder still hidden
• Things still undone
• I need to schedule that cup of coffee
• Manage stakeholders list (L/M/M)
• Sheriffs (M/H/H)
• Provide of communication platforms(M/H/M)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
14. 14CONFIDENTIAL
DOCUMENTATION MANAGEMENT
Statement:
• Nobody read your perfect documentation
• Nobody write it
Cost of ignoring:
• Prototype-implementation gap
• Long-term maintenance gap
• Approve checklists (L/M/L)
• Updates history (L/M/L)
• Single source of truth (H/H/M)
• Glossary, Onboarding, etc..
• Nobody still write it :-)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
16. 16CONFIDENTIAL
TECHNOLOGY STACK SELECTION
• You may use cutting edge technologies stack
– Swift is mature enough
– Kotlin is mature enough
– React Native is mature enough
• You may target 2 latest major OS release
• Consider cross-platform technology stack
• Client Architecture cult is overestimated
– Consistency over complexity
– Cross-cutting are priority from start
– YAGNI
17. 17CONFIDENTIAL
TECHNOLOGY STACK SELECTION
• You may use cutting edge technologies stack
– Swift is mature enough
– Kotlin is mature enough
– React Native is mature enough
• You may target 2 latest major OS release
• Consider cross-platform technology stack
• Client Architecture cult is overestimated
– Consistency over complexity
– Cross-cutting are priority from start
– YAGNI
You will regret it.
- Stuffing is pain
- Learning is pain
- Young languages are painful
And it. Native still better
Yes, this one is also will cause regrets
- time for refactoring reducing risks
- you have no enough time
18. 18CONFIDENTIAL
SINGLE SOURCE OF TRUTH
Statement:
• You’re driving development of multi-platform solution
• Sharing is caring!
Cost of ignoring:
• Inconsistent implementation
• Inconsistent issues
• API management (M/H/M)
• Configuration management (M/M/M)
• Cross-cutting management (M/H/M)
• Assets management (M/H/M)
• Sharing of logic (H/H/M)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
19. 19CONFIDENTIAL
SINGLE SOURCE OF TRUTH
• API management
• Configuration management
• Cross-cutting management
• Assets management
• Sharing of logic
20. 20CONFIDENTIAL
PLATFORM SYNCHRONIZATION
Statement:
• Platform development caused different speed and
different issues
Cost of ignoring:
• Increasing of maintenance cost.
• Increasing of risk of major misunderstanding on
platforms
• Cross-functional sub-teams (M/H/L)
• Cross-platform review&testing (L/M/M)
• Reverse documenting with checklists (M/M/M)
• Code-generation & shared code (H/H/L)
• Brown-bag sessions (M/M/M)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
21. 21CONFIDENTIAL
PRODUCTIVITY
Statement:
• Delivery speed decreasing over time
Cost of ignoring:
• Constant velocity drop
• Team demotivation
• Modular architecture (H/H/M)
• Mocking culture (M/M/M)
• DevOps culture (M/H/M)
• Auto Unit tests (H/M/M)
• Auto E2E tests (H/M/M)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
23. 23CONFIDENTIAL
TIME MANAGEMENT
Statement:
• Time is matters
Cost of ignoring:
• Became a no-lifer
• Drop delivery
• Limiting of working day (H/H/H)
• Scheduling is matters (M/H/M)
– Predictive booking
– Skip meetings
– Discipline over motivation
– You’re human after all
• Do it once (H/H/M)
• There is no silver bullet in GTD
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
24. 24CONFIDENTIAL
TIME MANAGEMENT
• They need all your time
• Delegating of tasks is not enough
– Delegating of contacts
– Delegating of responsibilities
– Delegation of pain
• You’re not the only who fill unsatisfied by evening
• Everything is matters
25. 25CONFIDENTIAL
CONTACTS MANAGEMENT
Statement:
• You don’t know who is all that people
• You don’t know who will help you today
Cost of ignoring:
• You’re not able to involve right person in a right
conversation
• Contacts list (L/M/L)
• Process diagrams/graphs (L/M/L)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
26. 26CONFIDENTIAL
CONTACTS MANAGEMENT
Имя Контакт Projects
involved
Role Comments
Вася Пупкин vpupkin@enterprise.com
Viber: +37500000000
URBiz CTO Accountable for project
• Which areas are interesting for?
• Which relations are matter?
• What impact could he has?
• Explicit RACI matrix could be great
27. 27CONFIDENTIAL
INFORMATION MANAGEMENT
Statement:
• There are too much of information
Cost of ignoring:
• Missing of major details
• Constantly unsatisfied
• Be a scriber, create an agenda (M/H/M)
• Find your own KB format (H/H/M)
– Index is matters
– Ritual is matters
• Zero inbox rule (M/M/M)
Key:
L/M/H
Low resources
to Implement
Medium positive
results
High risks of fail
ToDos:
To Show visually that top only top layer is in scope
Make Web components the same way as Native but without “App-specific”
Add Legend showing that dotted line boxes need “Feasibility investigation”
ToDos:
To Show visually that top only top layer is in scope
Make Web components the same way as Native but without “App-specific”
Add Legend showing that dotted line boxes need “Feasibility investigation”
Multiple technologies
Всегда есть запрос на автоматизацию – запрос на повторяющиеся действия, информацию
Помните самолет из передачи каламбур
Spring Boot for setup and auto configuration
Spring Cloud Feign for zero-time Service Clients implementation
Ribbon provides a client side load balancing via Eureka
Zuul acts as a API Gateway and routes calls to services
Eureka acts as a Discovery Service
Hystrix is a Circuit Breaker implementation that adds fault tolerance to service-service calls
Spring Cloud Security is used for a Security Service
Spring Cloud Config is specified for Centralized Configuration Service
Spring Cloud Sleuth acts as a Monitoring Service
Spring framework is used for REST API implementation
Spring Boot for setup and auto configuration
Spring Cloud Feign for zero-time Service Clients implementation
Ribbon provides a client side load balancing via Eureka
Zuul acts as a API Gateway and routes calls to services
Eureka acts as a Discovery Service
Hystrix is a Circuit Breaker implementation that adds fault tolerance to service-service calls
Spring Cloud Security is used for a Security Service
Spring Cloud Config is specified for Centralized Configuration Service
Spring Cloud Sleuth acts as a Monitoring Service
Spring framework is used for REST API implementation