B Part IV Agile and Lean Learning Processes
Criterion-Based Grading, Agile Goal Setting, and Course (Un)Completion Strategies
When teaching large groups of students with heterogeneous or different backgrounds and
different learning goals, the group of Petri Ihantola suggested that it is essential to personalize the
learning experience of the students. We agree with them because in our present situation, as we are
facing this pandemic, it is hard for the teachers to accommodate large numbers of students. Thus, the
group describe how they have implemented this alternative in their university. They said that each
student must set their personal target grade, especially the grade they aim in their major subjects,
based on how deep an understanding of programming they need and how much effort they are willing
to invest in the course.
As a student, we also personalize our learning styles in a way that we will easily understand the
course in an agile manner. This is what we called self-taught with the guidance of our professors and
with the materials which set as our guide also. The program that we are in has a retention policy,
therefore we must aim for the target retention grade which is not lower than 88% for the major
subjects. By this, we student must deepen our understanding about the program. As an Accountancy
student, it is our responsibility to widen our knowledge and pour our efforts to pass the course.
To enable such setup, course assignments are divided into different levels and the grading
directs the students in choosing which assignments to work on to meet the goals they have set. As a
student, we really consider this setting so that we will also know our capabilities in different levels. By
that we can rate ourselves based on our capabilities and improve our work to meet the goals that we
have set. Learning in a lean and agile manner will, soon, eventually change our target grade in our
course.
Teaching and Fostering Reflection in Software Engineering Project Courses
Reflective practice is to evaluate your own actions and their consequences to engage in a
process of continuous learning and is therefore an essential ability for professional development. As a
student, it is really important to us to reflect on the things that we have done throughout the day
because we can get new lessons and value that may really help us improve in the future. It enables us to
not only learn from our experiences but to grow as young professionals in the near future since
reflection helps us challenge our assumptions and develop new professional skills as well as meta-
cognitive strategies which will help us make informed decisions even when time and resources are
scarce.
In teaching and fostering reflection in software engineering project courses, Burden’s and
Steghofer’s contribution is a toolkit for reflective practice that shows how reflection can be used by
software engineering students for two purposes: to reflect on the application of a software process and
to reflect on their learning process. In order to help students understand the purpose of reflection and
how to approach reflection, they follow a cognitive apprenticeship approach in which the teachers
reflect about the events in the course, their own goals, and how they aligned with the teaching. We
agree on this. The important part of the toolkit is learning activities that provide students with shared
experiences that they can use to develop their knowledge and skill through reflective practice. That is
why, students are asked to reflect during supervisions and as part of their written assignments from the
very beginning of the course.
The main point on this chapter of the book is to know how students utilize opportunities for
reflective practice for their continuous learning. Being able to reflect is a skill that needs to be acquired
by us students. One way to achieve this is to instate daily stand-up meetings, a practice that many
student groups already take up on their own. Another would be to start each lecture could with a
reflection by the teachers. At the moment, this only happens if there are events that make it prudent to
do so.
Lean Learning to Risks in Students’ Agile Team
Risk – the possibility of resulting in an unsatisfactory outcome – is an important driving force for
an agile software development project to progress. Although techniques like identifying a project’s top-
10 risk items are taught commonly in software engineering courses, little work has been carried out to
examine how students working in agile teams perceive and mitigate the risks over multiple software
developmental cycles. In this chapter, the authors further analyze those risks as they relate to lean
principles. As a students it is important to know the risk in developing a project so that we can come up
of ways to mitigate and manage the risk with strategies. Furthermore, they show that students also
followed lean practices by wasting little effort on non-actionable risks.
Part V Using Agile and Lean Methods to Teach Software Development
Applying Lean Learning to Software Engineering Education
In this chapter, they describe the ways that they have applied lean and agile techniques to
teaching software engineering at Imperial College London. They give details of the structure and
evolution of the program, which is centered on the tools, techniques and issues that feature in the
everyday life of a professional software developer working in a modern team. They also show how
aligning their teaching methods with the principles of lean software delivery has enabled us to provide
sustained high-quality learning experiences. There are two different types of course in detail: first, a
‘traditional’ lecture course, where they transformed the way that course is taught and assessed, aiming
to create tighter feedback loops, and second a project-based course where they ask students to put
agile methods into practice themselves, working in teams to build a substantial software system over a
number of months. They describe concretely how they run and structure these courses to set up
effective learning experiences.
Developing a Spiral Curriculum for Teaching Agile at the National Software Academy
Working within constraints of academia whilst teaching agile practices to students, provides
them with a constantly evolving challenge. From an academic perspective, they want students to think
critically about everything they do and how they apply agile practices to their group projects. I agree
with this statement. It’s because we students must be really develop agile practices so that in the future
it will not hard for us to work on our own.
They don’t just want us to go through the motions of following an agile process, but they want
the students to understand agile in such a way that they can both apply and teach agile practices
wherever they end up, so they are disruptive in a positive way on entering the workforce.
Students are given a chance to put their agile learning into practice, in a safe environment, with
real customers. Using agile concentrates the students on delivering working software and managing
projects within a sensible and lightweight framework. This remains one of the key challenges to teaching
agile in the structured way required in academia with a semi-structured timetable and a need to assess
students understanding of the subject. Their approach to spiral learning allows students to learn
incrementally and progressively develop their agile practices. This allows them to break down what are
truly artificial barriers between modules that can be problematic, in a more traditionally structured
modular degree program.
Agile Approaches for Teaching and Learning Software Architecture Design Processes and Methods
Software architecture play a vital role in the analysis, design, evaluation and evolution of large-
scale projects. Successful adoption of an agile methodology in large-scale projects requires not only
tailoring of the software architecture analysis, design and evaluation methods but also a fundamental
understanding of these methods.
In this chapter, the approach for agile and lean learning has been developed with focus on
software architecture education, however, the approach can be applied on another disciplines of
software engineering education as well. The presented approach suggests iterative deliverables of
students’ assignments and projects, and splitting students’ exercise and projects tasks into multiple
sprints.
It has been foresee that the proposed approach can help academics to align software
engineering focused courses with agile practices and facilitate educational institutes to prepare their
students for current and future industrial needs.
Part VI Agile and Lean Activities and Games for the Classroom
A Practical Approach to Teaching Agile Methodologies and Principles at Tertiary Level Using Student-
Centered Activities
This chapter presents a practical approach to better understand agile methodologies and
principles in an educational context. An overview of the main agile principles is given along with agile
methodologies that can be taught and applied in the classroom at tertiary level. The main objective is to
train final year university students with agile practices currently used by the software industry. Apart
from traditional activities such as homework, tests, assignments and lectures, practical approaches have
been incorporated into the curriculum to engage students in active learning. The main focus in this
chapter is how team-based activities and student-centered group work have helped students learn,
understand and apply agile concepts such Scrum, User Stories, Extreme Programming, Lean, Kanban and
Test-Driven Development.
Using Agile Games to Invigorate Agile and Lean Software Development Learning in Classrooms
A wide variety of professional certifications, trainings and dedicated academic courses are
attempting to meet the ever-growing demand for software professionals competent in the knowledge
and use of agile and lean software methods and practices. Agile games, embodying experiential learning,
are popular in industrial contexts and are increasingly being trialed in academic settings as a feasible
alternative or a complement to traditional instructional learning approaches. Most games reported,
however, focus exclusively on the Scrum method and practices. This study reports on the use of four
agile games for learning fundamental agile and lean concepts such as iterative and incremental delivery,
collaborative estimation, pair programming and work-in-progress limits. Based on classroom
observations and survey-based quantitative and qualitative data, they found out that: agile games are a
useful supplement for effective learning, can easily invigorate learner engagement and promote team
building. Effective facilitation and debriefing sessions are imperative to the success of agile games in
classrooms. Educators can easily introduce agile games by selecting from a variety of accessible online
resources based on their ability to deliver desired learning outcomes and graduate attributes to
invigorate learning about agile and lean software development.
And that’s the end of our book review. Thank you for listening.