Để có thể phát triển phần mềm nguồn mở đòi hỏi người dùng phải hiểu được các thành phần cấp cao, mô tả mối quan hệ giữa các thành phần và chức năng thành phần chi tiết. Khi triển khai OpenNMS, nhà phát triển cần nghiên cứu các thành phần và lựa chọn mô hình triển khai phù hợp.