Senin, 13 Desember 2010

Apa yang membuat manajemen proyek Web berbeda dari manajemen proyek perangkat lunak tradisional, dan apa yang tersembunyi ? Semakin jauh berpotensi sukses sebagai metode dan pendekatan untuk Web manajemen proyek sudah berevolusi, mereka akan disajikan secara singkat dan tertanam di perspektif holistik yang dibutuhkan dalam bidang ini.

Manajemen proyek adalah kegiatan manusia untuk membentuk tindakan manusia lainnya. Ini manusia perspektif berpusat membutuhkan manajer proyek web untuk memiliki besar pemecahan konflik-kompetensi, dan tim Web untuk memiliki pemahaman interdisipliner. Akibatnya, model yang digunakan untuk mengembangkan aplikasi Web telah menjadi sangat fleksibel, memungkinkan untuk iteratif-incremental sangat pembangunan, dan melibatkan kontraktor sering. Ini berarti bahwa alat dan teknik digunakan dalam manajemen proyek web terutama dicirikan oleh transisi saat ini dari metode tradisional.

9.1 Dari Manajemen Proyek Software untuk Manajemen Proyek Web

9.1.1 Tujuan Manajemen Proyek Perangkat Lunak

Proyek Perangkat Lunak management1 mendukung pendekatan teknik untuk pengembangan perangkat lunak di bahwa itu meluas siklus pengembangan produk teknis (perencanaan - pelaksanaan - pemeriksaan) dan tugas-tugas sosial ekonomi, seperti pengelolaan, pengembangan, dan pemantauan. Hal ini ternyata perangkat lunak pembangunan menjadi dikendalikan, proses berulang-ulang, memungkinkan dipahami dengan baik dan berkesinambungan adaptasi dengan tujuan (lihat Gambar 9 1).

Software manajemen proyek sehingga mengikat teknis pengembangan produk untuk manufaktur produk ekonomi.

9.1.2 Tugas-tugas Manajemen Proyek Perangkat Lunak

Sebuah proyek adalah usaha yang inovatif dan kompleks dengan kondisi, seperti biaya, dead-line, Sumber daya, dan kualitas. Garis kinerja proses sebuah perusahaan harus dikoordinasikan oleh (Proyek) manajemen sehingga kondisi umum / pembatasan dapat dipertahankan. Lebih khusus, "memiliki manajemen untuk menentukan tujuan dan strategi untuk perusahaan, mengoperasionalkan dalam rencana, memonitor pencapaian tujuan, mengembangkan organisasi perusahaan yang memadai untuk pelaksanaan tujuan dan rencana, memimpin dan memotivasi staf, mengontrol proses perusahaan, dan mengambil keputusan. dapat didefinisikan sebagai suatu aktivitas yang berhubungan dengan membentuk tindakan orang lain(Gernert dan Ahrend 2001).

9.1.3 Konflik Daerah dalam Proyek

Dari segi ekonomi, sebuah proyek sering dilihat sebagai suatu sistem yang harus seimbang antara anggaran yang tersedia, cakrawala waktu tetap, dan kualitas produk yang diproyeksikan (lihat Gambar 9-2). Aspek penting tentang sudut pandang ini adalah bahwa tidak satupun dari tiga parameter dapat berubah tanpa mengharuskan perubahan ke salah satu atau kedua nilai parameter lainnya. Sebuah proyek yang harus diselesaikan dalam waktu yang sesingkat mungkin menjadi lebih mahal daripada awalnya direncanakan, atau menurunnya kualitas. Dalam prakteknya, keduanya akan terjadi dalam kebanyakan kasus. Hal ini penting untuk membuat pelanggan sadar ini "daerah konflik" dalam suatu proyek dari awal, dan stres dampak dari perubahan tenggat waktu, pemotongan biaya, dll. Hal ini tidak dapat dilakukan cukup tegas. Bahkan, khususnya untuk proyek-proyek web, yang sering harus ditangani di bawah anggaran yang ketat dan ketat tenggat waktu bahkan, yang "sederhana" hubungan antara anggaran, waktu, dan kualitas yang sering hilang dalam hiruk pembangunan.

9.1.4 Spesifikasi Manajemen Proyek Web

Secara umum dapat diamati bahwa aplikasi besar dan monolitik banyak dikembangkan di masa lalu telah digantikan oleh sejumlah besar aplikasi Web dan jaringan(Reifer 2002). Tren ini memerlukan siklus pengembangan yang lebih pendek, yang mengarah ke situasi di mana perangkat lunak semakin kurang berkembang pada cara tradisional - yang didasarkan pada persyaratan yang ditetapkan - dari awal. Tabel 9-1 menunjukkan sifat yang dihasilkan untuk manajemen proyek Web, dibandingkan perangkat lunak manajemen proyek tradisional (diadaptasi dari Reifer 2002).

proyek web juga berbeda dari proyek perangkat lunak tradisional dalam hasil:

• sistem perangkat lunak tradisional yang terdiri dari bagian yang dikelompokkan menurut fungsi, dimana tombol metrik bagian ini adalah fungsionalitas. Sebaliknya, fungsi perangkat lunak dan konten tergantung pada satu sama lain dalam aplikasi Web, dan ketersediaan gabungan dari kedua elemen sangat penting dari pertama pengiriman sangat on.2

• Desain dan pembuatan konten paling tidak sama pentingnya's aplikasi fungsionalitas. Untuk aplikasi web, penataan ke dalam komponen-komponen desain dilakukan dalam cara yang berbeda oleh masyarakat pembangunan yang berbeda, dengan menggunakan penamaan yang berbeda (lihat Tabel 9-2).

Tabel 9-2 Desain komponen aplikasi Web

9.2.1 Tantangan Umum dalam Pengembangan Software

Manajemen proyek konvensional dalam proyek perangkat lunak tradisional dihadapkan dengan tantangan dalam semua tiga tugas pengelolaan (lihat bagian 9.1.1). Tantangan-tantangan ini juga berlaku untuk pembangunan aplikasi Web, seperti dijelaskan dalam bagian berikut.

Kepemimpinan Tantangan

• Sistem Perangkat Lunak Unik: Sistem software sering dikembangkan dari awal. Pengalaman yang diambil dari proyek masa lalu terlalu sedikit untuk bisa membuat estimasi biaya yang dapat diandalkan.

• Perspektif Kepemimpinan Teknis: Proyek manajemen telah didominasi oleh teknologi aneh, khususnya yang berpikiran insinyur teknologi. Dalam banyak kasus, ini telah menyebabkan untuk suatu pengabaian pengembangan organisasi yang mendukung pengembangan perangkat lunak. Selain itu, insinyur cenderung terlalu optimis. Sikap sering "murah hati" didukung oleh dan penjualan orang pemasaran.

• Perencanaan yang Buruk: Banyak produk perangkat lunak dicirikan oleh atau tidak jelas tujuan perencanaan yang lengkap, sering berubah dengan tujuan perencanaan, dan cacat dalam proyek organisasi. Dibandingkan dengan pengembangan perangkat lunak tradisional, masalah ini timbul bahkan lebih sering dalam pengembangan aplikasi web.

Pengembangan Tantangan

• Individualitas Programmer: Bahkan saat ini, banyak proyek pengembangan perangkat lunak terlihat sebagai seni daripada teknik. Programmer perangkat lunak yang individualis dan kinerja mereka banyak berbeda. sulit untuk menempatkan individualis ke dalam organisasi langsung. Masalah ini muncul terutama karena "seniman" dalam tim Web, karena mereka , kreativitas tunduk pada tingkat tinggi individualitas.

• Jumlah Solusi Alternatif Tinggi: Dalam pengembangan perangkat lunak, ada hampir jumlah alternatif tidak terbatas untuk memecahkan suatu masalah tertentu. Masalah sedikit lebih kecil di penciptaan aplikasi Web, karena banyak komponen dan produk setengah jadi dapat digunakan, namun tidak boleh dianggap remeh.

• Perubahan Teknologi yang Cepat: Perkembangan teknologi yang pesat perangkat keras dan software membuat lebih sulit untuk merencanakan dan mengatur proyek perangkat lunak.

Pemantauan Tantangan

• Negara Imaterial Produk Perangkat Lunak: "hal tidak dapat dipahami" dari produk perangkat lunak membuat mereka sukar untuk mengendalikan. Sejak proyek web ditandai paralel dengan pembangunan fungsionalitas dan konten, produk lebih "nyata" untuk pelanggan dan manajer proyek.

9.2.2 Pembangunan-terkait Tantangan di Web Proyek

Sifat-sifat berikut ini khas untuk pengembangan proyek Web, mewakili khusus

Tantangan bagi manajemen proyek Web.

Hal Baru

Banyak aplikasi Web dirancang untuk alamat baru atau pengguna kelompok tidak dikenal (lihat juga Bab 2). Tentu saja, jika para pengguna di masa depan tidak tahu apa yang ditawarkan atau apa yang mereka dapat atau harus harapkan dari sebuah aplikasi Web yang baru, mereka tidak bisa merumu

Dinamika

Pengembangan aplikasi Web Banyak proyek yang dicirikan oleh tekanan waktu-ke-pasar yang tinggi dan siklus pembangunan pendek. Sebagai contoh, (McDonald dan Welland 2001a) diamati dalam penelitian bahwa tidak ada proyek Web berlangsung lebih dari enam bulan, rata-rata yang kurang dari tiga bulan.

Paralelisme

Karena siklus pengembangan yang pendek dan struktur berbasis komponen dari aplikasi domain (misalnya, otentikasi , kesamaan pencarian, ticker berita, chat room) sering ditemukan di aplikasi web, banyak aplikasi web dikembangkan oleh sub-kelompok secara paralel. Namun, subkelompok yang terstruktur berbeda dari di proyek perangkat lunak tradisional.

Usia muda

Dibandingkan dengan rata-rata pengembang aplikasi Web developer software rata-rata jauh lebih muda dan kurang berpengalaman. Berdasarkan survei yang dilakukan oleh (Reifer 2002), rata-rata pengembang aplikasi Web memiliki kurang dari tiga tahun pengalaman dan biasanya adalah otodidak sedangkan perangkat lunak insinyur rata-rata memiliki pendidikan formal dan setidaknya enam tahun profesional pengalaman. Salah satu strategi untuk mengatasi masalah ini di Web manajemen proyek dapat mengandalkan pada teknologi dan alat-alat dari vendor besar, karena mereka cenderung mengikuti update tertib dan kebijakan melepaskan dan bantuan terus menerus. Open-source proyek dari sumber yang dapat dipercaya (misalnya, lingkungan GNU atau yayasan Apache) telah menjadi alternatif yang menarik berkat dukungan masyarakat Web mereka.

9.2.3 Produk-terkait Tantangan di Web Proyek

Sifat-sifat berikut ini khas untuk aplikasi Web atau menggunakan mereka, yang mewakili khusus tantangan bagi manajemen proyek Web.

Ubiquity

Selain menjadi tersedia di seluruh dunia, perangkat mobile telah membuat web tersedia di hampir semua lokasi. Kelompok pengguna potensial untuk diakses publik. Ini berarti bahwa jumlah dan karakteristik kelompok pengguna aktual tidak diketahui, dan spektrum jenis pengguna potensial sangat luas. Meskipun tes aplikasi dikerahkan di web dapat menjangkau pengguna internet. Stabilitas dan Keamanan Pengguna Web mengharapkan aplikasi yang tersedia menjadi 24 jam X 7 hari berarti persyaratan tinggi pada kualitas aplikasi berkaitan dengan kehandalan, tetapi juga pada hardware yang mendasari dan koneksi jaringan. Dalam kasus terakhir, sinkronisasi pengembangan sistem dengan sistem produksi dan pengujian (sedangkan data perubahan dinamis) yang sangat sulit.

Skalabilitas

Kehadiran aplikasi Web, dikombinasikan dengan spontanitas pengguna, menyiratkan bahwa Web, aplikasi harus scalable ke tingkat yang tidak dapat diproyeksikan sebelum dan selama pengembangan. Sebuah aplikasi Web scalable yang buruk dapat menyebabkan kehilangan kinerja secara dramatis yang dirasakan oleh semua penggunanya begitu jumlah mereka mencapai maksimum tertentu. Sebuah sistem e-banking scalable yang buruk, misalnya, dapat mengakibatkan kerugian materi yang besar (yang tidak benar transaksi keuangan atau tidak lengkap) dan kerugian immaterial (reputasi perusahaan).

9.3 Mengelola Tim Web

9.3.1 Pengembangan Perangkat Lunak: Human-centered Task

Karena evolusi yang cepat dan bahwa proyek aplikasi Web sangat tunduk pada fakta bahwa pengembangan perangkat lunak modern semua dikelola oleh kelompok-kelompok orang dan tidak lagi oleh individu (Mayr 2005), komunikasi antar anggota tim dan motivasi mereka dan koordinasi oleh manajer proyek adalah salah satu faktor keberhasilan yang paling penting untuk sebuah proyek (lihat juga Bab 2). Untuk alasan ini, pengembangan perangkat lunak sering disebut-berpusat manusia aktivitas (Humphrey 1997).

Manajer teknis sangat cenderung meremehkan aspek psikologis dan sosial dalam pembangunan tim. Segera setelah mereka telah diidentifikasi, konflik harus ditangani dan diselesaikan. Dalam bidang pengembangan teknis, seringkali tidak ada ruang untuk kompromi, ada "pemenang" dan "pecundang", yang mengarah ke konflik lebih.

Perubahan berikut dalam pengembangan kebudayaan perangkat lunak mengarah ke evolusi dari Kepala tim programmer:

• Seorang insinyur perangkat lunak tidak bisa lagi membagi wilayah kerjanya ke dalam desain, implementasi, dan pengujian.

• Sebuah pengganti harus diidentifikasi yang dapat menggantikan setiap anggota tim dalam keadaan darurat situasi, setidaknya untuk waktu singkat. pengganti ini terus harus disimpan informasi tentang keadaan saat proyek.

• Seorang kepala programmer dengan kedua kualitas manajemen yang sempurna dan up-to-date implementasi keterampilan jarang tersedia dalam praktek.

• Yang tidak ada penghargaannya - dan sering kurang menarik - tugas seorang sekretaris proyek sebagai "kepala dokumenter" dan pengontrol membuat sulit untuk mengisi posisi ini secara permanen. Dokumen generasi harus didistribusikan di seluruh tim, sesuai dengan tugas.

9.3.2 Tim Proyek Web

Tim dibentuk untuk mengembangkan aplikasi Web yang ditandai dengan tiga sifat penting:

Multidisciplinarity: Karena aplikasi Web terdiri dari isi, struktur hypertext, dan presentasi untuk - idealnya - sangat khalayak luas, pengembang web harus memiliki domain pengetahuan khusus yang berbeda.

Paralelisme: Sementara tugas-tugas dalam proyek-proyek perangkat lunak tradisional dibagi oleh pembangunan- aspek-aspek khusus, proyek Web biasanya dibagi dengan masalah. Hasilnya adalah bahwa subkelompok dari tim proyek web sama-sama terdiri berkaitan dengan keahlian mereka, berarti bahwa banyak perkembangan paralel untuk dikoordinasikan (lihat bagian 9.2.2).

Ukuran kecil: Karena siklus pembangunan pendek dan sering kali agak terbatas anggaran, Web tim proyek terdiri dari sejumlah kecil anggota tim (sekitar enam rata-rata, dan jarang lebih dari sepuluh (Reifer 2002, McDonald dan Welland 2001a)).

Aspek penting adalah bahwa setiap anggota sepenuhnya memahami peran dan tanggung jawab. Jika peran dan tanggung jawab tumpang tindih, maka anggota tim, bersama dengan manajer tim atau manajer proyek, bertanggung jawab untuk menyelesaikan konflik yang mungkin timbul dalam proyek tersebut. Karena siklus pengembangan proyek web yang singkat, juga penting untuk menyelesaikan konflik dengan cepat, bahkan meskipun ini dapat mengakibatkan solusi suboptimal dari perspektif menyeluruh. Gambar 9-3 menunjukkan apa komposisi khas tim proyek web akan terlihat seperti.

Setiap dari peran yang dapat dibagi lagi menjadi bidang-bidang khusus. Misalnya, "software engineer" dapat termasuk arsitek software, (Web) programmer, administrator database, Web master, dll.

9.3.3 Proyek Web Manager

Tugas utama dari seorang manajer proyek web - yang membedakan dia atau dia dari perangkat lunak tradisional manajer proyek - adalah bahwa ia harus memimpin sebuah tim yang terdiri dari orang-orang dengan kemampuan yang berbeda dan kompetensi. Anggota tim spesialis dengan derajat pengetahuan yang berbeda, kebiasaan, dan nilai-nilai. Setiap jenis pengembang tampaknya mengalami masalah dalam mengenali dan menghargai kontribusi yang dibuat oleh pengembang yang berasal dari latar belakang pendidikan lainnya (McDonald dan Welland 2001a). Seorang manajer proyek web harus terutama menghadapi tantangan sosial sebagai berikut:

• Inspire anggota proyek semua dengan tujuan proyek. Jadilah mampu memimpin tim multidisiplin.

• Buat kesediaan dan kesiapan untuk (demokratis) kerjasama.

• Terus-menerus memotivasi tim dan menyelesaikan konflik.

• Sejak tim proyek sebagian besar anggota masih muda dan berpengalaman, manajer proyek web tidak hanya harus memimpin mereka, tetapi juga harus melatih mereka di bidang komunikasi dan sosial kompetensi, dan memotivasi mereka untuk berpartisipasi dalam pendidikan lanjutan.

Ada dua kekhasan untuk tugas ini, dibandingkan dengan proyek perangkat lunak konvensional:

1. Transisi dari proyek Web dari pengembangan untuk menggunakan teratur adalah cairan. Selain itu, seringkali sulit bagi manajer proyek Web untuk menentukan kapan aplikasi Web telah telah sepenuhnya dibawa ke dalam operasi, dan dengan demikian ketika proyek pembangunan sesungguhnya telah dan teratur menggunakan diselesaikan (termasuk perawatan) dari aplikasi Web yang dikembangkan memiliki mulai x0d.

2. Selain itu, sering tidak jelas apakah atau tidak seorang manajer proyek Web masih harus terlibat dengan proyek setelah aplikasi tersebut telah pindah ke fase operasi dan pemeliharaan. ini menjadi lebih kritis karena kenyataan bahwa, karena dengan pengetahuan khusus tunggal anggota tim proyek web, kontak utama dengan pelanggan dalam proyek-proyek web tidak dipelihara melalui manajer proyek Web, tetapi langsung melalui para ahli (lihat Burdmann 1999).

Alat untuk Manajemen Proyek Web

Karena pengembang web terutama akrab dengan Web, alat-alat berbasis web yang idealnya cocok untuk manajemen proyek web. berdasarkan manajemen proyek alat-Web, seperti PHProjekt ( http://www.PHProjekt.com ), memungkinkan untuk menangani tugas-tugas manajemen proyek tradisional, seperti seperti waktu perekaman, memelihara buku harian, pengarsipan dan versioning dokumen hasil , penebangan, papan tulis, chat room, e-mail distribusi, dll, untuk mendukung tim web komunikasi. dari alat-alat ini bahkan gratis untuk penggunaan pribadi pendidikan. dan banyak. Alat untuk Manajemen Konfigurasi Sebuah manajemen konfigurasi sistem (Dart 2000) adalah alat penting untuk mendukung tertib proses proyek. Dalam rekayasa Web, manajemen konfigurasi digunakan terutama untuk berikut tugas karena siklus iterasi pendek:

• mengelola versi dari kode sumber dan isi aplikasi, dan akses mengatur ke konten,

• menciptakan konfigurasi, baik untuk kode sumber dan isi aplikasi untuk mendirikan suatu kebijakan

rilis teratur,

• mengelola permintaan perubahan dan penanganan kesalahan dan cacat, negara mengendalikan

dokumen

• untuk memonitor kemajuan proyek

9.4.2 Ukuran Kemajuan

Saat mengembangkan aplikasi Web, seringkali hanya dua dokumen yang diciptakan (McDonald dan Welland 2001a). Pertama Dokumen adalah sistem spesifikasi, berisi hasil dari persyaratan dan analisis desain keputusan. "kedua" dokumen selesai Web aplikasi. Aplikasi Web biasanya dibuat dalam urutan cepat hasil antara dengan cara iteratif dan evolusi prototyping sangat. Sharma (2001) menunjukkan bahwa iterasi langkah-langkah harus sekecil mungkin dan memiliki fungsi jelas. Masing-masing langkah-langkah ini harus diikuti dengan review, idealnya melibatkan pelanggan. Pendekatan ini identik dengan Rapid Application Development (RAD), suatu teknik yang memiliki sudah dikenal dan sering dipraktekkan dalam pengembangan perangkat lunak tradisional selama hampir dua puluh tahun. Pengembangan aplikasi Web ini ditandai oleh kenyataan bahwa kebutuhan mereka umumnya tidak dapat diperkirakan sebelumnya, yang berarti bahwa ukuran proyek dan biaya tidak dapat diantisipasi (Reifer 2002). Tabel 9-6 meringkas rekomendasi untuk penggunaan yang tepat alat-alat dalam proyek Web.

9.4.3 Risiko Proyek

Risiko dalam Pengembangan Software

Risiko adalah kemungkinan suatu kegiatan untuk menyebabkan kerugian atau kerusakan. Namun, kami berbicara tentang risiko hanya jika konsekuensinya pasti. Ini berarti bahwa risiko merupakan masalah potensial (Thayerdan Fairley 1997). Tidak ada hal seperti proyek tanpa resiko (dan masalah yang diakibatkan dari mereka). "Jika proyek ini berhasil, maka tidak berhasil karena tidak ada resiko dan masalah, tetapi karena risiko dan masalah telah ditangani berhasil" (Rook 1986). Setiap risiko juga merupakan peluang ekonomi. Sebuah siklus pengembangan yang lebih singkat dapat diterjemahkan ke dalam diinginkan karena tepi waktu-ke's memasarkan produk.-Persaingan usaha yang menggunakan teknologi baru dapat membuka segmen pasar tambahan. Misalnya, penggunaan. Untuk NET platform memungkinkan deployment ke ponsel-ponsel berbasis Microsoft sebagai perangkat sasaran mungkin. Yang penting risiko yang paling dalam pengembangan perangkat lunak telah diidentifikasi dan diperbarui secara teratur oleh B. Boehm , salah satu pelopor dalam bidang manajemen risiko dalam rekayasa perangkat lunak, karena 1980-an. Tabel 9-7 (diadaptasi dari Boehm 1998) membandingkan risiko sepuluh yang paling penting untuk proyek perangkat lunak di tahun 1980 dibandingkan dengan mereka pada 1990-an.