Pengukuran Kualitas dengan JUnit

Pendahuluan

  • IDE yang penulis gunakan adalah eclipse 2020-03 (4.15.0)
  • Pengukuran yang di test hanyalah sebagai latihan untuk pengenalan JUnit

 

Pengertian

JUnit adalah kerangka pengujian unit untuk bahasa pemrograman Java. JUnit telah menjadi penting dalam pengembangan pengembangan yang digerakkan oleh pengujian, dan merupakan salah satu dari rangkaian kerangka pengujian unit yang secara kolektif dikenal sebagai xUnit yang berasal dari SUnit. (Wikipedia (Inggris))

 

JUnit pada Eclipse

Setelah membuka aplikasi Eclipse untuk melakukan pengetesan kita membutuhkan suatu method yang dapat di test dengan menggunakan JUnit, harus menggunakan bahasa pemrogaman Java. Method yang digunakan adalah untuk mengetes kualitas aplikasi IDE Java dari segi ExecutionSpeed, MemoryUsage, dan SupportedLanguanges.

Berikut adalah source code (package penulis adalah testUnit dan classnya adalah UnitTesting):


package testUnit;

public class UnitTesting {

public long speed(int lenght) {
final long startTime = System.currentTimeMillis();
for (int i = 0; i < lenght; i++) {
System.out.println(i);
}
final long endTime = System.currentTimeMillis();

return endTime – startTime;
}

public String supported(String ide, String languanges) {
String support;
if(ide.equals(“netbeans”)) {
if(languanges.equals(“c”)||languanges.equals(“c+”)||languanges.equals(“java”)||
languanges.equals(“xml”)||languanges.equals(“html”)||languanges.equals(“php)||
languanges.equals(“groovy”)||languanges.equals(“javadoc”)||languanges.equals(“javascript”)||languanges.equals(“jsp”)) {
support=”yes”;
}
else {
support=”no”;
}
}
else if(ide.equals(“eclipse”)) {
if(languanges.equals(“c”) ||languanges.equals(“c++”) ||languanges.equals(“ada”)||languanges.equals(“abap”)||
languanges.equals(“c#”) ||languanges.equals(“clojure”)||languanges.equals(“cobol”)||languanges.equals(“d”)||languanges.equals(“erlang”)||
languanges.equals(“fortran”)||

languanges.equals(“groovy”)||languanges.equals(“haskell”)||languanges.equals(“javascript”)||languanges.equals(“java”)||
languanges.equals(“julia”)||

languanges.equals(“lasso”)||languanges.equals(“lua”)||languanges.equals(“natural”)||languanges.equals(“perl”)||
languanges.equals(“php”)||

languanges.equals(“prolog”)||languanges.equals(“python”)||languanges.equals(“r”)||languanges.equals(“ruby”)||
languanges.equals(“rust”)||

languanges.equals(“scala”)||languanges.equals(“scheme”)) {
support=”yes”;
}
else {
support=”no”;
}
}
else {
support=”Ide: netbeans || eclipse”;
}
return support;
}

public int memoryUsage(String ide, int fileOpen) {
int memory=0;
int i;
if(ide.equals(“eclipse”)) {
memory+=509;
for(i=0; i<fileOpen; i++) {
memory+=11;
}
}
else if(ide.equals(“netbeans”)) {
memory+=702;
for(i=0; i<fileOpen; i++) {
memory+=34;
}
}
return memory;

}
}


 

Setelah membuat method untuk di test tersebut selanjutnya buat file JUnit dengan cara klik kanan nama project -> new -> JUnit test case trus pilih JUnit 4 lalu masukin nama classnya.

Selanjutnya masukin Test case dari source code dibawah ini:

package testUnit;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class TesterUnit {

@Test
public void test3() {
UnitTesting unit = new UnitTesting();
long output = unit.speed(0);
assertEquals(0,output);
}

@Test
public void test4() {
UnitTesting unit = new UnitTesting();
String output = unit.supported(“eclipse”, “c”);
assertEquals(“yes”,output);
}

@Test
public void test5() {
UnitTesting unit = new UnitTesting();
int output = unit.memoryUsage(“netbeans”,3);
assertEquals(200,output);
}

}

Fungsi Codingan di atas adalah untuk mengetahui hasil dari input yang dimasukkan secara hardcode, sehingga kita dapat mengetahui apakah hasil yang kita masukan benar atau salah dengan method yang dibuat.

Pengukuran Kualitas Eclipse dan Netbeans Menggunakan fitNesse

Pendahuluan:

Sebelum memahami dan menggunakan beberapa source code dibawah ini, pengunjung harap sudah mendownload aplikasi fitNesse dan IDE Java(eclipe, netbeans, dll).

Pengukuran Kualitas IDE Menggunakan FitNesse

Pada pengukuran IDE ini penulis melakukan pengetesan bedasarkan tiga hal yaitu, ExecutionSpeed, SupportedLanguange, MemoryUsage.

  • ExecutionSpeed

Pada pengetesan ini penulis menghitung seberapa cepat sebuah waktu esekusi dari IDE tersebut, hal yang dapat mempengaruhi adalah IDE yang digunakan pada source code ini juga . 

    • Berikut adalah source code java tentang ExecutionSpeed:

package testingfitNesse;

import fit.ColumnFixture;

public class ExecutionSpeed extends ColumnFixture{

int lenght;

public int getLenght() {
return lenght;
}
public void setLenght(int lenght) {
this.lenght = lenght;
}

public long speed() {
final long startTime = System.currentTimeMillis();
for (int i = 0; i < lenght; i++) {
System.out.println(i);
}
final long endTime = System.currentTimeMillis();

return endTime – startTime;
}

}

Lalu source code pada fitNesse ini kita harus menentukan !path dari file java tersebut(!path C:\Users\Dhimas\eclipse-workspace\fitNesse\bin) lalu mengimport Java projectnya (testingfitNesse) dan menuliskan nama classnya(ExecutionSpeed), selanjutnya di bawah class tulis variabel-varibel yang get-set pada file java (lenght) lalu  yang menggunakan tanda tanya itu adalah nama method(speed). Fungsi tanda tanya adalah penilian yang akan diukur oleh fitNesse tersebut.

    • Berikut adalah source code fitNesse tentang ExecutionSpeed

!path C:\Users\Dhimas\eclipse-workspace\fitNesse\bin

|Import |
|testingfitNesse|

|ExecutionSpeed|
|lenght |speed?|
|100 |2 |
|200 |4 |

 

  • SupportedLanguanges

Pada pengetesan ini penulis membuat source code dalam menentukan support atau tidaknya suatu bahasa pemrograman pada aplikasi netbeans atau eclipse Pada Eclipsepenulis mengambil dari sumber ini , dan untuk netbenas penulis mengambil sumber dari sini

    • Berikut adalah source code java tentang SupportedLanguanges

package testingfitNesse;

import fit.ColumnFixture;

public class SupportedLanguanges extends ColumnFixture{
String ide;
String languanges;
String support;

public String getIde() {
return ide;
}
public void setIde(String ide) {
this.ide = ide;
}
public String getLanguanges() {
return languanges;
}
public void setLanguanges(String languanges) {
this.languanges = languanges;
}

public String supported() {
if(ide.equals(“netbeans”)) {
if(languanges.contentEquals(“c”)||languanges.contentEquals(“c+”)||languanges.equals(“java”)||languanges.equals(“xml”)||
languanges.equals(“html”)||languanges.equals(“php”)||languanges.equals(“groovy”)||languanges.equals(“javadoc”)||
languanges.equals(“javascript”)||languanges.equals(“jsp”)) {

support=”yes”;
}
else {
support=”no”;
}
}
else if(ide.equals(“eclipse”)) {
if(languanges.contentEquals(“c”) ||languanges.equals(“c++”) ||languanges.equals(“ada”)||languanges.equals(“abap”)||
languanges.equals(“c#”)||languanges.equals(“clojure”)||languanges.equals(“cobol”)||languanges.equals(“d”)||
languanges.equals(“erlang”)||languanges.equals(“fortran”)||languanges.equals(“groovy”)||
languanges.equals(“haskell”)||languanges.equals(“javascript”)||languanges.equals(“java”)||languanges.equals(“julia”)||
languanges.equals(“lasso”)||languanges.equals(“lua”)||languanges.equals(“natural”)||languanges.equals(“perl”)||
languanges.equals(“php”)||languanges.equals(“prolog”)||languanges.equals(“python”)||languanges.equals(“r”)||
languanges.equals(“ruby”)||languanges.equals(“rust”)||languanges.equals(“scala”)||languanges.equals(“scheme”)) {

support=”yes”;
}
else {
support=”no”;
}
}
else {
support=”Ide: netbeans || eclipse”;
}
return support;
}
}

Pada Fitnesse, path dan import sama namun class dan variabel juga method berbeda karena menyesuaikan code yang di java.

    • Berikut adalah source code fitNesse tentang SupportedLanguanges

!path C:\Users\Dhimas\eclipse-workspace\fitNesse\bin

|Import |
|testingfitNesse|

|SupportedLanguanges |
|ide |languanges|supported?|
|eclipse |inggris |yes |
|netbeans|c |yes |

 

  • MemoryUsage

 Pada pengetesan kali ini, nilai memory adalah subjektif karena berbentuk hardcode yang di isi oleh penulis, sehingga tidak selalu benar pada aslinya. Pengetesan ini hanya untuk menggambarkan saja bagaimana Penggunakaan memory yang di pakai oleh aplikasi Eclipse dan NetBeans. Hal yang mempengaruhi adalah IDE yang digunakan dan ada berapa file yang sedang terbuka pada IDE tersebut.

    • Berikut adalah source code java tentang MemoryUsage

package testingfitNesse;

import fit.ColumnFixture;

public class MemoryUsage extends ColumnFixture{
String ide;
int fileOpen;
int memory=0;
public String getIde() {
return ide;
}
public void setIde(String ide) {
this.ide = ide;
}
public int getFileOpen() {
return fileOpen;
}
public void setFileOpen(int fileOpen) {
this.fileOpen = fileOpen;
}

public int memoryUsage() {
int i;
if(ide.equals(“eclipse”)) {
memory+=509;
for(i=0; i<fileOpen; i++) {
memory+=11;
}
}
else if(ide.equals(“netbeans”)) {
memory+=702;
for(i=0; i<fileOpen; i++) {
memory+=34;
}
}
return memory;

}
}

Sama seperti diatas, Source code fitNesse mengecek berapa memory yang digunakan pada aplikasi tersebut dengan memasukan nama ide dan brapa banyak file yang dibuka

    • Berikut adalah source code fitNesse tentang MemoryUsage

!path C:\Users\Dhimas\eclipse-workspace\fitNesse\bin

|Import |
|testingfitNesse|

|MemoryUsage |
|ide |fileOpen|memoryUsage?|
|netbeans|5 |800 |
|eclipse |7 |1000 |

PENGUKURAN KUALITAS APLIKASI APACHE NETBEANS DAN ECLIPSE

PENDAHULUAN

Sebelum masuk ke hasil penilaian pengukuran kualitas aplikasi apache netbeans dengan eclipse, ada beberapa batasan masalah dalam melakukan pengukuran kulitas aplikasi, yaitu:

  • Dalam melakukan penilaian aplikasi tersebut penulis akan menggunakan penilaian dari faktor Mc Call sebagai standar kriteria penilaian aplikasi.
  • Sebelum melihat hasil penilaian penulis menggunakan versi 12.1 untuk aplikasi Apache NetBeans dan versi 2020-03 untuk aplikasi Eclipse.
  • Keterbatasan kemampuan penganalisis dalam melakukan penilaian kualitas aplikas

KRITERIA PENGUKURAN

Berikut adalah beberapa kriteria pengukuran yang digunakan untuk menilai kualitas kedua aplikasi tersebut:

CORRECTNESS

Apakah kebutuhan yang dispesifikasikan dan memenuhi tujuan dan kebutuhan pengguna.

    • Completeness
      Kelengkapan sebuah software dalam membantu pengguna menggunakan suatu fasilitas yang ingin digunakan.
      Dalam kasus ini penulis mentitik beratkan pada sebuah fitur-fitur yaitu Plug-in sebagai kelengkapan fasilitas.
    • Traceability
      Kemampuan merujuk balik implementasi atau komponen program ke kebutuhan pengguna software.
      Pada kasus ini penulis memperhitungkan sebuah kemampuan auto-save project dalam mengembalikan data-data yang secara sengaja atau tidak sengaja.

USABILITY

Kemampuan aplikasi dalam usaha pengguna yang dibutuhkan untuk mempelajari, mengoprasikan, menyiapkan inputan,dan mengintepretasikan output suatu program.

    • Operability
      Kemampuan aplikasi dalam mengandalkan tidak hanya pengguna itu sendiri namun umumnya pada orang lain.
      Pengukuran pada kasus ini menilai dari seberapa mudah file dapat di andalakan dalam kutip sebagai “Processing Convience” menurut kemampuan penulis sebagai analisa aplikasi ini
    • Training
      Tingkatan sebuah software dapat membantu user baru untuk penerapan atau mengimplementasikan software.
      Pengukuran sub kriteria pada kasus ini memperhitungkan seberapa «convenience» dalam penggunaan feature dan tampilan secara subyektif oleh penulis.

EFFICIENCY

Penggunaan aplikasi secara efisien untuk melakukan operasi (esekusi) dan efisiensi penggunaan sumber daya computer.

    • Storage Efficiency
      Kemampuan aplikasi pengukuran memory secara effisien terhadap sumber daya komputer
      Pada kasus ini akan menganalisis seberapa banyak memory yang diperlukan dalam menjalankan dan mengoperasikan aplikasi tersebut.
    • Execution Efficiency
      Waktu secara efisien pada aplikasi dalam menjalankan esekusi program.
      Menganalisa kecepatan esekusi compile code program yang diketahui penulis

RELIABILITY

Kemampuan program yang diharapkan dapat menampilkan fungsi yang sesuai dengan harapan user

    • Tolerance
      Toleransi terhadap error yang terjadi saat melakukan debugging
      Menganalisis seberapa mudah dan efektif dalam mengetahui error dapat diliat melalui compiler atau dari tampilan codenya.
    • Simplicity
      Kemudahan dalam memahami error program pada aplikasi.
      Menganalisis kemudahan menanggulangi error saat sesudah dilakukan debugging. 

FLEXIBILITY

Kemampuan dan usaha yang diperlukan untuk mendukung modifikasi, konfigurasi ulang, dan pemeliharaan sesuai dengan keinginan pengguna

    • Capable
      Kemampuan dalam kegunaan yang dapat dikerjakan oleh aplikasi
      Menganalisis Bahasa pemograman apa saja yang dapat di gunakan pada apliaksi ini selain Bahasa pemograman java.
    • Expandability
      Seberapa luas kemampuan untuk perancang dalam meningkatkan kemampuan aplikasi
      Menganalisis fitur-fitur dan plug in yang tersedia dalam pengambangan produk.

HASIL PENGUKURAN

Berikut adalah hasil pengukuran kualitas perangkat lunak oleh penulis:

CORRECTNESS

    • Completeness
      • Apache Netbeans
        • Plug-in yakni dari berbagai Bahasa Pemogramman
        • Penambahan Plug-in bersifat access folder yang sudah di download
      • Eclipse
        • Plug-in fokus pada Bahasa Java, sehingga lebih lengkap dalam fitur-fitur (plug-in) yang ingin digunakan oleh Developer Java
        • Plug-in lebih lengkap tapi lebih fokus kepada Developer Java
        • Membutuhkan Website untuk menambahkan pilihan Plug-in
    • Traceability
      • Apache Netbeans
        • Terdapat cadangan file (back-up file project) jika program mati mendadak.
        • Auto-save file tidak lagi dalam bentuk plug in yang harus di download terlebih dahulu (versi 6.8 – 8.1).
      • Eclipse
        • Tidak menyimpan data secara automatis (manual), harus di enable terlebih dahulu.
        • Data menghilang jika program mati mendadak (tidak ada cadangan). (versi sebelumnya)
        • Lebih tenang jika auto-save dinyalakan (enable).
    • Nilai Kriteria
      • Completness (0,8)
        • Apache Netbeans
          • 8 / 10
        • Eclipse
          • 8 / 10
      • Traceability (0.8)
        • Apache Netbeans
          • 9 / 10
        • Eclipse
          • 5 / 10

USABILITY

    • Operability
      • Apache Netbeans
        • Dari pengalaman penulis, aplikasi hanya dapat menerima file .java berupa hasil export NetBeans itu sendiri dan Eclipse, namun untuk Bahasa pemograman lainnya bisa langsung di dibuka.
      • Eclipse
        • Dalam kemampuan kemudahan proses penerimaan file dari orang lain, penulis hanya mampu menerima file dari workspace dari eclipse tersebut.
    • Training
      • Apache Netbeans
        • Fiur yang sudah ada umunya menghasilkan output yang diinginkan sudah sama, sehingga mempermudah orang pemula untuk memahami secara cepat.
        • Tampilan ikon fitur  sudah cocok dengan penggunaannya.
      • Eclipse
        • Penggunaan fitur yang umumnya digunakan masih belum ada sehingga akan membutuhkan usaha lebih dalam penyajian fitur.
        • Toolbar yang ditampilkan lebih lengkap sehingga tidak perlu mencari pada menu utama.
      • Nilai Kriteria
        • Operability (0,5)
          • Apache Netbeans
            • 8 / 10
          • Eclipse
            • 7 / 10
        • Training (0,5)
          • Apache Netbeans
            • 8 / 10
          • Eclipse
            • 7 / 10

EFFICIENCY

    • Storage Efficiency
      • Apache Netbeans
        • Penggunaan memory cukup besar sehingga terjadi beberapa kendala seperti buffering cukup lama pada aplikasi.
      • Eclipse
        • Penggunaan memory lebih sedikit dibandingkan IDE NetBeans dan tidak ada gangguan pada aplikasi.
    • Execution Efficiency
      • Apache Netbeans
        • Kecepatan Complie Program pada apliaksi ini setara dengan Eclipse dari pengalaman penganalisis, hanya saja sering terjadi buffering aplikasi disaat mulainya compile, mungkin karena faktor memory yang cukup besar.
        • Ada perhitungan waktu dalam compilernya.
      • Eclipse
        • Kecepatan compile pada apliaksi ini untuk pertama kalinya (debugger) membutuhkan waktu untuk mencari kesalahan, namun waktu selanjutnya lebih cepat. Intinya lancar dan tidak ada gangguan.
      • Nilai Kriteria
        • Storage Efficiency (0,5)
          • Apache Netbeans
            • 5 / 10
          • Eclipse
            • 8 / 10
        • Execution Efficiency (0,8)
          • Apache Netbeans
            • 8 / 10
          • Eclipse
            • 9 / 10

RELIABILITY

    • Tolerance
      • Apache Netbeans
        • Menurut pengalaman penganalisa ini, jika terjadi error pada saat compiler, toleransi akan dilakukan sebagai pemberitahuan kepada editor pada compiler dengan alamat nya.
      • Eclipse
        • Toleransi error pada aplikasi ini sama dengan yang terjadi di NetBeans.
    • Simplicity
      • Apache Netbeans
        • Pada aplikasi ini cara menaggulangi error sudah termasuk mudah dikarenakan adanya link yang menuju alamat errornya langsung, sehingga mempersingkat pencarian code syntax
        • Juga ada fitur hint sebagai mempermudah memperbaiki error. (Alt + enter)
      • Eclipse
        • Kemudahan pencarian error dan penanggulangan sama seperti aplikasi NetBeans.
        • Hint dapat dilakukan dengan mengarahkan kursor mouse ke error code tersebut.
      • Nilai Kriteria
        • Tolerance (0,8)
          • Apache Netbeans
            • 9 / 10
          • Eclipse
            • 9 / 10
        • Simplicity (0,6)
          • Apache Netbeans
            • 9 / 10
          • Eclipse
            • 9 / 10

FLEXIBILITY

    • Capable
      • Apache Netbeans
        • Kompatible dalam Bahasa pemogramam yang di support selain java ada banyak seperti PHP, C, C++, HTML, Groovy , dll. Sudah terinstal pada apliaksi NetBeans (tinggal di aktivasi)
      • Eclipse
        • Dari sepengetahuan penulis, aplikasi ini kompatible dengan Bahasa C, c++, php, linux, node.js, dll. Itu juga harus menginstal terlebih dahulu menggunakan plug in.
    • Expandability
      • Apache Netbeans
        • Kemampuan pengembangan aplikasi oleh plug-in fokus pada java, walaupun ada juga untuk Bahasa pemograman lainnya tpi sedikit.
      • Eclipse
        • Karena banyaknya plug in yang tersedia, kemampuan dalam pengembangan program lebih luas dari pada NetBeans
      • Nilai Kriteria
        • Flexibility (0,6)
          • Apache Netbeans
            • 9 / 10
          • Eclipse
            • 8 / 10
        • Expandability (0,4)
          • Apache Netbeans
            • 7 / 10
          • Eclipse
            • 9 / 10

TOTAL NILAI DARI KESELURUHAN KRITERIA

 

Faktor NetBeans Eclipse Nilai Maks
Correctness 13,6 10,4 16
Useability 8,0 7,0 10
Efficiency 8,9 11,2 13
Reability 12,6 12,6 14
Expandability 8,2 8,4 10
Total 51,3 49,6 63
  81,428% 78,730% 100%

Model Scrum

Disini penulis akan menjelaskan tentang apa itu Scrum Model.

  • Pendahuluan

Seperti yang kita ketahui, metodologi pengembangan perangkat lunak ada banyak diantaranya adalah waterfallprototypingincrementalspiral, dan RAD, jika kita ingin mempelajari apa itu Scrum, sebaiknya kita mengetahui terlebih dahulu Agile Development Methods.

Dalam bahasa indonesia Agile memiliki arti gesit, lincah, tangkas, yang aritnya bersifat cepat, ringan, bebas bergerak. Menurut Roger S. Pressman dibukunya Software Engineering: A Practitioner’s Approach, “an agile software process must adapt incrementally”, maksud dari kalimat tersebut secara penerapannya proses agile harus bisa beradaptasi dengan feedback pelanggan(costumer), ditulis di buku Roger S. Pressman, Software Engineering: A Practitioner’s Approach perangkat lunak yang menggunakan agile proses dicirikan dengan membahas asumsi utama dari sebagian besar proyek perangkat lunak:

  • It is difficult to predict in advance which software requirements will persist and which will change.
  • For many types of software, design and construction are interleaved. That is, both activities should be performed in tandem so that design models are proven as they are created. It is difficult to predict how much design is necessary before construction is used to prove the design. 
  • Analysis, design, construction, and testing are not as predictable

Dari asumsi-asumsi tersebutlah terpikirkan sebuah proses yang harus bisa beradaptasi, seperti yang sudah penulis ketik diatas proses Agile harus bisa adaptable

Menurut Wikipedia  Agile development methods adalah salah satu Metodologi pengembangan perangkat lunak. Selain Scrum, ada banyak model proses agile yaitu:

Pada halaman ini supaya lebih detail materi yang disampaikan penulis hanya akan menjelaskan tentang model Scrum.

  • Pengertian Model Scrum

Menurut  Roger S. Pressman dibukunya Software Engineering: A Practitioner’s Approach
“Scrum (the name is derived from an activity that occurs during a rugby match13) is an agile software development method that was conceived by Jeff Sutherland and his development team in the early 1990s, In recent years, further development on the Scrum methods has been performed by Schwaber and Beedle”.

Menurut Ken Schwaber & Jeff Sutherland (2013:3) sendiri Scrum adalah sebuah kerangka kerja untuk menyelesaikan permasalahan kompleks yang senantiasa berubah, pada saat bersamaan dapat menghasilkan produk dengan nilai setinggi mungkin secara kreatif dan produktif.

  • Tahap-Tahap Model Scum

Roger S. Pressman dibukunya Software Engineering: A Practitioner’s Approach, dituliskan Model Scrum memiliki beberapa tahap yang harus dilakukan yaitu:

    • Backlog, pada tahap ini bertujuan menentukan prioritas dalam mengerjakan sprint, persyaratan atau fitur proyek yang diprioritaskan yang memberikan nilai bisnis bagi pelanggan. “Item” dapat ditambahkan ke backlog kapan saja (ini adalah bagaimana perubahan diperkenalkan). Manajer produk menilai simpanan dan memperbarui prioritas sesuai kebutuhan.
    • Sprints, pada tahap ini semua tim berkumpul untuk mengidentifikasi tugas masing-masing. Selain itu, jadwal rilis ditentukan harus sesuai dengan kotak waktu yang telah ditentukan (umumnya 30 hari). Pada tahap ini tidak boleh ada “perubahan”, ini dilakukan untuk memungkinkan pekerja dapat mengerjakan bagiannya dalam lingkungan jangka pendek danjuga stabil.
    • Scrum meeting, tahap ini adalah pertemuan singkat (biasanya 15 menit) yang diadakan setiap hari oleh tim Scrum biasanya disebut juga dengan evaluasi. Roger S. Pressman dibukunya Software Engineering: A Practitioner’s Approach ada tiga kunci pertanyaan yang ditanyakan dan dijawab oleh semua anggota tim yaitu:1. What did you do since the last team meeting? 
      2. What obstacles are you encountering? 
      3. What do you plan to accomplish by the next team meeting? Seorang pemimpin tim, yang disebut Master Scrum, memimpin pertemuan dan menilai tanggapan dari setiap orang. Pertemuan Scrum membantu tim untuk mengungkap potensi masalah sedini mungkin.
    • Demos, tahap ini memberikan peningkatan proyek kepada pelanggan sehingga fungsionalitas yang telah diterapkan dapat ditunjukkan dan dievaluasi oleh pelanggan. Penting untuk dicatat bahwa tahap ini proyek mungkin tidak mengandung semua fungsionalitas yang direncanakan, melainkan fungsi-fungsi yang dapat disampaikan dalam kotak waktu yang ditetapkan.

Hello world!