Git Product home page Git Product logo

paseico's Introduction

PASEICO

Watch the video

Project context

This application is a college project and the result of a 4 sprint long project (2 + 3 + 2 + 2 week distribution) working with other 7 devs. The porpuse was to improve our skills in managing a software development team with an agile philosophy, continuing the contents from Software Development Process in the last year course Software Engineering Project. In the context of that academical project, we made several collaborations with other courses like:

  • Analysis, Verification and Debugging:
    • Design and implementation of a representative suite of automated acceptance tests in mid development with Espresso. Also, we made a little "maintenance" on that suite in the last sprint, considering which test were best suited for being updated to the keep up with the new changes in functionality.
    • Static analysis with FindBugs, looking for side problems (mainly non functional) and reasoning about our capabilities, w.r.t. the time given, for solving the encountered issues. Also we made a little research on other tools like android profiler, Battery Historian, etc., for non functional analysis.
  • Analysis and Requirement Specification:
    • Comparative between traditional and agile methodologies, focusing on the elicitation, design and specification of software requirements.

For insighs, pull requests and other related artifacts of interest, see the main repository at https://github.com/Juvemanu/Paseico

What did I learn

  • How to better adapt the designed process and workflow to better suit the team necessities:
    • Change the sprints duration to match the project state and team specific capacity in the next weeks.
    • The important of continuous integration and parallel development, making steps towards that direction by using a "branch feature" like workflow: the main branch is updated via pull-request, as per task/work unit.
    • Flexible workflows.
    • Continuously refining the work unit estimate to better reflect its current state and make it visible to other team members.
    • Discuss and manage the application functionality and content with the dev team as Product Owners.
    • Having several ~15 minutes long stand up meetings (3 or so per week) to put in common the acomplished work and see which problems we might be having, so that other team members can lend a hand or even decide if the remaining work must be reestimated and postponed.
  • How to manage a bigger team, of other 7 devs, for a project with a duration of 10 weeks long.
  • Make minimal and useful documentation and research for determining the idea/project viability and help selling it:
    • Brief and small market research.
    • Promotional pitch for selling the idea to possible investors/shareholders.
    • Financial estimate for the cost, net benefits, ROI, etc.
    • Bussiness and monetization plan for the app.
  • The basics of Android development:
    • Activities and the porpuse of the Android Manifest.
    • Comunication between activities.
    • Navigation between common activities and with the navigation component.
    • Request and check for user permissions.
    • Resource files for Strings, Integers and other types of constants.
  • The basics of working with REST APIs, mainly by using the Google APIs Distance Matrix for getting estimates of Routes length and duration.

paseico's People

Contributors

claudiaam avatar franciscoggonzalvez avatar joserom99 avatar juvemanu avatar risobac avatar smugylooky avatar v1ct0r-byte avatar xiphereal avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.