Bismillah

Saya ingin menuliskan sedikit tentang teori Rekayasa Perangkat Lunak. Disini saya tampilkan resep atau kiat-kiat agar sebuah proyek pengembangan perangkat lunak berhasil dengan baik, sumber nya dari hasil penelitian yang berjudul Chaos Report 1994.

Success Criteria Points
1. User Involvement 19
2. Executive Management Support 16
3. Clear Statement of Requirements 15
4. Proper Planning 11
5. Realistic Expectations 10
6. Smaller Project Milestones 9
7. Competent Staff 8
8. Ownership 6
9. Clear Vision & Objectives 3
10. Hard-Working, Focused Staff 3
TOTAL 100


Terlihat dari table diatas, salah satu faktor penting adalah keterlibatan user atau pengguna dalam proses pengembangan perangkat lunak, sehingga di hasilkan perangkat lunak yang sesuai kebutuhan penggunanya.

Pada bagian akhir laporan Chaos Report 1994 tersebut, di sebutkan kesimpulan sebagai berikut:

Research at The Standish Group also indicates that smaller time frames, with delivery of software components early and often, will increase the success rate. Shorter time frames result in an iterative process of design, prototype, develop, test, and deploy small elements. This process is known as “growing” software, as opposed to the old concept of “developing” software. Growing software engages the user earlier, each component has an owner or a small set of owners, and expectations are realistically set. In addition, each software component has a clear and precise statement and set of objectives. Software components and small projects tend to be less complex. Making the projects simpler is a worthwhile endeavour because complexity causes only confusion and increased cost.

Hal yang terlihat jelas, bahasa lain dari Smaller Project Milestones, yaitu software harus sering di rilis, sehingga bisa di kontrol arah pengembangannya.

Pada sisi perencanaan, atau di istilahkan pada table diatas dengan Clear Statement of Requirements, haruslah benar-benar sesuai kebutuhan user, agar tidak terjebak pada kompleksitas yang tidak perlu seperti di gambarkan pada artikel The Tree or Tire Swing - Funny Diagrams ini.

Kemudian, di bawah ini saya tampilkan kriteria software yang baik, saya ambil dari artikel List and explain the essential attributes of a good software sebagai berikut:

For a software to be classified as good, it must possess some key features:

  1. Functionality: A good software must be able to do what it was designed to do. The software requirements must guide the design and implementation of the software.
  2. Usability: The software must be usable; the users must not find it difficult to figure out how a good software works. A good software is user-centered and user-friendly.
  3. Efficiency: Efficiency means that perform it’s operations with minimal time and processing power. A good software uses the least amount of processing power and memory needed to achieve the desired result.
  4. Maintainability: A good software must evolve with changing requirements.
  5. Security: A good software must be secure. It should not cause physical or economic damage in the event of a system failure. Unauthorized users must not be allowed access to the system.
  6. Reliability: A reliable system will rarely fail, and even when it does fail, there are recovery mechanisms in the software to recover from the failure with minimal losses.

Keenam kriteria diatas harus lah terpenuhi, agar sebuah software layak digunakan.

Demikian tulisan ini, sedikit teori tentang Rekayasa Perangkat Lunak, semoga bermanfaat.

Alhamdulillah

Daftar Pustaka:

  1. Chaos Report 1994
  2. The Tree or Tire Swing - Funny Diagrams
  3. List and explain the essential attributes of a good software