Agile Project Development Course

Studio meetings outline (14 weeks)

Yael Dubinsky & Orit Hazzan

© 2006 All Rights Reserved

 

Week 1

The atmosphere of a new beginning characterizes the first meeting with all students who participate in the course. It is a start of a semester, a start of a specific course, and a start of a project with familiar and new people.

The main objectives of this meeting:

˛    Introduce the Studio work environment

˛    Introduce the project subject

˛    Introduce the customer

˛    Forming teams

The Studio enables a kind of a real-world work environment with some adaptations to the academia that are explained by the lecturer. The project subjects are described in one paragraph each and the lecturer elaborates with few more details and answers students’ questions. The customer is introduced and the collaboration required is emphasized.

The academic staff forms the project teams based on the students’ preferences, diversity considerations, and the course resources. In addition, students are asked to answer reflection questions using the web tool that accompanied the project. This is done after each weekly activity.

 

Week 2

The students meet with their supervisor in their own Studio. This is their project room for the entire semester, including furniture, computers and boards. They are going to launch the project.

The main objectives of this meeting:

˛    Introduce the role scheme and distribute the roles among teammates

˛    Start the planning session including hearing customer stories and their priorities

˛    Discuss means to simplify communication between the customer and teammates

All teammates are developers and in addition every one of them has a personal role in the project management. Roles, for example, are designer, unit tester, and tracker. The role distribution activities are guided by the supervisor.

All teammates together with their supervisor listen to the customer stories and to the way they are prioritized. The project focus and stories are discussed. The time frame is explained by the supervisor to be a fourteen week version which is composed of three iterations.

The supervisor raises the notions of communication especially with the customer and the use of means like metaphors to simplify and improve it.    

 

Week 3

Given the customer stories of the first iteration, the students work to provide a high-level design according to these stories only.

The main objectives of this meeting:

˛    Introduce the notion of simple design

˛    Decide upon the project platform and development tools

˛    Prepare development tasks

Discussions on the global vision of the project architecture and design are performed and documented. The students talk about their favorite operating system to work with, the Integrated Development Environment (IDE) they would like to use, and the programming language.

Based on a high-level design of the stories of the first iteration only, the development tasks are listed. The emphasis is on clear and simple tasks which can be a development of a function or a class framework. A check is performed that the list of development tasks match the high-level design without less or more features.

  

 

Week 4

The teammates guided by their supervisor examine the suitability of the work required to the time frame of the first iteration. The subject of automated tests is emphasized and considered.

The main objectives of this meeting:

˛    Estimate development tasks

˛    Consider automated tests when manage project time

˛    Manage individual and group time

The development tasks are distributed among teammates. Every teammate is asked to estimate the time for the development of code and automated unit tests for each of own tasks. Time management activities are performed to ensure the suitability to the time frame and to adhere load balancing among teammates.

The customer is involved in the time management activities, and adjustments are made according to the customer decisions in order to better suit to the time frame.

The end of this meeting is the start of the development phase of the first iteration that will end in the presentation in the seventh week. At this stage every student is aware of own development tasks and own special role in managing the project.   

 

 

Week 5

In this meeting the students deal with the issues of integration and how to work in order to ease the integration process. The students are getting acquainted with the stand-up meeting to be conducted at the beginning of each meeting.   

The main objectives of this meeting:

˛    Establish the integration environment and rules

˛    Agree on coding and documenting standards

Talking about standards of work is reasonable after the first week of work when some development tasks are done and should be integrated. Teammates find almost immediately that they must decide on few common rules to be used by all in order to enable fast and clear integration.

The notions of individual cooperation and group progress are emphasized by the supervisor when discussion on keeping the rules decided by teammates.   

 

 

Week 6

In this meeting the supervisor raises the issue of presentation to be conducted in the next week. In addition, towards the second iteration, the subjects of code inspection using pair programming, levels of abstraction, and improving design are discussed.

The main objectives of this meeting:

˛    Prepare for the presentation of first iteration

˛    Discuss code inspection and design improvement

The main goal of the presentation is to update the customer with the iteration results. The students are encouraged to discuss how the customer will be able to see that the stories for the first iteration are completed. Further, the students are asked that the presentation will reflect the special personal roles of every student in managing the project. For example, the tracker should present product and process measures.

In the next week after the presentation, the customer will give stories for second iteration and the students will have one week to complete high level design and prepare a list of development tasks. The supervisor raises the issue of design improvement in order for the students to suggest refactoring activities and add them to the second iteration stories.

Code inspection and the practice of pair programming are explained and promoted.     

 

Week 7

This meeting is a kind of celebration to end the first iteration. The presentation is performed when the customer is present and feedback is given with respect to meeting the requirements. This is also the start of the second iteration by listening to the customer priorities for the second iteration.    

The main objectives of this meeting:

˛    Presentation of first iteration

˛    Give and receive feedback

˛    Start of second iteration

Reaching the middle of the semester, the students performed one iteration and two more iterations are ahead to complete the first release of the product. The first iteration is composed seven weeks of learning the subject and the way of working including setting of the project environment. The second iteration includes four weeks – one for high level design and three weeks of development to be presented in the eleventh week. The third iteration includes three weeks - one for high level design and two weeks of development to be presented in the fourteenth and last week.

Working in short iterations expresses the rhythm of the project and enabling the customer to decide upon own priorities each iteration expresses the notion of responding to change.

The students are asked to fill a personal reflection with respect to their assessment of their presentation, and what are the lessons learned from the first iteration.        

 

Week 8

After summarizing the lesson learned from the first iteration, the students complete the list of development tasks of the second iteration and perform the time management activities. Refactoring tasks as well as faults correction tasks are considered as part of the list of tasks.     

The main objectives of this meeting:

˛    Summarize lessons learned

˛    Deal with refactoring and faults correction tasks

˛    Complete time management and task distribution for the second iteration

The students are encouraged to talk about the lesson learned from first iteration: what were the best or worse things in the first iteration? What is the main lesson they should refer to in the second iteration and how they are going to do it?

At this stage, the students are more experienced with preparing the high-level design, distributing the development tasks, and manage the time. The supervisor leads a discussion about how to deal with known faults and known refactoring tasks.

 

Week 9

This meeting is part of the development phase of the second iteration. The supervisor can assess the progress of the project and the involvement of every student by participating in the meeting, listen in the stand-up meeting, watch how students are working with respect to their development tasks and their personal role, talk with them, pair program with them, and read their reflections.

Discussions are conducted when students raise specific issues to talk about. 

 

Week 10

Like the ninth meeting, this meeting is part of the development phase of the second iteration. The supervisor can assess the progress of the project and the involvement of every student by participating in the meeting, listen in the stand-up meeting, watch how students are working with respect to their development tasks and their personal role, talk with them, pair program with them, and read their reflections.

Discussions are conducted when students raise specific issues to talk about. 

 

Week 11

This meeting is the presentation meeting of the second iteration. As in the seventh week, the presentation is performed when the customer is present and feedback is given with respect to meeting the requirements. This is also the start of the third iteration by listening to the customer priorities for the third iteration.   

The main objectives of this meeting:

˛    Presentation of second iteration

˛    Give and receive feedback

˛    Start of third iteration

The students are asked to fill a personal reflection with respect to their assessment of their presentation, and what are the lessons learned from the second iteration.       

 

Week 12

After summarizing the lesson learned from the second iteration, the students complete the list of development tasks of the third and last iteration and perform the time management activities. Refactoring tasks as well as faults correction tasks are considered as part of the list of tasks.    

The main objectives of this meeting:

˛    Summarize lessons learned

˛    Deal with refactoring and faults correction tasks

˛    Complete time management and task distribution for the third iteration

The students are encouraged to talk about the lesson learned from second iteration and to reflect on the way they dealt with the lesson learned from the first iteration.

 

Week 13

This meeting is part of the development phase of the third iteration. The supervisor can assess the progress of the project and the involvement of every student by participating in the meeting, listen in the stand-up meeting, watch how students are working with respect to their development tasks and their personal role, talk with them, pair program with them, and read their reflections.

Discussions are conducted when students raise specific issues to talk about.

Students are asked to prepare a summary about their contribution to the project management with respect to their personal role.

The presentation of the release to be conducted in the next week is discussed. 

 

Week 14

This is a real celebration with light refreshments when students from all groups are present. Each group tells the main achievements of their project, and then an open tour is conducted in order to enable students to visit and examine the other projects that were conducted.

After the tour, every group meet with their customer and supervisor for the presentation of the first release which was conducted in three iterations in fourteen weeks. The supervisor conducts a feedback session and a project summary.