-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Welcome to the team!
To start onboarding, I have prepared important information and some tasks so you can start getting familiar with the project.
π General Description
The Project Phase is designed to be the ideal complement to enhance the skills you have acquired in both the Fundamentals of Programming and Specialization phases.
This phase will fully prepare you for job searching, as you will work in a team, simulating the daily tasks of a programming company.
The team will be multidisciplinary, with members specialized in frontend and backend development.
To ensure the successful development of the project, you will have the Project Mentor, who will accompany you throughout the process and act as a Senior-level professional, offering support when facing difficulties. Additionally, the team will have a Scrum Master, responsible for facilitating the Agile work methodology and ensuring efficient and productive teamwork.
Benefits of Participating in the Project Phase:
- Deepen your experience with GitHub as a collaborative tool within a development team.
- Learn and apply the SCRUM methodology for agile project management, improving teamwork and organization.
- Combine and apply technical skills acquired in previous phases in a real-world-like practical environment.
- Transition from individual work to teamwork, adopting methodologies and dynamics used in professional settings.
- Develop personal and interpersonal skills to manage different project tasks within a team.
- Learn to make short presentations, justify technical decisions, and defend your code.
π Methodology
The Project Phase follows a hybrid learning model, combining one in-person session per week with the rest of the days in an online format. It includes synchronous activities (Monday-Thursday, morning sessions) and a majority of work in asynchronous mode.
Weekly Commitment
The minimum weekly dedication required is 20 hours.
Synchronous Planned Activities:
- Presentation of results and weekly challenge launch (45 min).
- Daily stand-ups (15 min).
- Sprint retrospectives (60 min, every two weeks).
Project Duration
The project lasts 5 weeks, structured into:
- Week 1: Project introduction and setup.
- Sprint 1: 15 days.
- Sprint 2: 15 days.
π Evaluation Criteria
During this phase, the following attitudes, skills, and knowledge will be assessed:
- Understanding of SCRUM roles
- Participation in SCRUM events
- Product Backlog management
- Definition of Sprint goals
- Self-organization and teamwork
- Adaptability to changes
- Transparency and communication
- Continuous reflection and improvement
- Delivery of quality increments
- Commitment to the team and project
- Presentation of results
- Time management and estimation
- Stress management
- Best programming practices
- Learning new tools or technologies
Passing Requirements
- After Sprint 1, the mentor will conduct a mid-term evaluation.
- To continue, you must achieve a grade higher than 5.
- After Sprint 2, a final evaluation will determine your final grade and completion of the program.
πWeekly Commitment and Attendance Schedule
Schedule
Tuesdays
- Attendance is mandatory in person from 10am to 2pm
- Sessions will take place in sala XR.
- This day requires your physical presence and cannot be replaced with online attendance. See the section # Attendance and Expulsion Policy for more details.
Monday, Wednesday, and Thursday
- Online Hours: sessions from 10:15am to 2:00pm.
- 10:30am to 10:45am: We will hold daily meetings to align on progress and plans.
- The remaining time will be dedicated to collaborative work, guidance, and resolving questions.
Virtual Classroom Access
- The URL for the virtual classroom is located in the header of the #angular-java channel on Discord. Please check it there and ensure you join on time.
πAttendance and Expulsion Policy
Read and confirm that you have understood the following policy:
Attendance
Attendance is mandatory for both in-person days and all synchronous activities, including presentations of results, daily meetings, and retrospectives.
- You are allowed to miss a maximum of 2 daily meetings during the 5 week period.
- Attendance at all other synchronous activities (presentation of results, dailies, sprint Plannings and retrospectives) is strictly required.
Absence Guidelines
- All absences must be communicated in advance to your assigned mentor.
- Medical appointments are the only exceptions that will not count as absences.
- Absences due to work commitments or family obligations will be deducted from the two allowed daily absences and will count as missed sessions.
Expulsion
You may be expelled from the course, thereby forfeiting the final program certificate, for the following reasons:
-
Missing key sessions during the Project Phase:
- Failing to attend any of the 5 in-person days or any synchronous activities, except for the allowance of 2 daily meetings.
-
Failing the evaluation rubric:
- Achieving less than a grade of 5 in the evaluation rubric for the Project Phase after the second sprint.
π Work Methodology and Organization
We follow an agile methodology based on Scrum, meaning we work iteratively and collaboratively. To ensure effective communication and organization, it is essential to follow these rules:
1οΈβ£ Keep Your Tasks Updated on the Kanban Board
The Kanban board is the main tool for managing the workflow. Keeping it updated at all times is crucial so that the mentor and the team can see what you are working on.
π Kanban Task Management Rules:
- Move the task to "Doing" when you start working on it.
- Move the task to "Testing" if it requires review or feedback.
- Move the task to "Done" once it is completed.
π An updated board facilitates organization, progress tracking, and improves team collaboration.
2οΈβ£ Daily Meetings: Team Synchronization
Every day, we hold short (daily stand-up meetings) to share progress and address blockers. Attendance and active participation are mandatory.
π During the daily, answer these three questions:
- What did you do yesterday?
- What are you working on today?
- Do you have any blockers or need help?
π Maintaining fluent communication allows the team to progress efficiently.
3οΈβ£ Review and Feedback: Continuous Improvement
The mentor and the team will periodically review your work. Make sure to:
- Request feedback early in the Discord channel or on the Kanban board.
- Do not wait until the last moment to correct errors or improve your code.
- Provide constructive feedback to teammates in code reviews and discussions.
π Continuous improvement is key in an agile work environment.
4οΈβ£ Pull Requests (PRs): Encouraging Collaboration
Any code you develop must be reviewed before being merged into the main branch. To foster collaboration and ensure quality:
π PR Review Process Rules:
- Assign at least one teammate and the mentor to review the PR.
- The teammate must review and approve the PR before the mentor.
- Only the mentor is responsible for merging the PR after both the teammate and mentor have approved it.
- Provide constructive comments and suggestions on teammates' PRs.
- A PR cannot be merged until it has received approvals from both a teammate and the mentor.
π How to Notify Your PR in Discord:
- Once your PR is created, go to the #angular-java channel on Discord.
- In this channel, you will find a specific thread called "Pull Request Notifications".
- Post a message with the link to your PR and tag your teammates and Ivan Mentor so they know it is ready for review.
π This step ensures that others can quickly access your PR and provide feedback.
Final Thoughts
With these updates, it is now clear that PRs require a teammateβs approval before the mentor's, and only the mentor can merge them once all approvals are received. π
πOnboarding Steps
-
Join #angular-java on Discord and introduce yourself:
Go to our Discord server and locate the #angular-java channel. Type a short introduction about yourself, such as your name, background, and role on the team. This helps everyone know who you are and feel comfortable communicating with you. -
Review the project resources linked below:
Scroll down to the "Project Resources" section at the end of this issue. Open each link in a new browser tab. These resources (tutorials, boards, layouts, and repository) are essential to understanding the project. -
If you are Java Backend. clone the repository "ita-challenges-backend":
Go to the ITA Challenge Backend GitHub repository (link below).If you do not have access permissions to the repo, notify the mentor.
Look for the "Code" button and click it to see the link for cloning. Open your terminal (command line) and type git clone to download a local copy of the code. Cloning allows you to work on the code directly from your computer. -
Read the Readme and Guidelines in the ITA Challenge Backend Github project root
-
If you are Angular FrontEnd clone the repository "ita-challenges-frontEnd":
Go to the ITA Challenge frontEnd GitHub repository (link below). If you do not have access permissions to the repo, notify the mentor.
Look for the "Code" button and click it to see the link for cloning. Open your terminal (command line) and type git clone to download a local copy of the code. Cloning allows you to work on the code directly from your computer. -
Read the Readme and Guidelines in the ITA Challenge FrontEnd Github project root
-
Check current designs on Figma and match with sprint board:
Open the Figma link provided. Figma is where we store all the projectβs visual designs. Look through the current designs to understand how the frontend should look. Compare what you see with the sprint board (our project tracking tool) to learn what each team member is working on. -
Create a feature branch for onboarding tasks:
In your terminal, navigate to the cloned repository and type git checkout main to make sure youβre on the main branch. Then, create a new branch for your onboarding tasks by typing git checkout -b feature/-onboarding, replacing with your actual name. This new branch allows you to make changes without affecting the main branch. -
Add Your Name to the contributors.yml File and create a Pull Request (PR):
Review the project repository on GitHub and locate the contributors.yml file in the root directory of either the backend or frontend project. Add your name to this file. Once done, commit your change with git commit -m "Onboarding update" and push it to GitHub with git push origin feature/-onboarding. Then, go to GitHub and create a Pull Request. Move this issue to "In Review" to let others know itβs ready to check. -
Notify teammates and mentor of your PR:
Once you've created your PR, go to the #angular-java channel on Discord and you'll see a specific thread called "Pull Request Notifications". Post a message with the link to your PR and tag your teammates and Ivan Mentor so they know it's ready for review. This step helps others quickly access your PR for feedback. -
Address feedback, finalize, and merge PR:
If your teammates or mentor suggest improvements, make those changes in your code. Once theyβre satisfied, merge the PR to complete your task. -
Mark task as complete:
Finally, move this issue to "Done" in the project board. This shows the team that you have completed your onboarding.
π Project Resources
-
ITAChallenge application in development:
ITAChallenge Web App -
Figma (Frontend designs):
Figma Design Link -
Sprint Backlog:
Sprint Backlog Board -
Product Backlog:
Product Backlog Board -
ITA Challenge Backend Repository:
GitHub Backend Repository -
ITA Challenge Frontend Repository:
GitHub Frontend Repository -
Pull Request (PR) tutorial:
Creating a Pull Request
Linking a Pull Request to an Issue -
Scrum tutorial:
Learn Scrum
π Enjoy the project phase and good luck!
Metadata
Metadata
Assignees
Labels
Type
Projects
Status