Vision for the Hack for LA Development Team - abuna1985/website GitHub Wiki
Vision For The Hack for LA Development Team
Current Vision for the Hack For LA Website
The Goal of the current website is 2 outcomes:
- Provide value-based impactful reasons to donate to Hack for LA
- Recruit Designers, researchers (UX), developers (front-end/back-end/fullstack), and data analysts to volunteer their time to contribute to projects (website/etc)
What I Would Hope You Get Out Of Being On This Team
1. An Inclusive and Professional Environment
- I would like our team to provide an inclusive professional environment where you feel the ability to contribute at a level that is comfortable with you.
- Even if you just do 2 pull request contributions (good first and second issue) and jump to a new team, I want to make sure this was a value-added experience that you can use in a job interview.
2. The Freedom To Explore/Experiment Or Use Modern Techniques To Rebuild Older Elements
- I would like to provide more opportunities to modernize current elements with ES6 JavaScript and build new elements with semantic HTML/Sass
- Our design system is not implemented, but it is because we have not really determined a standard for our elements (site components)
- With moving our repo to a dev environment, we now take back control of prototyping.
- My hope is that we can start prototyping within the dev team (with an understanding that 50%-75% may just not be added to the final site
- But this allows us to prototype functionality and provides design requirements to the design team that fit what we can create.
3. A Clear Understanding Of Working In Git and GitHub With A Dev Team
- I want our team to be comfortable working within a repo that has 10-20 people working in it simultaneously.
- VSCode has a git user interface that has forms/menus to complete adds/commits
- There is also GitHub Desktop that makes a graphical user interface (forms/buttons) instead of using the command line
- Some employers may prefer you to use the command line. Some employers don't care as long as you have contributions. * I want you to use the tool that makes you feel comfortable adding/committing/pushing to GitHub.
What Is Not Working Now?
1. Our Current System Of Project Maintenance (It's Not Fun)
- Because we have many, many stakeholders (Project Managers from all the projects/Bonnie/Design), our priorities change every week, we are starting to grow a large backlog of issue
- More than half of the issues within the
prioritized backlog
were created by previous teams/leadership. Before we incorporated more structure into our issues. Some may not be clear or even really helpful now.- Ideally we need the following 4 issue types:
- Maintaining site features/update information (requests from outside project managers)
- Experimental prototyping(requests from tech lead)
- creating or recoding elements (site components - requests from tech lead, Bonnie, design)
- Back-end/Devops (GitHub Actions, linting, testing - requests from the back-end tech lead)
- Ideally we need the following 4 issue types:
2. Documentation
- We have a bit of documentation, but not enough to understand how to claim an issue, what to do after a good first issue, or updated documentation on what our focus is.
3. Lack Of Updating Team Progress/Clear Vision.
- You are an integral part of this project. You all make things happen
- I am hoping with more transparency and meaningful updates, you will take more ownership of this project (again to a level that is comfortable with you)
What Are We Do About It?
- Good news. We as a dev team have the ability to make this a more practical and relevant experience
#1850.
1. I Am Going To Drop Ownership Of The Design System Implementation Issue- I have updated the issue to better see what needs to get done.
- I have let notes in specific issues with current CSS/JS roadblocks
- If anyone is interested in helping standardize elements (our site components)
- This means determining what needs to be in the base class styling for elements like buttons/cards/accordions
- This also means making sure the HTML is semantic and is web-accessible (meaning it can be used by tools that extend support to the user)
- From my experience, you're going to have to do some heavy research and prototyping.
- If that sound like something interesting to you, pick up an HTML/CSS system redesign issue
- System design JavaScript issues will be available after the step below is completed
2. I Am Going To Create An Issue To Complete Adding Unit Testing To Our Project:
- Create a branch that incorporates a unit-testing library within Jekyll/JavaScript with testing commands
- We will also create documentation for creating unit tests, and light Test-Driven/Behavior-Driven Development concepts
- TDD/BDD will not be required to write a test
- Issue to create unit tests for current JavaScript files
- Issues will have pseudocode tests that need to be converted to proper test functions (based on our documentation)
- Incorporate new test commands within a git pre-commit hook (possibly GitHub Action/CI).
- The goal will be for the test suite to run before the code is committed. If there is an error, it is provided to the committer and the commit is canceled.
- Update issues for new page builds to include unit tests
NOTE: Once unit testing is incorporated into our process, the JavaScript requirements will be more clear and the experience will fit more with what a front-end engineering team is doing.
NOTE: If anyone is interested in helping with these issues, please let me know and I will be happy for you to take the lead on an issue.
3. Weekly Meeting Celebrations/Wins
- We are going to have a section in the Sunday meeting for celebrating wins like sending pull requests, updating features/creating page(s). I basically want to recognize/shout out to any contribution made in the repo.
- I am also going to do a weekly Slack message after the meeting celebrating wins.
4. Make Clear What Is A Priority In The Prioritized Backlog
- I have added a card within the prioritized backlog that shows the top 3 issues by size label. I would like to go over the list on Sunday or Tuesday so everyone is aware of what the priority currently is.
- Note: If you take an issue, please remove it from the card and I will replace it with another issue.
- I will also check 2-3 times a week to update the issues
- I am thinking about providing a slack notification when the card is updated
5. Office Hours
- I will monitor the #hfla-site channel/My DMs and be available for questions/talking out ideas/pair programming
- I was thinking Tuesday from 3 PM-7 PM and 8 PM - 10 PM
- I can do it on weekday mornings/evening or Sunday if there is a more preferred time.
- I was thinking Tuesday from 3 PM-7 PM and 8 PM - 10 PM
6. Design Liaison
- Ava attended the Hack for LA Website design team meeting on Thursday at 5 PM
- I would like to continue to have a design liaison who attends the meetings and provides developer context.
- If you would like to represent the dev team in design meetings, please let me know.
- I will be the interim design liaison until a permanent choice is made.
NOTE: I want to remove the BDFL (Benevolent Dictator for Life) structure we currently have and create a more collaborative environment. But that takes buy-in from the whole team. That is why I want to create more Slack updates so everyone has access to our status as a development team. I don't making a meeting to hinder your ability to contribute.
If you have questions/comments/concerns/ideas feel free to DM me on Slack.