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

Popular posts from this blog

Agile Tour spending 2 years in University of NCKU

The agile journey in St. Kitts and Nevis

Enhancing English Proficiency through Coding and Agile Thinking