The Agile Process Implementation for Online Programming Courses - Twitter Development Project from the Technical Manager's Perspective
We collaborated with
AlphaCamp to improve the curriculum and project process. We attempted to
introduce the Agile development process into the Twitter development project
conducted during the third semester.
The introduction of
the Agile development process into the project was primarily because AlphaCamp
identified that even after students acquired knowledge and left AlphaCamp, some
still felt unprepared to adapt to the practical work environment. In order to
ensure that students could truly master the skills and collaborative techniques
required for project execution in the industry, this collaborative effort was
initiated.
During the two-week
project, we conducted a total of three sprint checks, corresponding to the
processes of sprint planning, sprint refinement, and sprint demo within each
sprint. The modification of the sprint process was mainly aligned with the
timeline constraint of the AC Twitter project, which had a two-week duration.
Sprint Check 1: Sprint Planning
+ Partial Refinement
In the first stage,
the expectation was for students to fully understand the requirements, detail
the tasks, and assess the schedule for each requirement task:
1.
Understand the requirements
thoroughly:
•
Analyze user stories provided
by AlphaCamp and mockups from Figma to create a corresponding system analysis
document.
•
List the functionalities to be
implemented and confirm module architecture and flow.
•
Strengthen acceptance criteria
for each story and define the "Definition of Done" (DoD) for the
entire requirement.
2.
Detail and assess each
assignable task:
•
Use system design tools like
UML (diagrams) to draw flowcharts, component/class diagrams, state machines,
database ERD, schema, and API documentation.
•
Break down tasks into smaller,
independent units to avoid dependencies and ensure tasks are not dependent on
each other.
•
Assess task durations using
Agile Scrum's story points estimation.
Sprint Check 2: Refinement
In the second stage,
we confirmed whether tasks were on schedule and if any adjustments or
clarifications were needed:
1.
Confirm the status of tasks:
•
Verify if tasks align with the
current requirements and acceptance criteria.
•
Reassess task priorities and
make adjustments if necessary.
2.
Assess team members' progress:
•
Identify tasks that could be
completed ahead of schedule and offer support to other team members.
•
Collaborate with QA, PM,
design, and front-end/back-end coordination roles to ensure smooth progress.
Sprint Check 3: Demo
In the final stage,
preparations were made for delivering the executable product to stakeholders
(assessors and teaching assistants):
1.
Pre-release preparations:
•
Ensure the delivered product
meets the defined "Definition of Done" and aligns with the Minimum
Viable Product (MVP).
•
List known issues, set
priorities, and confirm which issues are critical for fixing (P1) and which can
be ignored.
•
Confirm deployment settings for
front-end and back-end, addressing issues related to databases, configurations,
and API calls.
2.
Demo:
•
Present a complete
demonstration covering all features defined by user stories in a forward
process.
•
Highlight difficulties
encountered and how the team resolved them.
• Explain any planned but incomplete parts of the system and outline how they will be completed within the final 48 hours.
The introduction of the
Agile process in the Twitter project yielded positive results. Through a
detailed Agile process spanning two weeks, the team could better track progress
and plan and respond in advance. Ultimately, this led to a higher completion rate
of the product and team growth.
Comments
Post a Comment