First of all, I hope everyone reading this is safe and healthy. Everyone at DME has thankfully been able to remain that way and we hope everyone else is able to do the same. Recently there has been a lot of talk about the new features of DVR Examiner 3.0, and you have had a chance to meet many of our team through our Inside DME series. I wanted to shake this up and spend a little bit of time talking about how we do development here at DME Forensics; some ‘behind the scenes’ action in a new series we are going to call DEV@DME.
As many of you know, I created DME Forensics (and DVR Examiner) back in 2013. I was the first developer of DVR Examiner, and while I had plenty of experience in the digital forensics world, I had no classical software engineering training or experience – it was all self-taught. This presented it’s own challenges – some of which we’re still paying for today! Despite that, I was able to create a proof of concept and beta application. In 2014, we brought on Tyler, and between the two of us, we developed the initial 1.0 release of DVR Examiner.
We were the entirety of development team all the way up until 2017. In 2017, after the move to Colorado, the development team started to grow slowly but steadily. By now, the development team consists of 5 full-time developers (with a sixth position currently vacant – we’re hiring!). The full-time developers are overseen by 2 developer team leads and a manager, all of which are experienced developers who regularly contribute to the development efforts in their areas of expertise. And yes, Tyler and I still like to get our hands dirty in the code when we can.
We have been tremendously lucky to build out a great team with a very wide breadth of experience, from Don, Erich, and Bart who have decades of experience, to Cam and Tyler M, who are recent grads. We have also been able to develop growth within the team with Ben on our ‘back end’ development team having started as a technician supporting customers and development efforts.
Critical to supporting our development efforts are the names and faces you all know on our technician team, Mike and Patrick. They both provide support to our development teams, as well as directly to you. To support the development teams, they collect and generate all the necessary data to support the reverse engineering and implementation of new filesystems, as well as to squash bugs. They are also collecting information from our users and using it to advocate for new features/capabilities.
When it comes to the development team, we operate in two groups, the UI/Front End (Red Team), led by Erich, and the Backend/Filesystems (Blue Team), led by Bart. While it can be unusual for a group working on the same product to be split into two separate teams, we found given the significant differences between the core application/user interface and the backend/filesystem efforts, it made sense to operate as two separate teams. This certainly creates some challenges when it comes to communicating between the team on dependent projects, but we have found it has been a great way to give each group their autonomy. I will talk more about how our teams operate in an agile framework in a future post.
Finally, our quality assurance (QA) team is embedded within the development teams. Sarah and Denny are our QA engineers that are tasked with maintaining our testing infrastructure and ensuring that we
are putting out high quality products. They have been building our tools and resources since they joined DME in late 2019 and will play a huge role in our development efforts and release of 3.0.