General
Information
- Code:
- AGILE/2I1281
- Course name, Swedish:
- Agile Software Construction
- Course name, English:
- Agile Software Construction
- Grades:
- U,3-5
- Credits:
- 6
- ECTS:
- 9
- Level:
- C,D
- Language:
- Swedish or English, depending on the enrolled students
(books, course compendium, etc. are all in English)
- Time:
- Period 4 (possibly 3+4)
- Compulsory for (Obligatorisk för):
- n/a
- Conditionally Elective for (Villkorligt varfri för):
- ISPS( IT3, IT4 )
- Recommended for (Rekommenderad för):
- PTEK(D4), ISPS(IT3, IT4)
- Elective for (Varfri för):
- TI8(TTITM1)
- Lectures (hours):
- 40
- Exercises (hours):
- 40
- Laboration (hours):
- 120
- Tutorials (hours):
- n/a
- Other teaching forms (hours):
- n/a
- Homepage:
- http://pvu.dsv.su.se/AGILE
- Coordinator:
- Beatrice Åkerblom
- Coordinator, phone:
- 08-16 49 88
- Coordinator, mail:
- beatrice@dsv.su.se
_A_G_I_L_E_/2I1281
AGILE Software Construction
Short Description
The purpose of software engineering is to enable repetitively
successful software development, that is software projects where
the software is developed according to its specification and
within given time and budget boundaries. In a world of increasing
complexity and growing demands on flexibility it is necessary to
combine software engineering principles with agile methods like
test-first development and extreme programming.
Aim
Having successfully completed this course, a student knows:
-
how to find suitable software engineering methods
for his or her work in future projects
-
several techniques for, and how to reason about techniques for
-
requirements elicitation and requirement management
-
resource planning
-
risk analysis and risk management
-
test planning
-
version management
-
time and cost estimations
-
project automation
-
how to reason about the applicability of a certain
technique in some known project
-
the principles and theories behind Extreme Programming
(XP)
To successfully plan and lead a non-trivial software
project, it is important to possess knowledge of all
project activities in a software project. The course
focuses on teaching activities such as project planning
and management, quality assurance, version management,
basic cost and time estimation, basic software metrics,
making and analysing requirements specifications and
basic validation and verification of software.
After the course, the student will have:
-
written an essay on a topic relevant for software developing projects
-
given a lecture on the essay topic to other students on the course
The student will also have participated in a software
development project with close interaction with the customer
using agile methods where the following has been practised:
-
Agile development methodology with Extreme Programming
-
customer-driven development
-
test-driven development with unit testing
-
pair programming
-
re-engineering
-
requirement management (has the requirement been fulfilled?,
are there contradictions in requirements?, what/who is the
origin of a certain requirement?, etc.)
-
resource management (planning and cotinuous updating)
-
planning, documentation of the plans and continuous updating
of them (project plans, test plans, version management plans,
etc.)
-
basic time and cost estimation (time and cost estimation is
covered more thouroughly on the course TEME)
-
version management of both documentation and code
-
analysis of the project and its succes factors and failures
to be used in future projects
Moderate skills in object-oriented modeling and Java programming.
DYPL,
MOOG,
TEME,
IOOR,
CISS.
Individual essay (1 credit), project work (3 credits),
take-home exam (2 credits).
-
Booklet with papers
-
XP Explained by Kent Beck
-
The Pragmatic Programmer