GeoSpark Re-Engineering
Presentation Agenda
- Plan for next 60 days
- 8 weeks - 4 Sprints
- Features to build or re-factor
- Resources Available
- High level things
Plan for 60 days
60 days is not 60 days but 60 - 2*8 - holidays - leaves - unavoidable circumstances = ?
Actual Plan
Backend (API, SDK, Infrastructure)
- Resources
- Kumar Sabyasachi
- Backend Engineer(To be hired)
- Jothi Priyadarshan
- Sumit Raj
- Things planned to achieve
- GeoFences Modularization
- Events
- Webhooks
- Map Matching
- Nominatim (Reverse GeoCoding)
- GeoSpark Analytics(Heatmap etc)
Actual Plan continued...
SDK (Android, iOS, React-Native)
- Things planned to achieve
- Code Review & CleanUp
- Testing and Bug Fixes
- Additional Methods
- Crash Logger
- Sample Applications
- Benchmarking/Profiling/Tuning
- Resources
- Ekambaram Jayachandiran (Android/React-Native)
- Ravikanth T (iOS/React-Native)
- Android Developer (To be hired)
Actual Plan continued...
Machine Learning & Data Analytics
- Things planned to achieve
- Mapping whole planet using OSM in house on our servers
- Next location prediction
- User specific POIs
- Work & Home detection
- Building ML as service
- On demand training of model
- Performance & Cost Optimization
- Resources
- Gowtham Prabhu
- Data Scientist (To be hired)
- Jothi Priyadarshan & Sumit Raj
Frontend (Dashboard, Documentation)
- Things planned to achieve
- GeoFences Re-Design
- Projects/Application Design
- Billing Re-Design
- Performance Issues Fixes
- Documentation using Slate
- Bug Fixes
- Performance Tuning
- Resources
- Sathish Kumar
- Frontend Developer I (To be hired)
Plan
- 4 Sprints in 2 months
- 1 sprint represents 2 weeks
- We ship in agile fashion every sprint (Build, Test, Deploy)
- Sprints will be tracked via JIRA
Sprint Release I
- Bullet One
- Bullet Two
- Bullet Three
Sprint Release II
- Bullet One
- Bullet Two
- Bullet Three
Sprint Release III
- Bullet One
- Bullet Two
- Bullet Three
Sprint Release IV
- Bullet One
- Bullet Two
- Bullet Three
High Level things
- Environments Setup (Production/Staging/Development)
- Separate Databases for each environment
- Application Security Assessment
- Load Testing for Scalability and Reliability of the system with reports
- Constant Monitoring tools like Pingdom, New Relic etc
- Performance Metrics to be set for API (Latency, Server Error Rate, Uptimes.
- Release documentation
Release Strategy Points
- Focus on goals and results
- Taking dependencies & uncertainty into account
- Only release work that is 'Done'
- Individual team gets ownership over their release
- Improving the release process continuously
- Don't release for the sake of releasing. See the business angle to it.
- Take the context and end stakeholders into account
Agile Manifesto
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Questions?
Thank You!
Principles behind Agile Manifesto
- Highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Principles behind Agile Manifesto
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity--the art of maximizing the amount of work not done--is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
deck
By sumit12dec
deck
- 276