Our next presentation was by Stefan Meier, Associate Director, Software Development, Information Sciences Department at XDx. Xdx is a biotech company that relies on software and technology for their Molecular Diagnostic Technology. They assess patients who have had a heart transplant and whether they are likely to accept or reject the transplant. They are also working on a clinical study to provide the data to find correlations between genetics and pathology in disease/immune system-related areas.
One key problem Stefan highlighted was that each member of the development team used their own chosen environment – Java, PHP, .NET and VB! This degree of complexity and development approach caused lower levels of productivity than they would have liked – for example before OutSystems and Agile, a project that should have taken 4 months took 1 year to deliver.
With all the requirements of the business and limited ability to increase the size of the development team, the Xdx IT team decided to create a unified software architecture using SOA and deliver new applications while reducing maintenance costs and developing reusable components.
One of the missing pieces of the puzzle turned out to be OutSystems and the Agile approach. They decided to choose a platform and not the method first…(a little different to most as they did not choose the methodology first). Several reasons – including the need for a rapid development platform to keep up with the needs of their scientists. Another nice side-effect of this choice was that it meant Xdx could side-step the platform wars – and introduced a new option – OutSystems and its Agile Platform.
After 15 months and many applications built with the Agile Platform – Stefan noted were several effects:
- Probably the best benefit: A new way to interact with the business users, because with each demo the users could SEE the app as it was being developed, even in the very early stages…and the tangible results (even after the first sprint) helped build user’s confidence and adoption of the idea of Agile within the company.
- The biggest challenge was unanticipated: resistance of the Agile Platform within the development team itself. The resistance was because of perceived platform restrictions and potential skills deterioration. Stefan said that the second issue is probably more difficult to address – and they did it by enabling the developers to move around different projects. Stefan shared that the “Platform restriction” objection often went away as the developers got hands-on with the platform, although criticism was dependent on the profile of the developer. Stefan categorized the profiles as “The Programmers” who were OK with the Platform because they could get so much more done, the “Hacker Genius” who writes entire apps with 1 line of Perl code – who are likely complain the most and may or may not ever be a convert. And, finally the “Theorist” who just thinks the very idea of using a “platform” is just wrong – they may change their mind after getting hands-on with the technology but not always.
- Integrating the 2-man QA team with the Dev team – the QA team was classically trained on the waterfall method and FDA approval requires rigorous testing. They tried combining the 2 processes – that didn’t really work. So, they tried handing over pieces of the app for testing periodically – this worked to a degree but was uncomfortable for the testers since they didn’t like testing a product that was incomplete.The third try was to integrate a member of the QA team with the rest of the team from the beginning of the project and they were able to start testing in the sprints…they were then much happier since they knew about all the decisions that were made during development process. Also – the testers were able to provide important input on how to improve system testability during development. The team’s next step is to introduce an automated testing tool for regression testing – making QA even happier!
- “Agile IS as valid a process as waterfall method in a regulated environment” since documentation is being developed along with the application – however it’s important to keep the documentation at the appropriate level of details (e.g. patient care require very detailed documentation). Design reviews are the other requirement – and each demo is used as a formal design review – therefore implicitly fulfilling this requirement through the development process.
After 15 months with Agile & OutSystems it is now the de facto standard for building web applications at Xdx. They have built 3 apps (7 production releases) and around 5-6 reusable services. A great success so far!
They are also a step closer to having a unified software infrastructure with reusable services. They have shortened turn-around time from request to delivery – and providing high quality and high impact applications.
Last but not least – the new architecture, approach and tools have enabled consistent data across all divisions through integrated applications – a very important aspect in the clinical trial process!
Have you had any experience of combining Agile and Waterfall methods? What did you think of the XDx team’s solution to the QA challenge?