Managing Software Requirements (manajemen kebutuhan perangkat lunak) Ir. Waniwatining Astuti, M.T.I Materi Perkuliahan 1. 2. 3. 4. 5. 6. PENDAHULUAN Menganalisa Permasalahan Memahami Keperluan Pengguna dan Pemangku Kepentingan Mendefinisikan Sistem Mengelola Lingkup Menyesuaikan Definisi Sistem Membangun Sistem yang Tepat PENDAHULUAN A. Masalah Persyaratan Pengantar Manajemen Persyaratan C. Persyaratan dan siklus hidup perangkat lunak D. Tim perangkat lunak B. A. Masalah Persyaratan Key Points: Tujuan dari pengembangan SW adalah mengembangkan SW yg bermutu – tepat waktu dan tepat biaya – yang dibutuhkan / diinginkan pelanggan. Proyek yang sukses tergantung dari manajemen kebutuhan yang efektif. Kesalahan menentukan persyaratan adalah jenis yang paling umum dari kesalahan pengembangan sistem dan yang paling sulit /mahal untuk diperbaiki keterampilan adalah kunci yang dapat secara signifikan mengurangi kesalahan persyaratan dan dengan demikian meningkatkan kualitas perangkat lunak Tujuan Pengembangan Perangkat Lunak Pelanggan yang bervariasi dan mempunyai kebutuhan yang berbeda-beda tetapi dengan tujuan yang sama. Data Tersedianya data yang lengkap dan tepat Penyebab Keberhasilan dan Kegagalan Proyek Penyebab Kegagalan : • Kurangnya input dari pengguna (13% dari kegagalan proyek) • Persyaratan dan spesifikasi tidak lengkap ( 12% dari kegagalan proyek) • Perubahan persyaratan dan spesifikasi ( 12% dari kegagalan proyek) Penyebab Keberhasilan : • Keterlibatan pengguna ( 16% dari proyek yang sukses) • Dukungan manajemen eksekutif ( 14% dari proyek yang sukses) • Persyaratan yang jelas ( 12% dari proyek yang sukses) 2 Penyebab utama kegagalan proyek : 1. Spesifikasi persyaratan 2. Pengelolaan persyaratan pelanggan Dari kapan dan dimana cacat / kesalahan ditemukan pada proyek pengembangan aplikasi perangkat lunak, mungkin dapat mengakibatkan kenaikan biaya sampai dengan 50 – 100 kali. Pada saat memperbaiki cacat, akan cenderung mengalami kenaikan biaya dalam beberapa atau semua bidang-bidang berikut: Respesification Redesign Recoding Retesting Change orders Corrective action Scrap (including code, design, test case) Warranty cost Product liability Service cost Documentation B. Pengantar Manajemen Persyaratan Definisi: What is Software Requirements ? A software capability needed by the user to solve a problem to achieve an objective A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, spesification, or other formally imposed documentation. What is Requirement Management ? A systematic approach to eliciting, organizing, and documenting the requirement of the system, and a process that establishes and maintains agreement between the customer and the project team on the changing requirements of the system Application or requirements management Techniques Types of software applications IS and other application develop for use within a company. Software developed and sold as commercial product. Software that runs on computer embedded in other devices, machines, or complex systems. (software embedded-system application, or embedded application) Systems applications requirements management can also be applied to systems development. The road map The problem domain Stakeholder needs Moving toward the solution domain Features of the system Software requirements Many question will arise : Is this a need or a requirement ? Is this a nice to have or a must have ? Is this a statement of the problem or a statement of the solution ? Is this a goal of the system or a contractual requirement ? Do we have to program in Java ? Says who ? Who doesn’t like the new system, and where was that person when we visited here before ? C. Persyaratan dan siklus hidup perangkat lunak Traditional software process models The waterfall model The spiral model The itterative approach Lifecycles phases Iterations Disciplines Requirements in the itterative model D. Tim perangkat lunak Software development as a team activity Requisite team skills for effektive requirements management Team members have different skills The organizations of software teams