When I was writing my Outreachy Proposal I had a timeline of all the activities that were going to happen. You can say I thought I had all figured out which issue will be tackled after which. It is quite a shock that my first task on the list was done during my first week! Here is the initial plan I had for the project. But I did not follow it to the latter for example I realized I had to refactor the existing code for statistics logic before I could write the downloading raw stats, and after that realized I had to have the logic on the range page rather than the my initial plan of having it on the stats page. Also you realize other “mini-projects” related to the project emerge or follow-up issues and bugs come up from your previous issues as you go on with the project.
I started with the independent issues. Then I went on to issues that were related. Example there was a week I was working on graphs and I sort to improve the graphs on the site which required I research on best graph libraries out there, up my javascript game and look for a contributor who I can consult when I am stuck on js-related issues and choose a good graph fit and implement it to the site. If any follow up issues come up I like to sort them out as soon as possible before I go to a different feature so that it will not be hard to revisit it and also make sure things are not looking ugly or breaking in production.
Some goals took longer than expected. Like the task on downloading raw stats from the website, I had allocated it a week but it took longer. First I had to study what kind/type of data we need to analyse website activities and then make sure I give the analysers helpful data from the website. I also had conservations with the people involved in data analysis and manipulation and get which data would be helpful to them. After that figure out the best way to provide this downloads while still thinking about good display for the same. But I loved this goal. This was one of the most interactive milestone, I got perspectives from different people with different roles in the community. I changed my code implementation and display point about 10 times before the I got the now implemented code. Here I modified my expectations based on what is really helpful to people who interact with that part of the application.
So my plan for the rest of the internship is just tackle related issues back to back so that I can deliver a milestone kinda feature and its easy to have follow-up issues integrated with the rest of the project.