Kamis, 26 Maret 2009

Case Lingkungan

CASE adalah penggunaan komputer berbasis perangkat lunak dalam mendukung proses pembangunan.
Definisi ini mencakup semua jenis komputer berbasis dukungan apapun yang manajerial, administratif, atau aspek-aspek teknis dari setiap bagian dari perangkat lunak proyek.

Apa itu CASE Tool?

Konsentrasi pada awal adalah program bantuan alat-alat seperti penerjemah, kompiler, assemblers, prosesor makro, dan linkers dan loader. Namun, seperti komputer menjadi lebih kuat dan perangkat lunak yang berjalan pada mereka tumbuh lebih besar dan lebih kompleks, yang mendukung berbagai macam alat mulai berkembang. Secara khusus, penggunaan interaktif-waktu berbagi sistem untuk pengembangan perangkat lunak mendorong pengembangan program editor, debuggers, kode analyzers, dan program-pretty printer.
Seperti komputer menjadi lebih besar dan digunakan, untuk kebutuhan yang lebih luas gagasan pengembangan software menjadi jelas. Pengembangan perangkat lunak yang akan datang sebagai:
Besar-besaran yang melibatkan aktivitas signifikan upaya untuk mendirikan persyaratan, desain solusi yang tepat, yang menerapkan solusi, menguji solusi dari kebenaran, dan dokumen fungsi sistem final.
Jangka panjang proses produksi perangkat lunak yang memerlukan perangkat tambahan melalui masa-nya keluar. Implikasi dari ini adalah bahwa struktur dari perangkat lunak harus mengaktifkan fungsi baru dapat ditambahkan dengan mudah, dan catatan rinci tentang persyaratan, desain, pelaksanaan, dan pengujian dari sistem harus dipelihara untuk membantu maintainers perangkat lunak. Selain itu, beberapa versi dari semua seni yang dihasilkan selama proyek harus dijaga untuk memfasilitasi grup pengembangan sistem perangkat lunak.
Grup aktivitas yang melibatkan interaksi di antara sejumlah orang selama setiap tahap kehidupan-nya. Kelompok masyarakat harus dapat bekerja sama, dalam dikontrol dengan cara, dan konsisten dilihat dari keadaan proyek.

Pandangan ini dari "pemrograman di besar" menghasilkan berbagai dukungan peralatan dikembangkan. Pada awalnya, alat-alat yang tidak terlalu canggih dalam mendukung mereka. Namun, dua kemajuan penting memiliki efek yang sangat meningkatkan kecanggihan alat ini:
Penelitian di bidang pengembangan software proses telah menimbulkan sejumlah metode desain perangkat lunak (misalnya, Jackson Structured Pemrograman, yang Yourdon Metode) yang dapat digunakan sebagai dasar untuk pengembangan piranti lunak. Metode ini cocok untuk yang ideal otomatis alat yang mendukung dalam mereka diperlukan langkah-langkah metode kepatuhan, telah notations grafis yang berkaitan dengan mereka, dan menghasilkan sejumlah besar seni (misalnya, diagram, penjelasan, dan dokumentasi) yang diperlukan untuk dicatat dan dipelihara.
Mesin ini relatif memiliki kapasitas penyimpanan memori besar, prosesor cepat, dan canggih-bit dipetakan menampilkan grafik yang mampu menampilkan grafik, model grafis, dan diagram.


Kita lihat semua di atas sebagai alat CASE tools dan menempatkan definisi sebagai berikut:
CASE adalah perangkat komputer yang berbasis produk yang bertujuan untuk mendukung satu atau lebih kegiatan rekayasa perangkat lunak dalam proses pengembangan software.

Penulis lainnya telah berusaha untuk membuat finer-grained distinctions berbeda antara ent kelas CASE alat bersama sejumlah dimensi. Distinctions yang paling umum adalah:
1.Antara orang-alat yang bersifat interaktif (seperti desain mendukung metode alat) dan orang-orang yang tidak (seperti kompilator). Mantan kelas kadang-kadang disebut CASE tool, sedangkan yang kedua kelas yang disebut alat-alat pembangunan.

2. Antara orang-alat yang mendukung kegiatan di awal siklus hidup dari soft ware proyek (seperti persyaratan desain dan dukungan alat-alat) dan orang-orang yang digunakan nanti dalam siklus hidup (seperti kompiler dan alat uji dukungan). Mantan kelas kadang-kadang disebut front-end CASE tool, dan yang kedua adalah kembali disebut-akhir CASE tools.

3. Antara orang-alat yang khusus untuk tertentu siklus hidup-langkah atau domain (seperti persyaratan perangkat atau alat coding) dan orang-orang yang umum di sejumlah langkah siklus hidup atau domain (seperti dokumentasi atau alat konfigurasi manajemen alat). Mantan kelas kadang-kadang disebut vertikal CASE tool, sedangkan yang kedua kelas dipanggil horisontal CASE tools.

Sayangnya, semua ini adalah distinctions bermasalah. Pada kasus pertama, sulit untuk memberikan cara yang mudah dan konsisten definisi `interaktif 'yang berarti. Sebagai contoh, beberapa kelas Kompiler prompt pengguna untuk mendapatkan informasi. Pada kasus kedua dan ketiga, ada asumsi tentang metode dan pendekatan yang digunakan (misalnya, berorientasi objek pengembangan perangkat lunak, atau prototipe berorientasi pembangunan), maka kami penggunaan yang lebih luas, termasuk definisi tentang alat CASE.


Apa CASE Lingkungan itu?

Generasi pertama dari alat CASE terkonsentrasi ke pengembang besar di mana otomatisasi yang terpencil tugas seperti dokumen produksi, kontrol versi dari kode sumber, desain dan metode dukungan. Sementara keberhasilan yang telah dicapai dalam mendukung tugas-tugas khusus seperti itu, kebutuhan untuk `pulau otomatisasi 'untuk terhubung secara jelas telah diakui oleh banyak generasi pertama alat CASE pengguna. Misalnya, khas pengembangan skenario yang memerlukan desain yang terkait erat dengan hasil kode sumber mereka, bahwa mereka akan dijelaskan secara konsisten dalam kumpulan dokumentasi, dan bahwa semua seni akan terpusat di bawah kontrol versi. Alat yang mendukung tugas-tugas masing-masing desain, coding, dokumentasi, dan kontrol versi harus terintegrasi jika mereka mendukung jenis skenario efektif.

Bahkan, seperti alat-alat yang lebih sering digunakan sebagai komponen dalam jauh lebih rumit pengembangan software dukungan infrastruktur yang tersedia untuk perangkat lunak insinyur. J typical CASE lingkungan terdiri dari sejumlah alat CASE operasi umum pada platform perangkat keras dan perangkat lunak. Perlu diketahui juga bahwa ada beberapa kelas yang berbeda dari pengguna CASE lingkungan. Beberapa pengguna, seperti pengembang perangkat lunak dan manajer, ingin menggunakan alat CASE untuk mendukung mereka dalam mengembangkan aplikasi dan sistem pemantauan kemajuan proyek. Di sisi lain, alat integrators bertanggung jawab untuk memastikan bahwa perangkat beroperasi pada platform perangkat keras dan perangkat lunak yang tersedia, dan administrator sistem peran adalah untuk menjaga dan memperbarui platform perangkat keras dan perangkat lunak itu sendiri.

Perlu diketahui juga bahwa para pengembang perangkat lunak, perangkat integrators, sistem administrator dan berinteraksi dengan beberapa CASE tools dan komponen lingkungan yang berupa perangkat lunak dan perangkat keras dari platform CASE lingkungan. Adalah ini interaksi antara berbagai komponen CASE lingkungan dan orang-orang di antara pengguna dan komponen, yaitu unsur-unsur utama dari lingkungan CASE. Dalam banyak hal pendekatan terhadap pengelolaan, pengawasan, dan dukungan dari interaksi lingkungan CASE membedakan satu dari yang lain. Kita dapat menentukan CASE oleh lingkungan yang menekankan pentingnya interaksi ini:
A CASE lingkungan merupakan kumpulan CASE tools dan komponen lainnya bersama-sama dengan pendekatan integrasi yang mendukung sebagian besar atau semua interaksi yang terjadi antar komponen lingkungan, dan antara pengguna lingkungan hidup dan lingkungan itu sendiri.

Bagian penting dari definisi ini adalah bahwa interaksi antara komponen-komponen lingkungan yang didukung dengan lingkungan. Apa yang membedakan dari lingkungan CASE acak dari tindakan percampuran CASE tools adalah bahwa ada beberapa hal yang disediakan di lingkungan yang memfasilitasi interaksi antara orang-alat. Ini `sesuatu 'mungkin suatu mekanisme fisik seperti berbagi data atau pesan sistem broadcast, sebuah gagasan konseptual seperti berbagi filosofi pada alat arsitektur atau semantik umum tentang objek sebagai alat memanipulasi, atau beberapa kombinasi dari hal-hal ini.

Kisaran kemungkinan cara menyediakan `lem 'yang menghubungkan CASE tools sama pasti mengarah ke spektrum dari pendekatan untuk melaksanakan CASE lingkungan. Salah satu poin yang kami buat dalam buku ini adalah bahwa ada banyak cara untuk membangun CASE lingkungan. Meskipun banyak orang yang berkonsentrasi pada pemilihan CASE peralatan dan komponen yang saat assembling CASE environ ment, sebagian besar mereka mengabaikan kebutuhan untuk mendukung interaksi di antara mereka yang komponen. Kami kurang berkonsentrasi pada komponen-komponen yang harus dipilih, dan banyak lagi tentang cara yang dipilih komponen dapat dibuat untuk bekerja sama secara efektif. Baik yang dipilih pendekatan komponen interaksi sesuai yang diberikan dalam konteks akan bergantung pada banyak faktor yang tumpang tindih: kebutuhan yang organisasi tersebut, sumber daya yang tersedia, dan sebagainya. J rinci penilaian ini terkait faktor dan kendala yang diperlukan untuk menentukan CASE lingkungan paling sesuai dengan masalah ini.

Agile pengembangan software

Agile pengembangan software adalah sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama. Agile metodologi umumnya mempromosikan proyek yang mendorong proses pengelolaan sering inspeksi dan adaptasi, sebuah filosofi yang mendorong kepemimpinan tim, mandiri dan akuntabilitas organisasi, satu set teknik praktek terbaik yang memungkinkan untuk pengiriman cepat dari perangkat lunak yang berkualitas tinggi, dan usaha pendekatan yang aligns pembangunan dengan kebutuhan pelanggan dan tujuan perusahaan. Konseptual kerangka dasar-dasar ini akan ditemukan di modern pendekatan manajemen operasional dan analisis seperti bersandar manufaktur, lunak sistem metodologi, pidato bertindak teori (pendekatan percakapan jaringan), dan Six Sigma.

Pendahuluan

Ada banyak metode pengembangan Agile spesifik. Sebagian besar mempromosikan pembangunan Iterasi, tim, kolaborasi, dan proses adaptasi sepanjang siklus hidup proyek.
Agile metode memilih untuk melakukan hal-hal kecil akan menambahkan dengan sedikit perencanaan, daripada perencanaan jangka panjang. Iterasi bingkai waktu yang singkat (yang dikenal sebagai 'timeboxes') yang terakhir biasanya dari satu sampai empat bulan. Setiap perulangan adalah bekerja dengan tim yang lengkap melalui siklus pengembangan perangkat lunak, termasuk perencanaan, analisis persyaratan, desain, coding, unit testing, dan penerimaan pengujian bila bekerja produk menunjukkan kepada pemangku kepentingan. Ini membantu untuk meminimalkan risiko secara keseluruhan, dan memungkinkan proyek tersebut untuk beradaptasi dengan perubahan yang cepat. Dokumentasi yang dihasilkan seperti yang diminta oleh pihak yang berkepentingan. Perulangan yang mungkin tidak cukup menambahkan fungsi untuk menjamin produk melepaskannya ke pasar, namun tujuan adalah untuk memiliki sebuah rilis yang tersedia (dengan sedikit bug) di akhir setiap perulangan. Iterasi beberapa mungkin diperlukan untuk melepaskan produk atau fitur baru.

Komposisi tim dalam proyek Agile biasanya lintas fungsional dan mengorganisir diri tanpa pertimbangan untuk perusahaan yang ada hirarki korporat atau peran anggota tim. Anggota tim biasanya bertanggung jawab untuk tugas-tugas yang memberikan fungsi yang perulangan. Mereka memutuskan untuk diri mereka sendiri bagaimana mereka akan dijalankan selama perulangan.

Agile menekankan metode tatap muka komunikasi tertulis atas dokumen, ketika bekerja di lokasi yang sama, atau di lokasi yang berbeda namun memiliki video kontak harian, berkomunikasi oleh videoconferencing, suara, e-mail dll

Paling Agile tim berada dalam satu kantor buka untuk memfasilitasi komunikasi seperti itu. Tim biasanya ukuran kecil (5-9 orang) untuk membantu tim komunikasi dan kerjasama tim yang lebih mudah. Pengembangan usaha yang lebih besar dapat diberikan oleh beberapa tim bekerja ke arah tujuan yang berbeda atau bagian dari suatu usaha. Hal ini mungkin juga memerlukan koordinasi prioritas di seluruh tim.

Apapun perkembangan disiplin diperlukan, Agile setiap tim akan berisi perwakilan pelanggan. Orang ini yang ditunjuk oleh para pemangku kepentingan untuk bertindak atas nama mereka dan membuat komitmen untuk menjadi pribadi yang tersedia bagi para pengembang untuk pertengahan perulangan masalah-domain pertanyaan. Pada akhir setiap perulangan, stakeholder dan perwakilan pelanggan meninjau kemajuan dan mengevaluasi kembali prioritas dengan maksud untuk mengoptimalkan laba atas investasi dan menjamin alignment dengan kebutuhan pelanggan dan tujuan perusahaan.

Kebanyakan metodologi Agile termasuk rutin sehari-hari dan formal tatap muka komunikasi antara anggota tim. Ini secara khusus meliputi wakil pelanggan dan stakeholder tertarik sebagai pengamat. Dalam sesi singkat, laporan kepada anggota tim lainnya masing-masing apa yang mereka lakukan kemarin, apa yang mereka ingin lakukan hari ini, dan apa yang mereka roadblocks. Ini berdiri tatap muka komunikasi mencegah masalah yang tersembunyi.

Agile menekankan metode kerja perangkat lunak sebagai dasar mengukur kemajuan. Dikombinasikan dengan pilihan untuk tatap muka komunikasi, Agile metode biasanya menghasilkan dokumentasi tertulis kurang daripada metode lainnya. Agile dalam sebuah proyek, dan dokumentasi lainnya proyek seni semua peringkat bekerja sama dengan produk. Pemangku kepentingan yang mendorong mereka untuk memprioritaskan hasil perulangan dengan lainnya secara eksklusif berbasis pada nilai usaha dirasakan di awal perulangan.

Alat dan teknik khusus seperti integrasi berkesinambungan, otomatis atau xUnit tes, pasangan pemrograman, uji didorong pengembangan, desain pola, domain-driven desain, kode refactoring dan teknik yang sering digunakan untuk memperbaiki dan meningkatkan kualitas proyek agility.

Sejarah

Modern definisi Agile pengembangan software berkembang pada pertengahan tahun 1990-an sebagai bagian dari reaksi terhadap "berat" metode, dikatakan oleh seorang typified berat diatur, regimented, Mikro dikelola menggunakan waterfall model pembangunan. Proses ini berasal dari air terjun menggunakan model yang dianggap sebagai birokrasi, lambat, demeaning, dan tidak konsisten dengan cara yang sebenarnya pengembang perangkat lunak melakukan kerja efektif. Kasus dapat dibuat yang Agile dan pengembangan metode yg berulang adalah pembangunan kembali ke praktek mulai awal dalam sejarah pengembangan piranti lunak. Pada mulanya, Agile metode yang disebut "metode ringan." Pada tahun 2001, anggota tokoh masyarakat bertemu di Snowbird, Utah, dan mengadopsi nama "metode Agile." Nantinya, sebagian dari orang-orang yang membentuk Aliansi Agile, sebuah organisasi nirlaba yang mempromosikan pembangunan Agile.

Suatu proses pengembangan software adaptif diperkenalkan dalam karya oleh Edmonds (1974). terkemuka awal Agile metode mencakup banyak (1995), Crystal Clear, Extreme Programming (1996), adaptive Software Development, Fitur Terutama Pembangunan dan Pengembangan Sistem Dinamis Metode (DSDM) (1995). Ini biasanya disebut sebagai metodologi Agile sejak Agile Manifesto telah diterbitkan pada tahun 2001.


Prinsip belakang metode Agile

Agile metode keluarga proses pembangunan, tidak ada satu pendekatan untuk pengembangan piranti lunak. Pada tahun 2001, angka 17 menonjol [4] di bidang pembangunan Agile (kemudian disebut "light-weight metode") berkumpul di Snowbird resor ski di Utah untuk membahas cara-cara untuk membuat perangkat lunak yang ringan, lebih cepat, lebih banyak orang-centric jalan. Mereka menciptakan Agile Manifesto, secara luas dianggap sebagai kanonik definisi pembangunan dan Agile Agile dengan prinsip-prinsip. Agile Manifesto yang menyatakan:

Kita lebih baik uncovering cara pengembangan perangkat lunak oleh tepat dan membantu orang lain melakukannya. Melalui karya ini kita telah datang ke nilai:
- Individu dan melalui proses interaksi dan alat-alat
- Bekerja lebih komprehensif dokumentasi perangkat lunak
- Pelanggan kolaborasi melalui negosiasi kontrak
- Merespon perubahan atas menyusul rencana
- Itulah sebabnya, saat ada dalam nilai item di sebelah kanan, kami nilai item di sebelah kiri lebih.

Beberapa prinsip-prinsip di belakang Agile Manifesto adalah:
- Kepuasan pelanggan oleh cepat, pengiriman yang berguna dari perangkat lunak
- Bekerja software sering disampaikan (bulan daripada bulan)
- Bekerja software kepala sekolah mengukur kemajuan
- Bahkan akhir perubahan dalam persyaratan yang menyambut
- Dekat, harian bisnis kerjasama antara masyarakat dan pengembang
- Tatap muka percakapan yang bentuk komunikasi (Co-location)
- Proyek yang dibangun sekitar motivasi individu, yang harus dipercaya
- Terus perhatian untuk keunggulan teknis dan desain
- Kesederhanaan
- Cukup mengatur tim
- Regular adaptasi untuk mengubah keadaan

The manifesto spawned gerakan dalam industri perangkat lunak yang dikenal sebagai Agile pengembangan piranti lunak.

Pada tahun 2005, Alistair Cockburn dan Jim Highsmith lain mengumpulkan sekelompok orang-ahli manajemen, kali ini dan menulis sebuah addendum, yang dikenal sebagai PM Deklarasi saling tergantung.
Berfungsinya prinsip Agile dapat ditemukan di bersandar pabrikasi dan Six Sigma. Konsep-konsep ini meliputi pemeriksaan kesalahan, menghilangkan sampah, membuat aliran, menambahkan nilai pelanggan, dan pemberdayaan pekerja. Konsep-konsep yang pertama resmi espoused dalam 14 prinsip yang Toyota Way, dua pilar dari Toyota Production System (Just-in-time dan otomatisasi pintar), maka 5S metodologi, dan Deming dari 14 poin. Ini telah diringkas dalam tujuh poin yang bersandar pengembangan piranti lunak.

Perbandingan dengan metode lain

Agile metode kadang karakteristik sebagai di seberang akhir spektrum dari "rencana-driven" atau "disiplin" metode. Perbezaan ini adalah menyesatkan, karena secara tidak langsung bahwa Agile metode "unplanned" atau "bandel". Perbedaan yang lebih akurat adalah metode yang ada di sebuah kontinum dari "adaptif" untuk "input". [6] metode Agile berbaring di "adaptif" samping ini kontinum.

Adaptive metode fokus beradaptasi dengan cepat untuk mengubah realitas. Bila kebutuhan proyek berubah, perubahan yang adaptif tim juga. Adaptif tim yang akan mengalami kesulitan menjelaskan apa yang akan terjadi di masa depan. Yang jauh tanggal, semakin kabur sebuah metode adaptif akan tentang apa yang akan terjadi pada tanggal tersebut. Sebuah tim adaptif dapat melaporkan apa tugas-tugas yang dilakukan minggu depan, namun hanya merupakan fitur yang direncanakan untuk bulan depan. Ketika ditanyakan tentang rilis enam bulan dari sekarang, sebuah tim adaptif mungkin hanya dapat melaporkan pernyataan misi untuk rilis atau pernyataan diharapkan nilai vs biaya.

Metode input, kontras, fokus pada perencanaan masa depan secara rinci. A input tim dapat melaporkan apa fitur dan tugas-tugas yang direncanakan untuk seluruh panjang dari proses pembangunan. Input tim memiliki kesulitan mengubah arah. Biasanya rencana awal dioptimalkan untuk mengubah arah tujuan dan dapat menyebabkan menyelesaikan pekerjaan yang harus dibuang dan dilakukan atas berbeda. Input tim akan sering lembaga perubahan kontrol papan untuk memastikan bahwa hanya perubahan yang paling dianggap berharga.

Agile ada banyak metode umum dengan "Rapid Application Development" teknik dari 1980/90s sebagai espoused oleh James Martin dan lain-lain.

Contrasted dengan pengembangan metode yg berulang

Agile berbagi metode lainnya yg berulang incremental dan pengembangan metode 'penekanan pada bangunan di releasable jangka waktu singkat. Agile pembangunan lainnya berbeda dari model-model pembangunan: model ini dalam jangka waktu yang diukur dalam bulan daripada bulan dan pekerjaan yang dilakukan dalam cara yang sangat kolaboratif. Metode paling Agile juga berbeda memperlakukan mereka sebagai jangka waktu ketat timebox.

Contrasted dengan model air terjun

Agile pembangunan sedikit memiliki kesamaan dengan model air terjun. Pada 2009, model air terjun yang masih umum dipakai. [7] The waterfall model adalah yang paling terstruktur dari metode, langkah melalui persyaratan-capture, analisis, desain, coding, dan pengujian yang ketat dalam, pra-urutan direncanakan. Kemajuan biasanya diukur dari segi seni deliverable: kebutuhan spesifikasi, desain dokumen, rencana ujian, kode review dan sejenisnya.

Masalah utama dengan model air terjun adalah kejur pembagian proyek menjadi tahap terpisah, sehingga komitmen yang dibuat pada awal, dan sulit untuk bereaksi terhadap perubahan dalam persyaratan. Iterasi yang mahal. Hal ini berarti air terjun model ini mungkin tidak cocok jika persyaratan yang tidak dipahami atau kemungkinan perubahan dalam pelaksanaan proyek. [8]

Agile metode, kontras, menghasilkan sepenuhnya dikembangkan dan diuji fitur (tapi sangat kecil subset dari seluruh) setiap beberapa bulan. Penekanan adalah pada mendapatkan bagian terkecil dari fungsi bekerja untuk memberikan nilai awal bisnis, dan terus memperbaiki dan menambahkan fungsionalitas lebih lanjut sepanjang kehidupan proyek.

Dalam hal ini, kritik Agile Mei menegaskan bahwa fitur ini tidak ditempatkan dalam konteks dari keseluruhan proyek, menyelesaikan itu, jika sponsor dari proyek prihatin tentang menyelesaikan tujuan tertentu dengan waktu yang ditetapkan atau anggaran, Agile mungkin tidak sesuai. Agile Proponents dari pengembangan counter yang adaptasi dari banyak orang [9] menunjukkan bagaimana Agile augmented metode untuk memproduksi dan terus meningkatkan rencana strategis.

Beberapa tim Agile menggunakan model air terjun dalam skala kecil, mengulangi seluruh siklus air terjun dalam setiap perulangan. [10] Tim lain, terutama Extreme Pemrograman tim, bekerja pada kegiatan secara bersamaan.

Contrasted dengan "koboi coding"

Cowboy coding adalah tidak adanya metode yang ditetapkan: anggota tim merasa mereka melakukan apa yang benar. Agile's sering pembangunan kembali rencana evaluasi, pada tatap muka komunikasi, dan relatif jarang menggunakan dokumen terkadang menyebabkan orang untuk merancukan dengan koboi coding. Agile tim Namun, melakukan tindak ditetapkan (dan sering sangat disiplin dan teliti) proses.

Seperti semua metode pembangunan, keahlian dan pengalaman pengguna yang menentukan tingkat keberhasilan dan / atau penyalahgunaan seperti aktivitas. Kaku kontrol yang lebih sistematis tertanam dalam proses menawarkan tingkat akuntabilitas yang lebih kuat dari pengguna. Penurunan yang baik ditujukan prosedur dapat mengakibatkan kegiatan yang dikategorikan koboi sering coding.

Kesesuaian metode Agile

Ada sedikit jika ada konsensus tentang jenis proyek perangkat lunak yang cocok untuk metodologi Agile. Banyak organisasi besar mengalami kesulitan mampu menjembatani kesenjangan antara air terjun yang lebih tradisional dan metode yang Agile satu.

Skala besar Agile pengembangan piranti lunak tetap aktif penelitian daerah.
Beberapa hal yang dapat berdampak negatif terhadap keberhasilan yang Agile proyek adalah:
Pengembangan usaha skala besar (> 20 pengembang), meskipun skala strategi dan bukti yang bertentangan [16] telah dijelaskan.
Didistribusikan pengembangan usaha (non-co-terletak tim). Strategi yang telah dijelaskan dalam Bridging the Distance [17] dan Menggunakan Software Agile Proses dengan Offshore Pembangunan [18]
Perintah dan kontrol budaya perusahaan
Memaksa seorang Agile proses pembangunan di tim

Beberapa berhasil Agile proyek-proyek berskala besar telah didokumentasikan. BT memiliki ratusan pengembang terletak di Inggris, Irlandia dan India yang bekerja pada proyek kolaborasi dan menggunakan metode Agile. Walaupun masih niscaya timbul pertanyaan tentang kesesuaian Agile beberapa metode untuk jenis proyek tertentu, akan muncul bahwa skala atau geografi, dengan sendirinya, tidak perlu hambatan untuk sukses.

Barry Boehm dan Richard Turner menunjukkan bahwa analisa resiko digunakan untuk memilih antara adaptif ( "Agile") dan input ( "rencana-driven") metode. [14] Para penulis menunjukkan bahwa setiap sisi kontinum memiliki rumah tanah sebagai berikut :

Agile rumah tanah:
Rendah criticality
Senior pengembang
Persyaratan terlalu sering berubah
Beberapa pengembang
Budaya yang berkembang pada kekacauan

Rencana-driven rumah tanah:
Tinggi criticality
SMP pengembang
Persyaratan yang tidak berubah terlalu sering
Banyak pengembang
Budaya yang menuntut agar

Agile metode dan metode jahitan

Dalam literatur, istilah yang berbeda merujuk pada gagasan metode adaptasi, termasuk 'metode jahitan', 'metode fragmen adaptasi' dan 'metode rekayasa berubah'. Metode tailor didefinisikan sebagai:

Sebuah proses atau kemampuan manusia yang responsif melalui agen perubahan, dan dinamis interplays antara konteks, tujuan, dan metode fragmen menentukan pendekatan pengembangan sistem yang spesifik untuk proyek situasi. [19]

Potensial, hampir semua Agile metode metode yang sesuai untuk memperbaiki. Bahkan DSDM metode yang digunakan untuk tujuan ini dan telah berhasil dirancang dalam CMM konteks. [20] Situasi-kesesuaian dapat dianggap sebagai ciri-bedakan antara Agile metode tradisional dan metode pengembangan perangkat lunak, dengan yang kedua yang relatif lebih kaku dan menentukan. Implikasinya adalah praktek yang Agile metode membolehkan tim proyek untuk mengadaptasi praktek kerja sesuai dengan kebutuhan masing-masing proyek. Praktek yang konkret kegiatan dan produk yang merupakan bagian dari metode kerangka. Pada tingkat yang lebih ekstrim, filosofi di belakang metode, yang terdiri dari sejumlah prinsip, dapat disesuaikan (Aydin, 2004). [19]

Extreme Programming (XP) menjadikan perlunya adaptasi metode eksplisit. Salah satu dasar pemikiran dari XP adalah satu proses yang tidak sesuai setiap proyek, tetapi praktik yang harus disesuaikan dengan kebutuhan masing-masing proyek. Meskipun sebagian dari adopsi XP praktek, seperti yang diusulkan oleh Beck, telah dilaporkan pada beberapa kesempatan. J tailor praktek yang diusulkan oleh mehdi Mirakhorli yang menyediakan peta jalan yang memadai dan pedoman untuk beradaptasi semua praktek. RDP Praktek dirancang untuk mengubah XP. Praktik ini pertama kali diusulkan sebagai karya yang panjang dalam penelitian APSO lokakarya di konferensi ICSE 2008 dan ia adalah satu-satunya metode yang diusulkan dan berlaku untuk mengubah XP. Walaupun secara khusus solusi untuk XP, praktik ini memiliki kemampuan untuk memperluas metodologi lainnya. Pada awalnya sekilas, praktik ini nampaknya dalam kategori statis metode adaptasi tetapi pengalaman dengan RDP Practice mengatakan bahwa hal itu dapat diperlakukan seperti metode adaptasi dinamis. Perbedaan antara metode adaptasi statis dan dinamis metode adaptasi yang halus. [22] Kunci asumsi statis metode adaptasi di belakang adalah bahwa proyek konteks yang diberikan di awal proyek dan masih tetap selama pelaksanaan proyek. Hasilnya adalah definisi statik dari proyek konteks. Dengan definisi seperti ini, peta rute dapat digunakan untuk menentukan struktur fragmen metode harus digunakan untuk proyek tertentu, berdasarkan kriteria standar set. Dinamis metode adaptasi, kontras, menganggap bahwa proyek-proyek yang terletak di dalam konteks baru. Konteks baru yang menunjukkan bahwa proyek harus berurusan dengan tiba-tiba faktor-faktor yang mempengaruhi kondisi relevan tetapi tidak predictable. Ini juga berarti bahwa konteks proyek yang tidak tetap, tetapi berubah selama pelaksanaan proyek. Dalam kasus menentukan rute peta tidak sesuai. Praktek implikasi dinamis metode adaptasi adalah manajer proyek yang seringkali harus mengubah struktur fragmen atau bahkan perubahan fragmen baru, selama pelaksanaan proyek (Aydin dkk, 2005). [22]

Agile dan metode manajemen proyek

Agile metode yang berbeda untuk gelar besar dalam cara mereka meliputi manajemen proyek. Beberapa metode supplemented dengan pedoman tentang manajemen proyek, tetapi pada umumnya tidak mendukung komprehensif.
PRINCE2 telah diusulkan sebagai cocok, melengkapi sistem manajemen proyek.

Project management tool untuk pengembangan tim Agile

Sejumlah alat-alat manajemen proyek secara khusus ditujukan untuk pengembangan Agile. Mereka dirancang untuk membantu merencanakan, melacak, menganalisa dan mengintegrasikan bekerja. Alat ini memainkan peran penting dalam pengembangan Agile, sebagai alat Manajemen Pengetahuan.

Fitur umum adalah: Versi kontrol integrasi, kemajuan pelacakan, alokasi pekerjaan mudah, dan terpadu rilis perulangan perencanaan, forum diskusi, dan pelaporan dan pelacakan software cacat.

Populer Agile pengembangan alat meliputi:
AccuRev J komersial Agile SCM, kontrol versi dan mengganti alat manajemen
Anthill Pro: A komersial membangun manajemen dan berkesinambungan integrasi alat
Bugzilla An open source mengubah manajemen alat
CruiseControl An open source terus integrasi alat
Listrik Cloud J komersial membangun manajemen dan berkesinambungan integrasi alat
Rally: Sebuah proyek komersial Agile alat manajemen
Subversi An open source versi alat kontrol
VersionOne: J komersial Agile proyek alat manajemen

Nilai yang diperoleh Manajemen adalah PMI (Project Management Institute) yang telah disetujui oleh manajemen proyek teknik obyektif untuk mengukur keberhasilan proyek.

Metode Agile

Beberapa dikenal Agile metode pengembangan perangkat lunak:
Agile Modeling
Agile Unified Process (AUP)
Agile Data Metode
DSDM
Penting Unified Process (EssUP)
Extreme programming (XP)
Terutama fitur Development (FDD)
Mendapatkan Real
Buka Unified Process (OpenUP)
Banyak

Agile praktek

Terutama ujian Development (TDD)
Terutama perilaku Development (BDD)
Continuous Integration
Pasangan Pemrograman
Perencanaan poker

Catatan: Walaupun ini sering dianggap metodologi dan dalam diri mereka, mereka hanya praktek-praktek yang digunakan dalam berbagai metodologi.

Agile melebihi pengembangan software

Agile pengembangan software tergantung pada beberapa karakteristik kesurupan hanya oleh perangkat lunak, seperti obyek teknologi dan kemampuan untuk menguji otomatis. Namun, terkait teknik telah dibuat untuk mengembangkan non-produk perangkat lunak, seperti Semikonduktor, kendaraan bermotor, atau bahan kimia. Untuk lebih pada mereka, lihat Fleksibel pengembangan produk.

Mengukur agility

Meskipun banyak [yang] lihat agility sebagai alat untuk diakhiri, sejumlah pendekatan telah diusulkan untuk mengukur agility. Pengukuran Indeks Agility (AIM) nilai proyek terhadap sejumlah faktor agility untuk mencapai total. Yang mirip-bernama Agility Pengukuran Indeks, skor perkembangan terhadap lima dimensi dari software proyek (durasi, risiko, baru, usaha, dan interaksi). Teknik lainnya yang diukur berdasarkan tujuan . Studi lain menggunakan fuzzy matematika [24] telah menyatakan bahwa proyek kecepatan dapat digunakan sebagai metrik dari agility.

Meskipun demikian pendekatan telah diusulkan untuk mengukur agility, praktek aplikasi seperti metrik belum terlihat.

Kritik

Pemrograman ekstrim 's buzz awal dan tenets kontroversial, seperti pasangan pemrograman dan berkesinambungan desain, ada kritikan tertarik tertentu, seperti McBreen [25] dan Boehm dan Turner. [14] Banyak kritik Namun, yang diyakini oleh praktisi untuk Agile kesalahpahaman yang akan Agile pembangunan. [26]

Secara khusus, Extreme Pemrograman dikaji dan critiqued oleh Matt Stephens dan Doug Rosenberg's Extreme Pemrograman Refactored. [27]

Kritik termasuk:
Sering digunakan sebagai alat untuk berkorban uang dari pelanggan melalui kurangnya mendefinisikan sebuah deliverable
Kurangnya struktur dan dokumentasi yang diperlukan
Hanya bekerja sama dengan para pengembang tingkat
Desain juga cukup perangkat lunak
Memerlukan pertemuan di interval sering di besar biaya untuk pelanggan
Memerlukan terlalu banyak perubahan budaya untuk mengadopsi
Dapat mengakibatkan lebih sulit negosiasi kontrak
Dapat menjadi sangat tidak efisien-jika persyaratan untuk satu kode area perubahan melalui berbagai Iterasi, pemrograman yang sama mungkin perlu dilakukan beberapa kali atas. Sedangkan jika telah ada rencana untuk diikuti, satu kode area yang diharapkan dapat ditulis sekali.
Mustahil untuk mengembangkan perkiraan realistis kerja diperlukan upaya untuk memberikan penawaran, karena pada awal proyek tidak seorangpun yang tahu seluruh lingkup / persyaratan
Dapat meningkatkan risiko lingkup merayap karena kurangnya rinci persyaratan dokumentasi
Agile adalah fitur driven, non-fungsional kualitas atribut sulit untuk ditempatkan sebagai pengguna cerita

Kritik yang cukup mengenai perangkat lunak desain dan kurangnya dokumentasi yang dialamatkan oleh Agile Modeling metode yang mudah disesuaikan ke dalam proses Agile.

Agile pengembangan software telah dikritik karena tidak dapat menghasilkan semua yang mengklaim manfaat ketika pemrogram dari rata-rata kemampuan menggunakan metode ini. [28]

Pasca-Agilism

Dalam rekayasa perangkat lunak, pasca Agilism adalah gerakan informal praktisi yang lebih memilih untuk menghindari yang dibikin oleh apa yang dianggap sebagai "Agile Dogma" (atau "Agile dengan modal 'A'")

Beberapa berpendapat bahwa ada maksud Agile adalah ambiguitas dan telah diterapkan yang sangat tidak tepat untuk berbagai macam pendekatan seperti Six Sigma dan CMMi (meskipun proponents Agile dari beberapa metode, seperti banyak orang, menunjukkan bahwa ada metode dapat nyaman dalam lingkungan CMMi .) [29] Beberapa ada juga berpendapat bahwa "Agile", "evolusi", dan "bersandar" (seperti dalam Lean pengembangan software) tidak berarti hal yang sama, dalam prakteknya, meskipun mereka semua di bawah lumped banner dari "Agile "dan sering digunakan oleh praktisi interchangeably.

Proponents juga menyatakan bahwa proses-berorientasi metode, khususnya metode yang bergantung pada hasil repeatable dan secara bertahap mengurangi limbah dan proses variasi seperti Six Sigma, ada kecenderungan untuk membatasi sebuah organisasi adaptif kapasitas (mereka "kendor"), membuat mereka kurang mampu untuk merespon untuk mengubah terputus-putus - iaitu, kurang Agile. It is proposed that "agile", "lean" and "evolutionary" are strategies that need to be properly understood and appropriately applied to any specific context. Diusulkan bahwa "Agile", "kurus" dan "evolusi" adalah strategi yang perlu dipahami dengan baik dan tepat diterapkan pada konteks yang spesifik. That is, there is a time to be "agile", a time to be "lean" and a time to be "evolutionary." Artinya, ada waktu untuk menjadi "Agile", waktu untuk menjadi "lean" dan waktu untuk menjadi "evolusi." Some agilists agree with this position, promoting the concept of agile methods as one set of tools that should be available to managers for use in appropriate situations, not as one-size-fits-all methods that should be forced onto all organizations. [ 30 ] Beberapa agilists setuju dengan posisi ini, mempromosikan konsep Agile metode sebagai satu set alat-alat yang harus tersedia bagi manajer untuk digunakan dalam situasi yang tepat, bukan sebagai satu-ukuran-cocok-semua metode yang terpaksa harus ke semua organisasi. [30 ]

Banyak dari pos-Agile berpikir sekitar pusat Nonlinear Manajemen, sebuah superset dari manajemen teknik yang meliputi Agile praktek.
Beberapa komentar mengusulkan sebuah model pasca Agilism yang efektif konstruktif anarki, dalam tim yang seharusnya mengorganisasikan diri ke titik dimana bahkan nilai-nilai inti dari Agile gerakan dianggap terlalu menentukan, dan bahwa tim seharusnya hanya "melakukan apapun untuk bekerja mereka. " This position is controversial in the agile community and breaks from the trend of later agile methods being more structured (fitting better within CMMi environments) than earlier agile methods. Posisi ini adalah kontroversial di masyarakat dan Agile istirahat dari kecenderungan nanti Agile metode yang lebih terstruktur (lebih tepat dalam lingkungan CMMi) dibandingkan sebelumnya Agile metode.

Sabtu, 21 Maret 2009

narrative text

The Princess and the Pea

ONCE upon a time there was a prince who wanted to marry a princess; but she would have to be a real princess. He travelled all over the world to find one, but nowhere could he get what he wanted. There were princesses enough, but it was difficult to find out whether they were real ones. There was always something about them that was not as it should be. So he came home again and was sad, for he would have liked very much to have a real princess.
One evening a terrible storm came on; there was thunder and lightning, and the rain poured down in torrents. Suddenly a knocking was heard at the city gate, and the old king went to open it.

It was a princess standing out there in front of the gate. But, good gracious! what a sight the rain and the wind had made her look. The water ran down from her hair and clothes; it ran down into the toes of her shoes and out again at the heels. And yet she said that she was a real princess.

“Well, we’ll soon find that out,” thought the old queen. But she said nothing, went into the bed-room, took all the bedding off the bedstead, and laid a pea on the bottom; then she took twenty mattresses and laid them on the pea, and then twenty eider-down beds on top of the mattresses.
On this the princess had to lie all night. In the morning she was asked how she had slept.
“Oh, very badly!” said she. “I have scarcely closed my eyes all night. Heaven only knows what was in the bed, but I was lying on something hard, so that I am black and blue all over my body. It’s horrible!”

Now they knew that she was a real princess because she had felt the pea right through the twenty mattresses and the twenty eider-down beds.
Nobody but a real princess could be as sensitive as that.

So the prince took her for his wife, for now he knew that he had a real princess; and the pea was put in the museum, where it may still be seen, if no one has stolen it.

narrative text

Little Tiny or Thumbelina
THERE was once a woman who wished very much to have a little child, but she could not obtain her wish. At last she went to a fairy, and said, “I should so very much like to have a little child; can you tell me where I can find one?”

“Oh, that can be easily managed,” said the fairy. “Here is a barleycorn of a different kind to those which grow in the farmer’s fields, and which the chickens eat; put it into a flower-pot, and see what will happen.”

“Thank you,” said the woman, and she gave the fairy twelve shillings, which was the price of the barleycorn. Then she went home and planted it, and immediately there grew up a large handsome flower, something like a tulip in appearance, but with its leaves tightly closed as if it were still a bud. “It is a beautiful flower,” said the woman, and she kissed the red and golden-colored leaves, and while she did so the flower opened, and she could see that it was a real tulip. Within the flower, upon the green velvet stamens, sat a very delicate and graceful little maiden.
She was scarcely half as long as a thumb, and they gave her the name of “Thumbelina,” or Tiny, because she was so small. A walnut-shell, elegantly polished, served her for a cradle; her bed was formed of blue violet-leaves, with a rose-leaf for a counterpane. Here she slept at night, but during the day she amused herself on a table, where the woman had placed a plateful of water. Round this plate were wreaths of flowers with their stems in the water, and upon it floated a large tulip-leaf, which served Tiny for a boat. Here the little maiden sat and rowed herself from side to side, with two oars made of white horse-hair. It really was a very pretty sight. Tiny could, also, sing so softly and sweetly that nothing like her singing had ever before been heard. One night, while she lay in her pretty bed, a large, ugly, wet toad crept through a broken pane of glass in the window, and leaped right upon the table where Tiny lay sleeping under her rose-leaf quilt.
“What a pretty little wife this would make for my son,” said the toad, and she took up the walnut-shell in which little Tiny lay asleep, and jumped through the window with it into the garden.

In the swampy margin of a broad stream in the garden lived the toad, with her son. He was uglier even than his mother, and when he saw the pretty little maiden in her elegant bed, he could only cry, “Croak, croak, croak.”

“Don’t speak so loud, or she will wake,” said the toad, “and then she might run away, for she is as light as swan’s down. We will place her on one of the water-lily leaves out in the stream; it will be like an island to her, she is so light and small, and then she cannot escape; and, while she is away, we will make haste and prepare the state-room under the marsh, in which you are to live when you are married.”

Far out in the stream grew a number of water-lilies, with broad green leaves, which seemed to float on the top of the water. The largest of these leaves appeared farther off than the rest, and the old toad swam out to it with the walnut-shell, in which little Tiny lay still asleep. The tiny little creature woke very early in the morning, and began to cry bitterly when she found where she was, for she could see nothing but water on every side of the large green leaf, and no way of reaching the land. Meanwhile the old toad was very busy under the marsh, decking her room with rushes and wild yellow flowers, to make it look pretty for her new daughter-in-law. Then she swam out with her ugly son to the leaf on which she had placed poor little Tiny. She wanted to fetch the pretty bed, that she might put it in the bridal chamber to be ready for her. The old toad bowed low to her in the water, and said, “Here is my son, he will be your husband, and you will live happily in the marsh by the stream.”

“Croak, croak, croak,” was all her son could say for himself; so the toad took up the elegant little bed, and swam away with it, leaving Tiny all alone on the green leaf, where she sat and wept. She could not bear to think of living with the old toad, and having her ugly son for a husband. The little fishes, who swam about in the water beneath, had seen the toad, and heard what she said, so they lifted their heads above the water to look at the little maiden. As soon as they caught sight of her, they saw she was very pretty, and it made them very sorry to think that she must go and live with the ugly toads. “No, it must never be!” so they assembled together in the water, round the green stalk which held the leaf on which the little maiden stood, and gnawed it away at the root with their teeth. Then the leaf floated down the stream, carrying Tiny far away out of reach of land.

Tiny sailed past many towns, and the little birds in the bushes saw her, and sang, “What a lovely little creature;” so the leaf swam away with her farther and farther, till it brought her to other lands. A graceful little white butterfly constantly fluttered round her, and at last alighted on the leaf. Tiny pleased him, and she was glad of it, for now the toad could not possibly reach her, and the country through which she sailed was beautiful, and the sun shone upon the water, till it glittered like liquid gold. She took off her girdle and tied one end of it round the butterfly, and the other end of the ribbon she fastened to the leaf, which now glided on much faster than ever, taking little Tiny with it as she stood. Presently a large cockchafer flew by; the moment he caught sight of her, he seized her round her delicate waist with his claws, and flew with her into a tree. The green leaf floated away on the brook, and the butterfly flew with it, for he was fastened to it, and could not get away.

Oh, how frightened little Tiny felt when the cockchafer flew with her to the tree! But especially was she sorry for the beautiful white butterfly which she had fastened to the leaf, for if he could not free himself he would die of hunger. But the cockchafer did not trouble himself at all about the matter. He seated himself by her side on a large green leaf, gave her some honey from the flowers to eat, and told her she was very pretty, though not in the least like a cockchafer. After a time, all the cockchafers turned up their feelers, and said, “She has only two legs! how ugly that looks.” “She has no feelers,” said another. “Her waist is quite slim. Pooh! she is like a human being.”

“Oh! she is ugly,” said all the lady cockchafers, although Tiny was very pretty. Then the cockchafer who had run away with her, believed all the others when they said she was ugly, and would have nothing more to say to her, and told her she might go where she liked. Then he flew down with her from the tree, and placed her on a daisy, and she wept at the thought that she was so ugly that even the cockchafers would have nothing to say to her. And all the while she was really the loveliest creature that one could imagine, and as tender and delicate as a beautiful rose-leaf. During the whole summer poor little Tiny lived quite alone in the wide forest. She wove herself a bed with blades of grass, and hung it up under a broad leaf, to protect herself from the rain. She sucked the honey from the flowers for food, and drank the dew from their leaves every morning. So passed away the summer and the autumn, and then came the winter,— the long, cold winter. All the birds who had sung to her so sweetly were flown away, and the trees and the flowers had withered. The large clover leaf under the shelter of which she had lived, was now rolled together and shrivelled up, nothing remained but a yellow withered stalk. She felt dreadfully cold, for her clothes were torn, and she was herself so frail and delicate, that poor little
Tiny was nearly frozen to death. It began to snow too; and the snow-flakes, as they fell upon her, were like a whole shovelful falling upon one of us, for we are tall, but she was only an inch high. Then she wrapped herself up in a dry leaf, but it cracked in the middle and could not keep her warm, and she shivered with cold. Near the wood in which she had been living lay a corn-field, but the corn had been cut a long time; nothing remained but the bare dry stubble standing up out of the frozen ground. It was to her like struggling through a large wood. Oh! how she shivered with the cold. She came at last to the door of a field-mouse, who had a little den under the corn-stubble. There dwelt the field-mouse in warmth and comfort, with a whole roomful of corn, a kitchen, and a beautiful dining room. Poor little Tiny stood before the door just like a little beggar-girl, and begged for a small piece of barley-corn, for she had been without a morsel to eat for two days.

“You poor little creature,” said the field-mouse, who was really a good old field-mouse, “come into my warm room and dine with me.” She was very pleased with Tiny, so she said, “You are quite welcome to stay with me all the winter, if you like; but you must keep my rooms clean and neat, and tell me stories, for I shall like to hear them very much.” And Tiny did all the field-mouse asked her, and found herself very comfortable.

“We shall have a visitor soon,” said the field-mouse one day; “my neighbor pays me a visit once a week. He is better off than I am; he has large rooms, and wears a beautiful black velvet coat. If you could only have him for a husband, you would be well provided for indeed. But he is blind, so you must tell him some of your prettiest stories.”

But Tiny did not feel at all interested about this neighbor, for he was a mole. However, he came and paid his visit dressed in his black velvet coat.
“He is very rich and learned, and his house is twenty times larger than mine,” said the field-mouse.

He was rich and learned, no doubt, but he always spoke slightingly of the sun and the pretty flowers, because he had never seen them. Tiny was obliged to sing to him, “Lady-bird, lady-bird, fly away home,” and many other pretty songs. And the mole fell in love with her because she had such a sweet voice; but he said nothing yet, for he was very cautious. A short time before, the mole had dug a long passage under the earth, which led from the dwelling of the field-mouse to his own, and here she had permission to walk with Tiny whenever she liked. But he warned them not to be alarmed at the sight of a dead bird which lay in the passage. It was a perfect bird, with a beak and feathers, and could not have been dead long, and was lying just where the mole had made his passage. The mole took a piece of phosphorescent wood in his mouth, and it glittered like fire in the dark; then he went before them to light them through the long, dark passage. When they came to the spot where lay the dead bird, the mole pushed his broad nose through the ceiling, the earth gave way, so that there was a large hole, and the daylight shone into the passage. In the middle of the floor lay a dead swallow, his beautiful wings pulled close to his sides, his feet and his head drawn up under his feathers; the poor bird had evidently died of the cold. It made little Tiny very sad to see it, she did so love the little birds; all the summer they had sung and twittered for her so beautifully. But the mole pushed it aside with his crooked legs, and said,
“He will sing no more now. How miserable it must be to be born a little bird! I am thankful that none of my children will ever be birds, for they can do nothing but cry, ‘Tweet, tweet,’ and always die of hunger in the winter.”
“Yes, you may well say that, as a clever man!” exclaimed the field-mouse, “What is the use of his twittering, for when winter comes he must either starve or be frozen to death. Still birds are very high bred.”
Tiny said nothing; but when the two others had turned their backs on the bird, she stooped down and stroked aside the soft feathers which covered the head, and kissed the closed eyelids.
“Perhaps this was the one who sang to me so sweetly in the summer,” she said; “and how much pleasure it gave me, you dear, pretty bird.”
The mole now stopped up the hole through which the daylight shone, and then accompanied the lady home. But during the night Tiny could not sleep; so she got out of bed and wove a large, beautiful carpet of hay; then she carried it to the dead bird, and spread it over him; with some down from the flowers which she had found in the field-mouse’s room. It was as soft as wool, and she spread some of it on each side of the bird, so that he might lie warmly in the cold earth.
“Farewell, you pretty little bird,” said she, “farewell; thank you for your delightful singing during the summer, when all the trees were green, and the warm sun shone upon us.” Then she laid her head on the bird’s breast, but she was alarmed immediately, for it seemed as if something inside the bird went “thump, thump.” It was the bird’s heart; he was not really dead, only benumbed with the cold, and the warmth had restored him to life. In autumn, all the swallows fly away into warm countries, but if one happens to linger, the cold seizes it, it becomes frozen, and falls down as if dead; it remains where it fell, and the cold snow covers it. Tiny trembled very much; she was quite frightened, for the bird was large, a great deal larger than herself,—she was only an inch high. But she took courage, laid the wool more thickly over the poor swallow, and then took a leaf which she had used for her own counterpane, and laid it over the head of the poor bird. The next morning she again stole out to see him. He was alive but very weak; he could only open his eyes for a moment to look at Tiny, who stood by holding a piece of decayed wood in her hand, for she had no other lantern. “Thank you, pretty little maiden,” said the sick swallow; “I have been so nicely warmed, that I shall soon regain my strength, and be able to fly about again in the warm sunshine.”
“Oh,” said she, “it is cold out of doors now; it snows and freezes. Stay in your warm bed; I will take care of you.”
Then she brought the swallow some water in a flower-leaf, and after he had drank, he told her that he had wounded one of his wings in a thorn-bush, and could not fly as fast as the others, who were soon far away on their journey to warm countries. Then at last he had fallen to the earth, and could remember no more, nor how he came to be where she had found him. The whole winter the swallow remained underground, and Tiny nursed him with care and love. Neither the mole nor the field-mouse knew anything about it, for they did not like swallows. Very soon the spring time came, and the sun warmed the earth. Then the swallow bade farewell to Tiny, and she opened the hole in the ceiling which the mole had made. The sun shone in upon them so beautifully, that the swallow asked her if she would go with him; she could sit on his back, he said, and he would fly away with her into the green woods. But Tiny knew it would make the field-mouse very grieved if she left her in that manner, so she said, “No, I cannot.”
“Farewell, then, farewell, you good, pretty little maiden,” said the swallow; and he flew out into the sunshine.
Tiny looked after him, and the tears rose in her eyes. She was very fond of the poor swallow.
“Tweet, tweet,” sang the bird, as he flew out into the green woods, and Tiny felt very sad. She was not allowed to go out into the warm sunshine. The corn which had been sown in the field over the house of the field-mouse had grown up high into the air, and formed a thick wood to Tiny, who was only an inch in height.
“You are going to be married, Tiny,” said the field-mouse. “My neighbor has asked for you. What good fortune for a poor child like you. Now we will prepare your wedding clothes. They must be both woollen and linen. Nothing must be wanting when you are the mole’s wife.”
Tiny had to turn the spindle, and the field-mouse hired four spiders, who were to weave day and night. Every evening the mole visited her, and was continually speaking of the time when the summer would be over. Then he would keep his wedding-day with Tiny; but now the heat of the sun was so great that it burned the earth, and made it quite hard, like a stone. As soon, as the summer was over, the wedding should take place. But Tiny was not at all pleased; for she did not like the tiresome mole. Every morning when the sun rose, and every evening when it went down, she would creep out at the door, and as the wind blew aside the ears of corn, so that she could see the blue sky, she thought how beautiful and bright it seemed out there, and wished so much to see her dear swallow again. But he never returned; for by this time he had flown far away into the lovely green forest.
When autumn arrived, Tiny had her outfit quite ready; and the field-mouse said to her, “In four weeks the wedding must take place.”
Then Tiny wept, and said she would not marry the disagreeable mole.
“Nonsense,” replied the field-mouse. “Now don’t be obstinate, or I shall bite you with my white teeth. He is a very handsome mole; the queen herself does not wear more beautiful velvets and furs. His kitchen and cellars are quite full. You ought to be very thankful for such good fortune.”
So the wedding-day was fixed, on which the mole was to fetch Tiny away to live with him, deep under the earth, and never again to see the warm sun, because he did not like it. The poor child was very unhappy at the thought of saying farewell to the beautiful sun, and as the field-mouse had given her permission to stand at the door, she went to look at it once more.
“Farewell bright sun,” she cried, stretching out her arm towards it; and then she walked a short distance from the house; for the corn had been cut, and only the dry stubble remained in the fields. “Farewell, farewell,” she repeated, twining her arm round a little red flower that grew just by her side. “Greet the little swallow from me, if you should see him again.”
“Tweet, tweet,” sounded over her head suddenly. She looked up, and there was the swallow himself flying close by. As soon as he spied Tiny, he was delighted; and then she told him how unwilling she felt to marry the ugly mole, and to live always beneath the earth, and never to see the bright sun any more. And as she told him she wept.
“Cold winter is coming,” said the swallow, “and I am going to fly away into warmer countries. Will you go with me? You can sit on my back, and fasten yourself on with your sash. Then we can fly away from the ugly mole and his gloomy rooms,—far away, over the mountains, into warmer countries, where the sun shines more brightly—than here; where it is always summer, and the flowers bloom in greater beauty. Fly now with me, dear little Tiny; you saved my life when I lay frozen in that dark passage.”
“Yes, I will go with you,” said Tiny; and she seated herself on the bird’s back, with her feet on his outstretched wings, and tied her girdle to one of his strongest feathers.
Then the swallow rose in the air, and flew over forest and over sea, high above the highest mountains, covered with eternal snow. Tiny would have been frozen in the cold air, but she crept under the bird’s warm feathers, keeping her little head uncovered, so that she might admire the beautiful lands over which they passed. At length they reached the warm countries, where the sun shines brightly, and the sky seems so much higher above the earth. Here, on the hedges, and by the wayside, grew purple, green, and white grapes; lemons and oranges hung from trees in the woods; and the air was fragrant with myrtles and orange blossoms. Beautiful children ran along the country lanes, playing with large gay butterflies; and as the swallow flew farther and farther, every place appeared still more lovely.
At last they came to a blue lake, and by the side of it, shaded by trees of the deepest green, stood a palace of dazzling white marble, built in the olden times. Vines clustered round its lofty pillars, and at the top were many swallows’ nests, and one of these was the home of the swallow who carried Tiny.
“This is my house,” said the swallow; “but it would not do for you to live there—you would not be comfortable. You must choose for yourself one of those lovely flowers, and I will put you down upon it, and then you shall have everything that you can wish to make you happy.”
“That will be delightful,” she said, and clapped her little hands for joy.
A large marble pillar lay on the ground, which, in falling, had been broken into three pieces. Between these pieces grew the most beautiful large white flowers; so the swallow flew down with Tiny, and placed her on one of the broad leaves. But how surprised she was to see in the middle of the flower, a tiny little man, as white and transparent as if he had been made of crystal! He had a gold crown on his head, and delicate wings at his shoulders, and was not much larger than Tiny herself. He was the angel of the flower; for a tiny man and a tiny woman dwell in every flower; and this was the king of them all.
“Oh, how beautiful he is!” whispered Tiny to the swallow.
The little prince was at first quite frightened at the bird, who was like a giant, compared to such a delicate little creature as himself; but when he saw Tiny, he was delighted, and thought her the prettiest little maiden he had ever seen. He took the gold crown from his head, and placed it on hers, and asked her name, and if she would be his wife, and queen over all the flowers.
This certainly was a very different sort of husband to the son of a toad, or the mole, with my black velvet and fur; so she said, “Yes,” to the handsome prince. Then all the flowers opened, and out of each came a little lady or a tiny lord, all so pretty it was quite a pleasure to look at them. Each of them brought Tiny a present; but the best gift was a pair of beautiful wings, which had belonged to a large white fly and they fastened them to Tiny’s shoulders, so that she might fly from flower to flower. Then there was much rejoicing, and the little swallow who sat above them, in his nest, was asked to sing a wedding song, which he did as well as he could; but in his heart he felt sad for he was very fond of Tiny, and would have liked never to part from her again.
“You must not be called Tiny any more,” said the spirit of the flowers to her. “It is an ugly name, and you are so very pretty. We will call you Maia.”
“Farewell, farewell,” said the swallow, with a heavy heart as he left the warm countries to fly back into Denmark. There he had a nest over the window of a house in which dwelt the writer of fairy tales. The swallow sang, “Tweet, tweet,” and from his song came the whole story.