Dapatkah Agile dipekerjakan di bidang seperti IT Layanan Kesehatan, di mana begitu banyak perawatan pasien tergantung pada kualitas dan pengiriman sistem yang tepat waktu?
Dapatkah Agile dipekerjakan di bidang seperti IT Layanan Kesehatan, di mana begitu banyak perawatan pasien tergantung pada kualitas dan pengiriman sistem yang tepat waktu?
Jawaban:
Ya, pengembangan tangkas benar-benar memiliki peran dalam pengembangan TI Kesehatan. Tidak seorang pun, bukan pengguna akhir, bukan pasien dan tentu saja bukan tim pengembangan dilayani dengan baik oleh proses pengembangan yang dilakukan dengan buruk. Mempertimbangkan beberapa prinsip yang mendasari manifestasi Agile (daftar tanpa malu merobek dari Wikipedia dengan komentar saya):
Diskusi seputar penggunaan Pengembangan Perangkat Lunak Alat Kesehatan Agile dalam pengaturan yang diatur FDA telah ada untuk sementara waktu dan relevan dengan pertanyaan ini. Berikut beberapa alasannya:
Jawaban singkatnya adalah "Ya". Jawaban yang lebih panjang tetapi lebih akurat adalah "Jika Anda menganggapnya serius."
Ada beberapa tema yang perlu diingat, yang ingin saya pisahkan menjadi masalah terkait (a) keselamatan pasien & kualitas produk, dan (b) regulasi industri.
Di sisi keamanan dan kualitas, perlu diingat bahwa membuat perangkat lunak yang aman itu sulit. Beberapa programmer yang baik dengan pengetahuan domain bisa mengeluarkan perangkat lunak yang sangat berguna yang cukup aman. Jika mereka adalah bagian dari penyebaran dalam pengaturan klinis lokal, dan dapat terus merespons dan menyesuaikan dengan peristiwa selama penyebaran dan penggunaan perangkat lunak, perangkat lunak mungkin memberikan nilai, menyelamatkan atau meningkatkan kehidupan dengan hanya beberapa cedera atau kematian terkait dengan kesalahan penggunaan atau bug perangkat lunak. Tetapi perangkat lunak akan membutuhkan programmer untuk berada di sana, sepanjang waktu, merespons, mengembangkan perangkat lunak secara bersamaan saat penggunaan perangkat lunak berkembang. Ini bukan proses scalable dan ketika programmer mati atau bosan sistem dapat dengan mudah menjadi sangat berbahaya dengan sangat cepat. Untuk meningkatkan hasil ini dan membuat perangkat lunak yang aman, ada langkah-langkah proses pengembangan penting yang perlu diambil saat perangkat lunak dikembangkan. Pengantar "out of the box" yang bagus untuk ini dapat ditemukan dalam standar internasional untuk pengembangan perangkat perangkat medis, ISO / IEC 62304. Konsep utama adalah manajemen risiko keselamatan di semua tahap - selama analisis kasus penggunaan dan pengembangan cerita, persyaratan Penjelasan, desain sistem dan arsitektur, implementasi, pengujian unit dan integrasi. Menjadi lincah tidak akan membuat pekerjaan ini hilang, atau menjadi kurang sulit, tetapi dengan berfokus pada penciptaan nilai dan menghilangkan pekerjaan (seperti fitur yang tidak dibutuhkan, atau tes verifikasi / siklus perbaikan yang berlebihan) yang tidak menciptakan nilai, pengembangan tangkas dapat memungkinkan tim untuk mengintegrasikan pekerjaan ini ke dalam pengembangan, menghasilkan perangkat lunak yang lebih aman dikembangkan pada saat yang sama. Praktik pengembangan berulang yang biasa digunakan oleh tim tangkas sangat cocok untuk menyelesaikan pekerjaan manajemen risiko keselamatan, berkembang sepanjang umur proyek daripada menjadi renungan. Dan setelah perangkat lunak itu operasional, umpan balik dari pengguna dan setiap peristiwa yang bahkan berpotensi menyebabkan cedera perlu dipertimbangkan, secara individu, dan secara agregat, untuk menjaga perangkat lunak itu aman untuk digunakan. Agile dapat membantu di sini jika menyediakan proses jalur cepat dan aman untuk memasukkan perubahan tanpa merusak bagian lain sistem - yang pada gilirannya sekali lagi membutuhkan arsitektur yang baik dan interaksi desain yang dipahami dengan baik yang dibuat ketika perangkat lunak dikembangkan. berkembang sepanjang kehidupan proyek daripada menjadi renungan. Dan setelah perangkat lunak itu operasional, umpan balik dari pengguna dan setiap peristiwa yang bahkan berpotensi menyebabkan cedera perlu dipertimbangkan, secara individu, dan secara agregat, untuk menjaga perangkat lunak itu aman untuk digunakan. Agile dapat membantu di sini jika menyediakan proses jalur cepat dan aman untuk memasukkan perubahan tanpa merusak bagian lain sistem - yang pada gilirannya sekali lagi membutuhkan arsitektur yang baik dan interaksi desain yang dipahami dengan baik yang dibuat ketika perangkat lunak dikembangkan. berkembang sepanjang kehidupan proyek daripada menjadi renungan. Dan setelah perangkat lunak itu operasional, umpan balik dari pengguna dan setiap peristiwa yang bahkan berpotensi menyebabkan cedera perlu dipertimbangkan, secara individu, dan secara agregat, untuk menjaga perangkat lunak itu aman untuk digunakan. Agile dapat membantu di sini jika menyediakan proses jalur cepat dan aman untuk memasukkan perubahan tanpa merusak bagian lain sistem - yang pada gilirannya sekali lagi membutuhkan arsitektur yang baik dan interaksi desain yang dipahami dengan baik yang dibuat ketika perangkat lunak dikembangkan.
Kekhawatiran kedua adalah regulasi. Di dunia yang ideal, peraturan keselamatan akan berlaku untuk semua produk yang dapat cukup berbahaya, dan vendor akan dapat mematuhi dengan melakukan beberapa hal sederhana begitu mereka mulai melewati batas. Dalam praktiknya, peraturan global sangat kompleks dan bergerak cepat dalam industri ini, yang berarti bahwa suatu hari Anda dapat mengembangkan aplikasi iPhone kecil yang menunjukkan beberapa data medis, dan selanjutnya Anda diharapkan untuk mematuhi standar ISO dan FDA untuk "manajemen mutu sistem ", atau QMS. Itu bisa menakutkan bagi perusahaan yang belum memiliki SMM formal di masa lalu. Dan lincah dapat memperburuk ini karena Anda mungkin mulai dengan konsep produk, dan melalui pengembangan evolusi tanpa disadari masuk ke dalam penggunaan yang direncanakan yang diatur (seperti menampilkan data diagnosis klinis kepada pengguna). Ini Oktober 2011; saran saya kepada perusahaan mana pun yang merenungkan pemasaran produk yang memiliki "kesehatan", "medis", "kesehatan" dalam nama kategori adalah bahwa mereka harus memiliki rencana ketika produk yang mereka buat diatur oleh satu atau lebih regulator perangkat medis di seluruh dunia. Di sini lagi tangkas dapat membantu, karena praktik tangkas umumnya menghasilkan (atau dengan mudah bisa menghasilkan) keluaran yang sesuai untuk memuaskan pelanggan regulatori baik untuk pengajuan izin pra-pasar (seperti FDA 510k), sertifikasi (seperti ISO 13485), dan operasi pasca-pasar. Pengembangan tes pertama cocok dengan perangkat lunak medis. Integrasi yang berkelanjutan, pengujian unit otomatis, dan metadata sprint SCRUM dapat memberikan bukti objektif yang lengkap bahwa manajemen risiko dan verifikasi yang tepat dilakukan tidak hanya sebagai renungan tetapi dimasukkan ke dalam proses pengembangan. Dalam kebanyakan kasus saya pikir gesit menghasilkan lebih banyak artefak daripada "air terjun", mungkin tidak dalam bentuk yang sama. Tetapi konversi output menjadi sesuatu yang memuaskan regulator adalah masalah yang relatif kecil untuk dipecahkan.
Jadi secara ringkas ... ya Virginia, ada lincah untuk pengembangan perangkat lunak TI (dan perangkat medis lainnya) kesehatan. Seperti semua hal gesit, dibutuhkan dedikasi untuk memproses, mendukung bisnis, dan keberanian.
Ya, salah satu tempat pengembangan tangkas adalah keterlibatan pelanggan. Ini sangat penting dalam sistem dan proses TI perawatan kesehatan. Departemen IT Healthcare akan membuat keputusan yang lebih baik jika perwakilan pelanggan terlibat dan memberikan masukan tentang bagaimana keputusan itu akan memengaruhi perawatan pasien.
Saya pikir itu mungkin, tetapi industri ini membutuhkan perubahan paradigma yang besar. Saya berada di tahun kedua sebagai pengembang perawatan kesehatan, dan kepercayaan serta pengorganisasian diri tidak terlihat di mana pun. Healthcare akan mendapat banyak manfaat dari mengadopsi secara tangkas, karena bagaimanapun itu sebagian besar adalah kekacauan, dengan pengembangan berulang yang disebut "thrash" dan persyaratan yang terlambat diubah karena, well, desain besar di muka tidak bekerja.
Saya mengerti pertanyaan Anda. Contoh pengembangan Agile yang bagus adalah membangun situs web untuk seseorang. Biasanya seorang pelanggan tidak tahu persis apa yang dia inginkan, jadi ada banyak interaksi dengan pelanggan.
Kesehatan IT mungkin tampak seperti bidang yang sudah ditentukan sebelumnya dalam ilmu komputer; dengan standar yang ketat (DICOM, HL7) sepertinya hanya ada satu cara untuk mengimplementasikannya, tetapi ada juga banyak preferensi dan pengambilan keputusan.
Menurut pendapat saya, produk apa pun yang Anda buat, Anda tidak dapat menentukan SEMUA persyaratan sebelumnya, sehingga metode pengembangan perangkat lunak yang gesit bekerja dengan sangat baik.
Sebagaimana dicatat, jawabannya adalah ya.
Saat menerapkan Agile ke area yang diatur atau berisiko tinggi Anda harus mendefinisikan "Selesai" pada setiap iterasi sedemikian rupa sehingga kepatuhan terhadap peraturan dan strategi mitigasi risiko lainnya dimasukkan. Misalnya, ini mungkin memerlukan dokumentasi QA, persyaratan penelusuran, audit keamanan dan tindakan lainnya harus diselesaikan pada setiap iterasi.
Ada seni dan praktik yang baik, misalnya, untuk penerapan pendekatan Agile ke lingkungan yang diatur FDA.
Jawaban singkatnya: Ya. Ada blog yang bagus tentang Agile di High-Assurance Environments yang memberikan beberapa tips.
Namun, ada beberapa kompromi yang perlu dilakukan. Pertimbangkan Agile Manifesto :
Individu dan interaksi atas proses dan alat
Bekerja dengan perangkat lunak melalui dokumentasi yang komprehensif
Kolaborasi pelanggan atas negosiasi kontrak
Menanggapi perubahan setelah mengikuti rencana
Badan pengawas menilai sisi kiri sama seperti tim tangkas, tetapi mereka membutuhkan lebih banyak tekanan di sisi kanan daripada tim tangkas khas biasanya. FDA, misalnya, mengharuskan Anda memvalidasi proses dan alat Anda, meminta desain yang cukup komprehensif dan dokumentasi pengujian, dan tentunya membutuhkan perencanaan yang baik.
Di sisi lain, banyak prinsip gesit sangat cocok dengan dunia perawatan kesehatan, termasuk:
Beberapa disiplin sudah sifatnya gesit. Keperawatan, misalnya, bergantung pada siklus 'penilaian-evaluasi-perencanaan-intervensi' yang bergantung pada beberapa iterasi diagnosis / prognosis untuk secara bertahap mencapai hasil akhir.
Namun, itu akan menjadi penggabungan yang fatal untuk mencoba menyarankan bahwa layanan perawatan kesehatan yang disediakan sedemikian rupa secara khusus cocok untuk aplikasi pada dasarnya satu contoh pengembangan perangkat lunak Agile terhadap perangkat perangkat lunak atau sistem untuk digunakan dalam pemberian layanan tersebut.
AAMI secara aktif mengerjakan Laporan Informasi Teknis berjudul:
AAMI TIR SW1, Pedoman penggunaan praktik lincah dalam pengembangan perangkat lunak perangkat medis.
Saya pernah mendengar bahwa itu mungkin diterbitkan pada tahun 2012.
Ini membahas penyelarasan prinsip-prinsip Agile Manifesto (lihat jawaban EpiGrads) dengan persyaratan peraturan, proses khas, dan kepraktisan produk lainnya yang terkait dengan perangkat lunak perangkat medis.