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

  1. Environments Setup (Production/Staging/Development)
  2. Separate Databases for each environment
  3. Application Security Assessment 
  4. Load Testing for Scalability and Reliability of the system with reports
  5. Constant Monitoring tools like Pingdom, New Relic etc
  6. Performance Metrics to be set for API (Latency, Server Error Rate, Uptimes.
  7. Release documentation

Release Strategy Points

  1. Focus on goals and results
  2. Taking dependencies & uncertainty into account
  3. Only release work that is 'Done'
  4. Individual team gets ownership over their release
  5. Improving the release process continuously
  6. Don't release for the sake of releasing. See the business angle to it.
  7. 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