The final project lacks profiles for users where they can select between developer, scrum master, product owner, etc. and instead these types are managed through the user groups via the Django admin site. This configurability is odd and doesn't always work when we run Backtrack. We would hope in the next version to implement user profiles that are more managable by the actual users of Backtrack.
The UI/UX is lacking what we would expect a final project to look like (however this was expected).
Overall, the usability of adding/editing/selecting tasks/pbis isn't as seamless of a transition as we would have liked or that you would see in a professional project. Not using javascript made the coding simpler, but limited what we were really able to do. There are excess button pushes to complete a function from the user's viewpoint.
For the Burndown and Burnup charts, we weren't able to create this exactly as we wanted to because we don't currently track the work done per day or log an increase in actual effort hours per day to display this in a comprehensive chart. An update would be to log the day that a change in actual effort hours was made and use that to populate a chart and a graph.
When creating a new sprint, our goal was to select PBIs from the Product backlog to be added. We also wanted PBIs to to be added/removed from unstarted sprints. This unfortunatly didn't come to fruititon. We could implement a front end button to select PBIs however integrating this feature with the backend proved far more complicated than we expected. Becasue of this, transition a PBI into a new sprint, remove PBI from a sprint and, add a PBI to a sprint are features that didn't make it in release 1. (Some members also stopped replying to messages and didn't complete their share of the work and so we struggled to put the right amount of time into these features in order to successfully complete them).
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
I suggest downloading a DB sqlite viewew if you are interested in lookin at and manipulating the DB.
pip install pipenv
will install an isolated environment to maintain projects
cd into your directory
pipenv install django
will install Django in your virtual environment
activate your virtual environment with pipenv shell
When you start working on code, you don't want to disrupt the current system. We will be using git.
Each time you want to work on a feature or a task, you'll create a new branch.
Start by pulling all the current code from master git pull
and then git checkout -b sprint-number/description
to
create a new independant branch. You will now be on this new branch. Write all your code for this user story / individual
task on this branch, adding code git add .
to add all the changed files or git add file-names
to add specific files,
and making commits git commit -m "descriptive commit message- what changes were made so we can track progress and rollback changes"
when necessary.
When you are done with making changes, push all of your commits git push origin branch-name
.
create a new branch: git checkout -b branchname
change branches: git checkout branchname
deleting a branch: git branch -D branchname
what branch am I on? (suggest adding this to ur terminal- google it): git branch
On the home page of our github reposotory after you've pushed your changes on your development branch. Click the green button "compare and pull request". Here you can describe what changes were made, make sure all the tests pass, and assign specific developers to look over your code. Once another member approves your code, it will can be merged into the master branch via the "squash and merge" button.
python manage.py runserver
will launch the server where I have made some working pages!! http://127.0.0.1:8000/backtrack/projects will bring you to a page with a list of projects. You can use this to Debug and change your code based on the visual.
Feel free to make changes in Backtrack/Models.py, and then run to ensure your updates migrate throughout the project
python manage.py makemigrations backtrack
python manage.py migrate
- [Django](ha put a link here) - The web framework used
- Hannah Grossman - Github