1. BacNgURXQd
The gRal Rf WhiV aVVigQmeQW iV WR ZRUk aV a Weam RQ deYelRSiQg a
VRfWZaUe SURdXcW XViQg Whe ScUXm
meWhRd aQd Agile deYelRSmeQW WRRlV aQd SUacWiceV. IQ WhiV VRfWZaUe
deYelRSmeQW SURjecW, \RXU Weam
mXVW aSSl\ ScUXm SUacWiceV aQd SUiQciSleV SURSeUl\ WR bXild a VRfWZaUe
SURdXcW iQ JAVA. Each Weam
alVR haV WR XVe Whe Agile VRfWZaUe WRRlV Whe\ VeW-XS dXUiQg Whe fiUVW
gURXS SURjecW WR fRllRZiQg CI/CD
SUacWiceV iQ WheiU deYelRSmeQW. TheVe WRRlV mXVW be VeW XS aQd Uead\
befRUe ZUiWiQg Whe cRde Rf \RXU
aSSlicaWiRQ. Each Weam Zill haYe a VWakehRldeU RU clieQW/cXVWRmeU (\RXU
WXWRU) fRU WheiU SURjecW. YRXU
Weam Zill haYe Whe RSSRUWXQiW\ WR e[SlRUe aQd aVkV TXeVWiRQ UelaWed WR
VRfWZaUe UeTXiUemeQWV fURm Whe
SURjecW clieQW dXUiQg Whe lab/WXWRUial Wime (\RXU WXWRU Zill acW aV a
clieQW ZhRm \RX VhRXld VaWiVf\ iQ
WeUmV Rf deliYeUiQg a ZRUkiQg YeUViRQ Rf Whe VRfWZaUe).
AV a Weam, \RX Zill geW haQdV-RQ e[SeUieQce RQ hRZ WR RUgaQiVe aQd
cRQdXcW Agile VRfWZaUe
deYelRSmeQW XViQg Whe ScUXm meWhRd aQd Agile deYelRSmeQW WRRlV.
SSecificall\, \RX aQd \RXU Weam
Zill be able WR:
SeWXS aQd XVe Agile deYelRSmeQW WRRlV aQd CI/CD SUacWiceV,
E[SeUieQce Whe imSRUWaQce Rf Agile YalXeV,
UQdeUVWaQd aQd aSSl\ ScUXm URleV,
WUiWe aQd eVWimaWe UVeU SWRUieV,
29/10/2020 ScrXm SofWZare DeYelopmenW ProjecW
hWWpV://canYaV.V\dne\.edX.aX/coXrVeV/25875/aVVignmenWV/247922 2/9
PlaQ aQd e[ecXWe deYelRSmeQW SSUiQWV,
CRQdXcW ScUXm eYeQWV,
CRQWiQXRXVl\ imSURYe Whe deYelRSmeQW SURceVV,
PURdXce YaUiRXV ScUXm AUWifacWV.
2. FRUPiQg ScUXP TeaPV
IQ WhiV gURXS SURjecW, \RX Zill cRQWiQXe WR ZRUk ZiWh Whe Weam fURm
Agile DeYelRSmeQW TRRlV SURjecW.
SR, iW'V cUXcial WR UeflecW RQ Weam d\QamicV aQd difficXlWieV aQd WhiQk
aV a Weam hRZ WR cRllabRUaWe aQd
ZRUk mRUe SURdXcWiYel\ aQd effecWiYel\. The Weam VWUXcWXUe mXVW fRllRZ
ScUXm meWhRd Zhich VhRXld
helS \RXU Weam WR be mRUe Velf-RUgaQi]ed. YRXU Weam Qeed WR decide RQ
Whe fRllRZiQg URleV:
1 PURdXcW OZQeU (PO),
1 ScUXm MaVWeU (SM), aQd
3-4 CRUe Team membeUV.
AfWeU Weam fRUmaWiRQ, each Weam Zill Qeed WR diVcXVV aQd agUee RQ Whe
abRYe ScUXm URleV. BRWh SM
aQd PO haYe alVR WR cRQWUibXWe WR deYelRSmeQW (ZUiWiQg cRde XViQg CI/CD)
iQ all SSUiQWV, iQ Zhich Whe\
Qeed WR deYelRS SaUWV Rf Whe VRfWZaUe SURdXcW. The fRllRZiQg aUe Whe
deWailV/UeTXiUemeQWV Rf Whe
VRfWZaUe WhaW \RX Qeed WR deYelRS iQ WhiV SURjecW.
3. VeQdiQg MachiQe (LiWe SQacNV) SRfWZaUe
LLWe SQacNV maQage YeQdiQg machiQeV Zhich Vell diffeUeQW W\SeV Rf
VQackV. The VQackV aUe
maiQWaiQed XQdeU fRXU diffeUeQW caWegRUieV: dUiQkV, chRcRlaWeV, chiSV,
aQd lRllieV. Each caWegRU\ Zill
haYe diffeUeQW iWemV/SURdXcWV. The YeQdiQg machiQe caQ maiQWaiQ XS WR 15
iWemV Rf each SURdXcW.
The fRllRZiQg iV Whe SURdXcW iWemV fRU each caWegRU\ (Whe TXaQWiW\ iV
VeW WR 7 iWemV aW Whe fiUVW UaQ:
DUiQkV: MiQeUal WaWeU, SSUiWe, CRca cRla, PeSVi, JXice.
ChRcRlaWeV: MaUV, M&M, BRXQW\, SQeakeUV.
ChiSV: SmiWhV, PUiQgleV, KeWWle, ThiQV.
CaQdieV: MeQWRV, SRXU PaWch, SkiWWleV.
B\ defaXlW, Whe aSSlicaWiRQ Zill VhRZ Whe liVW SURdXcW RSWiRQV Zhich aUe
gURXSed baVed RQ Whe
caWegRUieV WhaW caQ be VelecWed b\ cXVWRmeUV. A cXVWRmeU caQ VelecW RQe
iWem RU mRUe fURm Whe liVW
Rf aYailable SURdXcWV aQd VSecif\ QXmbeU Rf iWemV Whe\ ZaQW WR SXUchaVe.
The cXVWRmeU caQ alVR
caQcel Whe WUaQVacWiRQ aQ\Wime (e.g. b\ clickiQg a caQcel bXWWRQ) aQd
aQ\ idle acWiYiW\ WhaW iV mRUe WhaQ
2 miQXWeV (WimeRXW) Zill aXWRmaWicall\ caQcel Whe WUaQVacWiRQ. The
caQcelled WUaQVacWiRQ Zill UeWXUQ Whe
aSSlicaWiRQ WR Whe defaXlW Sage (liVW Rf SURdXcWV).
The defaXlW Sage haV a bXWWRQ WR lRgiQ/cUeaWe accRXQW b\ SURYidiQg
XVeUQame aQd SaVVZRUd. The
XVeUQame mXVW be XQiTXe aQd Whe SaVVZRUd iQSXW iV hiddeQ b\ VhRZiQg
aVWeUiVk V\mbRl (*). AfWeU Whe
cXVWRmeU cUeaWeV Whe accRXQW fRU Whe fiUVW Wime, iW Zill be
aXWRmaWicall\ lRgged iQ. WheQ Whe XVeU iV
lRgged iQ, Whe defaXlW Sage Zill VhRZ a liVW Rf Whe laVW 5
SURdXcWV/iWemV bRXghW b\ WhiV XVeU. OWheUZiVe
(ZheQ aQRQ\mRXV XVeU), Whe defaXlW Sage Zill VhRZ liVW Rf laVW bRXghW 5
SURdXcWV/iWemV bRXghW b\
aQRQ\mRXV XVeUV.
TheUe aUe WZR Sa\meQW meWhRdV aUe allRZed:
29/10/2020 ScrXm SofWZare DeYelopmenW ProjecW
hWWpV://canYaV.V\dne\.edX.aX/coXrVeV/25875/aVVignmenWV/247922 3/9
CaVh: Whe cXVWRmeU Zill UeTXiUe WR iQSXW Whe TXaQWiW\ Rf cRiQV aQd/RU
QRWeV WhaW aUe Yalid iQ
AXVWUalia (e.g. $5, $10, $20, 5c, 10c, eWc.). If Whe mRQe\ SURYided b\
Whe cXVWRmeU iV QRW eQRXgh WR
cRmSleWe Whe WUaQVacWiRQ, WheQ Whe\ VhRXld be SURmSWed WR eQWeU Whe
UemaiQiQg mRXQW RU caQcel
Whe WUaQVacWiRQ. USRQ VXcceVVfXl WUaQVacWiRQ, a cXVWRmeU UeceiYeV Whe
VelecW SURdXcWV aQd cRUUecW
chaQge. The chaQge mXVW be RSWimal ZheUe higheU QRWeV RU cRiQV aUe
SUiRUiWiVed. FRU e[amSle, if
Whe cXVWRmeU XVeV a $50 QRWe fRU a $5 iWem, Whe chaQgeV Zill be WZR $20
QRWeV aQd RQe $5 QRWe
(QRW fRXU $10 QRWeV aQd fiYe $1 cRiQV). HRZeYeU, \RX mXVW cRQVideU
TXaQWiW\ Rf Whe aYailable cRiQV
RU QRWeV iQVide Whe YeQdiQg machiQe ZheQ calcXlaWiQg Whe chaQge. FRU
e[amSle, if WheUe iV RQl\
RQe $20 QRWe, WheQ Whe chaQgeV fRU Whe SUeYiRXV e[amSle Zill be RQe $20
QRWe, WZR $10 QRWeV aQd
RQe $5 QRWe. If WheUe iV QR SRVVible chaQge aYailable fRU giYeQ caVh
mRQe\ SURYided b\ Whe
cXVWRmeU, \RX Qeed WR QRWif\ Whe cXVWRmeU WhaW WheUe iV QR aYailable
chaQge ZiWh Whe iQVeUWed
mRQe\. YRX caQ aVk Whe cXVWRmeU WR iQVeUW/XVe diffeUeQW QRWeV/cRiQV WR
cRmSleWe Whe Sa\meQW RU
caQcel Whe WUaQVacWiRQ. AW Whe fiUVW UXQ, \RX caQ VeW Whe aYailabiliW\
Rf each QRWe aQd each cRiQ WR
5.
CaUd: Whe cXVWRmeU Zill UeTXiUe WR SURYide "caUdhRldeU Qame" aQd "cUediW
caUd QXmbeU". YRX RQl\
Qeed WR check ZheWheU Whe SURYided cUediW caUd deWailV maWch ZiWh aQ\ Rf
WhiV cUediW caUd liVW:
FUHGLW_FaUGV.MVRQ, aQd QRWif\ XVeUV ZheQ iW iV iQYalid (QR maWch iQ Whe
liVW). A lRgged iQ XVeU Zill
be SURmSWed aQ RSWiRQ WR VaYe WhiV cUediW caUd deWail ZheQ Whe
WUaQVacWiRQ iV cRmSleWed aQd
VXcceVVfXl. WheQ iW iV VaYed aQd Whe cXVWRmeU dReV aQRWheU WUaQVacWiRQ
Qe[W Wime, Whe cUediW caUd
deWailV Zill be aXWRmaWicall\ filled iQ. PleaVe QRWe WhaW Whe caUd
QXmbeU iQSXW Zill hiddeQ ZiWh
aVWeUiVk (*) aV Zell.
WheQ Whe WUaQVacWiRQ iV cRmSleWe, Whe SURdXcW VWRck Zill be XSdaWed
accRUdiQgl\ aQd aQ\ lRgged iQ
cXVWRmeU Zill be lRgged RXW aXWRmaWicall\. AQ\ caQcelled WUaQVacWiRQ
(bRWh dXe WR WimeRXW RU SUeVViQg
caQcel bXWWRQ iQ aQ\ Sage VWaWe) Zill lRg RXW Whe cXVWRmeU aV Zell.
BeVide cXVWRmeU, WheUe aUe WhUee RWheU URleV/W\Se Rf XVeU aYailable WR
XVe Whe YeQdiQg machiQe:
SelleU: WhiV URle iV able WR fill/mRdif\ Whe iWem deWailV. TR fill aQd
mRdif\ Whe iWemV, WhiV URle iV able WR
VelecW aQd mRdif\ iWem deWailV VXch aV iWem Qame, iWem cRde, iWem
caWegRU\, iWem TXaQWiW\ aQd
iWem SUice. ASSURSUiaWe eUURU meVVage mXVW be VhRZQ if Whe TXaQWiW\
added Zill be RYeU WhaQ Whe
limiW (15 Rf each iWem/SURdXcW) RU WheUe iV cRQflicWiQg iWem
cRde/Qame/caWegRU\. ThiV URle Zill alVR
able WR RbWaiQ WZR UeSRUWV (eiWheU cVY RU We[W file) XSRQ lRgged iQ:
A liVW Rf Whe cXUUeQW aYailable iWemV WhaW iQclXde Whe iWem deWailV.
A VXmmaU\ WhaW iQclXdeV iWemV cRdeV, iWem QameV aQd Whe WRWal QXmbeU Rf
TXaQWiW\ VRld fRU
each iWem (e.g. "1001; MiQeUal WaWeU; 12", "1002; MaUV; 1", eWc.).
CaVhieU: WhiV URle iV able WR fill/mRdif\ Whe aYailable chaQge RU
QRWeV/cRiQV aYailable iQ Whe YeQdiQg
machiQe. ThiV URle Zill be able WR mRdif\ TXaQWiW\ Rf each QRWe aQd each
cRiQ aYailable iQ Whe
YeQdiQg machiQe. ThiV URle Zill alVR able WR RbWaiQ WZR UeSRUWV:
A liVW Rf Whe cXUUeQW aYailable chaQge (Whe TXaQWiW\ Rf each cRiQ aQd
each QRWe iQ Whe YeQdiQg
machiQe).
A VXmmaU\ Rf WUaQVacWiRQV WhaW iQclXdeV WUaQVacWiRQ daWe aQd Wime, iWem
VRld, amRXQW Rf
mRQe\ Said, UeWXUQed chaQge aQd Sa\meQW meWhRd.
OZQeU: WhiV URle iV able WR add/UemRYe SelleU RU CaVhieU RU OZQeU
XVeU(V). IQ addiWiRQ, WhiV URle
caQ mRdif\ Whe iWemV deWailV aQd Whe aYailable chaQgeV iQ Whe YeQdiQg
machiQe aV Zell. PleaVe
29/10/2020 ScrXm SofWZare DeYelopmenW ProjecW
hWWpV://canYaV.V\dne\.edX.aX/coXrVeV/25875/aVVignmenWV/247922 4/9
QRWe WhaW a XVeU caQQRW haYe mRUe WhaQ RQe URle, e.g. a cXVWRmeU XVeU
caQQRW haYe SelleU URle.
ThiV URle VhRXld be able WR geQeUaWe all Rf abRYe UeSRUWV ZiWh WZR
addiWiRQal UeSRUWV:
A liVW Rf XVeUQameV iQ Whe YeQdiQg machiQe ZiWh Whe aVVRciaWed URle
(cXVWRmeU, VelleU, caVhieU,
RU admiQ).
A VXmmaU\ Rf caQcelled WUaQVacWiRQ. ThiV VXmmaU\ RQl\ iQclXdeV daWe aQd
Wime Rf Whe
caQcelled, Whe XVeU (if aYailable, RWheUZiVe "aQRQ\mRXV") aQd Whe
UeaVRQV (e.g. "WimeRXW",
"XVeU caQcelled", "chaQge QRW aYailable", eWc.).
The aSSlicaWiRQ deVigQ caQ be XViQg aQ\ UI (We[W RU GUI) fRU Whe
fXQcWiRQaliW\. YRX caQ decide RQ Whe
aSSlicaWiRQ deVigQ/aUchiWecWXUe; bRWh We[W file RU SeUViVWeQW daWabaVe
aUe acceSWable. The VRfWZaUe
mXVW alZa\V SURdXce cRUUecW RXWSXW aQd maiQWaiQ cRUUecW aQd cRQViVWeQW
VWaWe Rf all iQclXded eQWiWieV.
Like Whe fiUVW gURXS SURjecW, Whe Weam¶V deYelRSmeQW ZRUk mXVW be XQdeU
Whe SOFT2412 GiWHXb
RUgaQi]aWiRQ accRXQWV. YRXU WXWRU mXVW haYe acceVV aQd caQ iQVSecW Whe
VRXUce cRde aW aQ\ SRiQW Rf
Wime. YRXU WXWRU VhRXld alVR be able WR iQVSecW \RXU CI/CD XVed iQ Whe
deYelRSmeQW.
4. ScUXP ± The PURMecW SSUiQWV YRX haYe a WRWal Rf 4 ZeekV WR cRmSleWe
\RXU SURjecW. The SURjecW deYelRSmeQW Zill be diYided iQWR
SURjecW VeWXS aQd gURXS SUeSaUaWiRQ. The acWXal deYelRSmeQW Rf Whe
VeQdiQg MachiQe VRfWZaUe mXVW
UXQ RYeU 3 SSULQWV (LWHUaWLRQV). Each SSUiQW VhRXld laVW fRU RQe Zeek.
Each Team Qeed WR cRQdXcW all
ScUXm eYeQWV dXUiQg each SSUiQW. The fiUVW SSUiQW mXVW VWaUW fURm \RXU
Zeek 9'V WXWRUial. Each Weam
mXVW fRllRZ Whe SSUiQW VchedXle aV deVcUibed belRZ.
PUeSaUaWiRQ fURm Zeek 8. YRXU Weam caQ XVe WhiV SeUiRd WR decide Weam
URleV, geW mRUe
XQdeUVWaQdiQg ZiWh Whe ScUXm meWhRd aQd WR make aSSURSUiaWe deYelRSmeQW
VeWXS (e.g., agile
deYelRSmeQW WRRlV) aQd WR SUeSaUe iQiWial XVeU VWRUieV (iQclXdiQg
iQiWial SURdXcW backlRg) baVed RQ
Whe abRYe deVcUibed UeTXiUemeQWV.
SSUiQW 1: VWaUWV Zeek 9 aQd eQdV Zeek 10
SSUiQW 2: VWaUWV Zeek 10 aQd eQdV Zeek 11
SSUiQW 3: VWaUWV Zeek 11 aQd eQdV Zeek 12
FURm Zeek 9 WXWRUial, \RXU Weam Zill haYe aQ RSSRUWXQiW\ WR claUif\ aQd
elabRUaWe RQ Whe VeQdiQg
MachiQe UeTXiUemeQWV aV a .
DXUiQg each SSUiQW, \RXU Weam mXVW:
CaUU\ RXW Whe deYelRSmeQW ZRUk fRllRZiQg ScUXm SUacWiceV aQd SUiQciSleV,
aQd CI/CD SUacWiceV
XViQg Whe agile deYelRSmeQW WRRlV.
DRcXmeQW all Whe ScUXm eYeQWV WhaW haSSeQV, XVeU VWRUieV, UeleYaQW Weam
membeUV iQWeUacWiRQV
aQd UeVXlWed/XSdaWed aUWifacWV. ThiV alVR iQclXdeV Whe WRRlV XVed WR
imSlemeQW ScUXm.
DRcXmeQW Whe ke\ eYeQWV WhaW RccXUUed dXUiQg Whe deYelRSmeQW Rf Whe
VeQdiQg MachiQe VRfWZaUe.
ThiV iQclXdeV Whe XVe Rf Agile deYelRSmeQW WRRlV aQd SUacWiceV
(iQclXdiQg CI/CD) b\ all Weam
membeUV.
If \RX UeTXiUe aQ\ dail\ meeWiQg, SleaVe adjXVW Whe meeWiQg iQWR WhUee
WimeV iQ a Zeek iQVWead aQd
\RX caQ XVe ZRRm iQVWead Rf face WR face meeWiQg.