Bagaimana membuat semua orang yang terlibat dalam proyek pengembangan perangkat lunak dapat menggunakan suatu sistem yang terintegrasi adalah sebuah tantangan. Dalam artikel ini akan dijelaskan tentang suatu platform yang memungkinkan kolaborasi secara real-time dari semua anggota tim pengembangan perangkat lunak dan mendukung implementasi Software Development Life Cycle (SDLC). Platform ini juga memungkinkan semua anggota tim dapat bekerja secara lebih efektif dan efisien, secara virtual, bahkan memungkinkan anggota tim untuk bekerja dari rumah .
Pengembangan perangkat lunak saat ini adalah suatu hal yang tidak mudah. Realitas yang terjadi adalah terkadang antara anggota tim pengembang (project manager, architect, developer, dan tester) pun sulit untuk saling bertukar informasi. Waktu terkadang habis terlalu lama untuk melakukan rapat, sinkronisasi waktu, menelpon, dan mengurus email. Permasalahan yang lebih kompleks akan timbul jika para anggota tim tidak berada dalam satu lokasi (kantor). Proyek pengembangan menjadi terhambat, over budget, bahkan terkadang tidak sesuai dengan kebutuhan.
Masalah lain yang terkadang timbul adalah biasanya setiap anggota tim menggunakan tools yang berbeda untuk mendukung perannya. Celakanya, antara satu tools satu dengan yang lain biasanya tidak saling terintegrasi. Aktivitas copy dan paste menjadi rutinitas administratif yang harus dilakukan. Selain itu, semua orang yang terlibat dalam proyek tentu harus melaksanakan tugas administratif seperti pembuatan laporan yang pada akhirnya akan berimbas pada produktivitas.
Di sisi lain, pengembangan perangkat lunak saat ini tidak dapat dipisahkan dari penerapan SDLC. Beberapa perusahaan pengembang terkadang harus menerapkan SDLC untuk perangkat lunak yang dikembangkan agar memenuhi standar internasional. Padahal SDLC cenderung mahal dan terkadang sulit untuk diimplementasikan.
Microsoft melihat hal ini sebagai suatu tantangan, yaitu bagaimana membuat semua orang yang terlibat dalam proyek pengembangan perangkat lunak dapat menggunakan suatu system yang terintegrasi, sekaligus mendukung implementasi dari Software Development Life Cycle (SDLC). Setelah melakukan riset selama beberapa tahun, Microsoft meluncurkan Visual Studio Team System (VSTS) kepada publik. VSTS sebenarnya adalah gabungan tools yang telah digunakan secara internal oleh Microsoft selama beberapa tahun, seperti PREfast, Product Studio, dan Source Depot. VSTS telah diuji ketangguhannya oleh Microsoft selama beberapa tahun belakangan ini, karena Microsoft menerapkan Globally Distributed Development (GDD). GDD memungkinkan project manager, developer, tester, dan semua orang yang terlibat dalam proyek pengembangan perangkat lunak tidak berada dalam satu lokasi (kantor). Tim pengembang perangkat lunak di Redmond, Raleigh, Copenhagen, Hyderabad, dan Beijing dapat bekerja sama satu sama lain dengan adanya Team Foundation Server (TFS). TFS adalah platform terintegrasi untuk membantu kolaborasi proyek pengembangan perangkat lunak.
VSTS memberikan kesempatan pada semua orang dalam proyek pengembangan perangkat lunak untuk berkontribusi sesuai dengan perannya dalam satu system terintegrasi. VSTS terdiri dari Visual Studio Team Architect untuk architect, Visual Studio Team Developer untuk developer, Visual Studio Team Tester untuk tester, dan semuanya terhubung ke satu project portal Team Foundation Server yang tidak hanya dapat diakses melalui Visual Studio Team Edition, namun juga dapat diakses melalui web. VSTS juga sudah mendukung penggunaan dua process guidance framework, yaitu Microsoft Solution Framework (MSF) dengan metodologi Agile dan MSF dengan metodologi Capability Maturity Model Integration (CMMI). Selain itu VSTS juga menyediakan tools untuk membuat proses guidance secara manual.

Salah satu tujuan dari VSTS adalah memungkinkan setiap anggota tim (project manager, architect, developers, dan testers) dapat memanfaatkan tools yang mendukung perannya sesuai SDLC dan saling bertukar informasi dalam satu sistem terintegrasi. Project Manager dapat menggunakan Microsoft Project atau Excel untuk menuliskan daftar pekerjaan setiap orang dan mendefinisikan kualitas kode yang dibuat oleh developer, misalnya mendefinisikan suatu peraturan bahwa hanya kode yang telah dites saja yang boleh masuk ke repositori. Architect dapat memodelkan secara visual Service Oriented Application dan secara otomatis menjadikan rancangan arsitektur tersebut menjadi rancangan kelas kode program.
Developer dapat melakukan static analysis terhadap kode yang dibuat, mengukur performansi dari kode program, dan tentu terbebas dari masalah administratif seperti membuat laporan pekerjaan karena semua laporan akan dibuat secara otomatis. Developer juga tidak perlu dipusingkan dengan masalah versioning dari kode yang ditulis, manajemen kode program menjadi lebih teratur dan terorganisasi. Tester dapat secara langsung melakukan tes terhadap lingkungan implementasi dan secara otomatis membuat laporan kepada project manager atau secara langsung memberikan feedback kepada Developer. Project manager dapat mengevaluasi status dari proyek yang dipimpinnya setiap waktu, melihat kinerja developer dan tester, atau melihat laporan-laporan yang dibuat secara otomatis, misalnya laporan tentang bugs melalui web portal. Selain itu, para pengambil keputusan dapat secara langsung mendapatkan informasi tentang status proyek yang berjalan sehingga dapat menghasilkan keputusan bisnis yang tepat

Semua anggota tim dapat mengakses project portal melalui sebuah website yang disediakan oleh Team Foundation Server. Bagi developer, bekerja dimana saja akan menjadi tawaran yang cukup menarik, mengingat untuk menuliskan kode program biasanya dibutuhkan mood yang tidak bisa dijadwalkan kapan mood yang baik akan datang. Developer, tester, dan project manager dapat bekerja secara virtual dari rumahnya masing-masing hanya dengan jaringan internet. Dapat dibayangkan berapa besar penghematan dan efisiensi yang dihasilkan dengan implementasi sistem ini. Suatu tawaran yang cukup menggiurkan untuk para pengembang perangkat lunak.
Semoga bermanfaat,
Salam,
Narenda Wicaksono
Microsoft MVP - Team System