Pharmaceutical software
Specialist vendors stay nimble, customer focused and ahead of the game … Paul Stuart of CI Electronics Ltd. explains
The strategic drive for scalability of systems and integrated enterprise solutions for many Pharmaceutical Companies has spawned/engendered/given birth to the Manufacturing Execution System (MES) "one-stop" software vendor, offering a suite of plug-and-play modules. Scaling-up or adding modules alongside one another, has however on occasions led to breadth rather than depth, being the determining factor in vendor selection. Niche and specialist vendors are better positioned to apply the most advanced techniques and methodologies in software development and have more recently created a new platform enabling their expertise and intimate knowledge of a particular stage in the process to be shared with equal ease across site wide systems. Perceiving benefits, component based development and the Rational Unified Process for software development form the cornerstones of this distinctive approach.
Perceiving benefits The decision to automate a production process or maybe just a stage in the process, either for the first time or as an upgrade, will be driven by a range of business and operational needs and a clear analysis of what these are, is the best (and only!) place to start. Best practise goes beyond stating the requirements of the system in operational terms to defining how any changes or improvements to the process should benefit the business as a whole. Vendors who actively mine for these business benefits signal a strong partnership approach, one which is borne out of a desire to play a positive role in achieving tangible improvements. In additions, such vendors through focus and specialisation, invariably have an intimate knowledge and understanding of the detail of the operational stage, which is reflected in the broad reach and configurability of their systems. Take the Dispensary Room as a case in point. The Dispensary is the last of the premixing production stages and the activities undertaken here (i.e. the selection and weighing of ingredients) are widely regarded as mission critical. Where the activities in a Dispensary are controlled and checked manually by a second operator, costly errors may occur because "hand on heart", we humans do make them. The operational need can be stated as the need to replace the second operator with an automation system. Niche vendors in particular are motivated to look beyond this for the business need, which may be defined (for example might be the reduction) as the need to reduce the risk to consumers of incorrect mixes(or lot) and to reduce waste costs by the elimination of errors in the dispensary. A specialist dispensary vendor would therefore more readily perceive this benefit and would seek to explain how they can deliver it thus providing a detailed insight into their capabilities, covering issues such as : 1) software logic that follows operator patterns and pre-emptive logic 2) system checks 3) system security 4) backup/recovery 5) test procedures 6) annual savings based on number of weighings/campaigns.
Component based development The component is effectively a black box, which contains a set of characteristics that can be made use of by developers. Each component will perform a specific purpose (e.g. request and validate electronic signatures). Each component will be validated separately and, once validated, cannot be affected by changes to other components (and therefore does not require re-validation). This philosophy is being advanced by Microsoft's .Net solution and is the method by which all state of the art development is taking place. The philosophy is that, when a new product is being developed, existing components on the marketplace may be incorporated. The benefits to users are that vendors may readily integrate any components into their products. Thus different vendor systems can more readily "talk to each other" and the sourcing of all modules from one vendor is no longer a constraint of the existing MES principle. In other words, an MES can be constructed by picking the "best" modules on the market, meaning those that go down into the heart of the operation and deliver tangible operational benefits. In addition, other benefits of this approach include rapid development, scalability (with components being distributed across a network), ease of upgrade and maintenance and perhaps, most importantly, ease of introducing new technology as it becomes available (eliminating the need for constant product re-writes).
Rational unified process A robust approach to software development is key to "holding it all together". The Rational Unified Process is a software development process which integrates best practise in project management, Unified Modelling Language (UML) and layered architecture design patterns.
Develop iteratively
In RUP terms, an iteration is a self-contained, mini-waterfall development cycle with elements of:
- business modelling
- requirements gathering, documentation and prioritising
- object-oriented analysis and design (OOAD)
- implementation or coding
- testing and
- deployment
Manage requirements
The single biggest reason for project failure, according to The Standish Group (standishgroup.com) is lack of end user involvement. Requirements management is all about addressing this issue and provides a systematic approach to:
- Finding, eliciting, organising, documenting and managing requirements by…
- Establishing and maintaining agreement between customer/user and the project team on the changing requirements
Project success, on the other hand, is defined as meeting all the Customers requirements. It stands to reason, therefore, that getting the requirements correct is a pre-requisite to all successful projects.
Use component architectures Component based development as described above also represents a cornerstone of the Rational Unified Process.
Model visually Some years ago, if you were an object oriented analyst or designer, you had a choice of several different modelling notations to use. Nowadays, the most popular of these have been combined (by the original authors Rambaugh, Jacobson and Booch) into the Unified Modelling Language or UML. UML is now the industry standard OOAD notation and is applicable to practically every software development project. Therefore, best practises now tell us that rather than describe our analysis and design decisions in words we should instead use UML. Why? Because UML allows communication between requirements gatherers, analysts and designers in a far less ambiguous and far more condensed form. There is another benefit to modelling visually. UML tool vendors generally provide the facility to generate code directly from UML Class Diagrams and some from Sequence diagrams. This ensures that effort put into OOAD is productive since it can significantly reduce the amount of coding in a project.
Continuously verify quality In the classic waterfall development lifecycle, testing is something that is done at the end of the project. Since the results of testing are our only way to prove that functionality has been delivered, this often means that we don't know how complete our application is until the last few weeks of the project. Potentially, a whole string of non-functional tests (like performance) could fail after coding has been completed leading to a significant amount of re-work or, in the worse instance, re-writing. By developing iteratively, we can design, code and test as we go along. This proves that functionality works well before the end of the project. This is the mechanism we use to reduce risk in the project.
Manage change The reality is that requirements may change through a project or may not all be definable at the outset. This is part of the nature of software development. Therefore, our approach has to bear this in mind. To a large extent, iterative development lifecycles help to address this because we can choose to leave unstable requirements to nearer the end of the project. Hopefully, by that time decisions will have been made or the delivery of that functionality can be postponed until version 2. Embracing the best requires a strong cross-disciplinary commitment to achievement. This has long since been and remains today the domain of the specialist vendor who likes to make a difference. Combining a traditional ethos of defining and delivering benefits with the RUP approach is how niche, specialist software vendors are retaining their competitive edge in this age of convergence.
CI Systems Ltd has been dedicated to delivering robust and flexible process automation systems to the Pharmaceutical Industry for over 25 years. For more information, contact John Roberts on +44 (0)1722 424100 or email john.roberts@cielec.com
Dunstan Thomas Holdings Ltd is an IT service Provider specialising in the fields of: Software Architecture, Object Orientated Analysis & Design and the full Rational Suite of Tools. For further information contact Dr Graham Stone on +44 (0)23 92822254 or email gstone@dthomas.co.uk