Software application development has grown and matured at a breathtaking speed with challenges that often surpass even the seasoned technology professional’s experience and expectations. Many large scale development efforts fail because they lack proper IT controls, right sized development processes and appropriate development tools to support the Global development effort. Reviewing MKS Integrity Suite has been an experience of discovering that some tools and vendors are way ahead of the pack by embracing solid underlying protocols, technologies and application architectures. The disciplines of Software Configuration and Release Management are emerging as essential software development best practices and MKS is clearly emerging as an industry leader by embracing leading technologies and industry standard protocols as the core foundation of their MKS Integrity Suite.
Many leading CM technologies are based upon outdated proprietary platforms and standards that were state of the art - about 20 years ago. Many CM tools are just wrappers around RCS based repositories (e.g. CVS) that simply lack the security, integrity and quality controls that today’s Enterprise development efforts demand. Issues emerging around Sarbanes Oxley compliance and data Security are putting a new emphasis on secure software technologies with built in controls to monitor data integrity and respond to inevitable events that are just part of our daily challenges in large scale CM support. Offshore outsourcing is placing even more demands upon software configuration and release management even as the World Wide Web demonstrates how the Internet and global information technology systems are an integral part of our daily life. Most technology professionals have long had a strong desire to see well thought out standards and architecture employed in the products that we must rely upon and (as CM professionals) support. MKS Integrity Suite is a tool based upon industry standard best practices and, as an Enterprise Suite represents CM technologies that are well thought out, flexible, powerful and based upon well accepted underlying technologies.
The MKS Integrity Suite was written from the ground up using J2EE and a well known industry standard application server as an underlying architecture. An MKS spokesman explained that, “Built entirely in Java, the suite is a multi-tier model built on an application server foundation.” This approach should certainly warrant considerable customer confidence and support since most large scale applications today are using the same overall architecture and existing support staff and leverage their current technical knowledge to implement and support this technology along with their existing platforms.
The administrator can choose to configure the MKS Integrity Suite to use any of a number of industry standards and well regarded database products to support a secure repository. For example, IBM’s DB2, Oracle, or Microsoft’s SQL Server can all be used as an underlying database to support a secure repository. The fact there are several good choices means that the customer can choose a database already supported and understood well by existing technology staff. This flexibility does come with a heavy price. Don’t expect to get MKS Integrity Suite up and running in an afternoon. In fact it does seem essential to use the vendor’s Professional Services staff for product configuration, installation, user training and implementation. For many large scale development efforts this investment will make the difference between project success or failure.
This reviewer was especially impressed to see the use of “signatures” and an interest in eventually using digital signatures to ensure the integrity of transactions. An MKS spokesman told me that, “We implement electronic signature and have created our approach to be compliant with the U.S. Food and Drug Administration’s (FDA) 21 Code of Federal Regulations, Part 11 (21-CFR Part 11) in the pharmaceutical sector, but it has application elsewhere. Our roadmap is to eventually support digital signatures in a few releases from now.”
The MKS Integrity Suite has a number of robust components including MKS Integrity Manager which provides a graphical interface for process and workflow design and management.
The tool aims to be process agnostic and existing customers include RUP enthusiasts, SEI CMM, ISO, Agile, XP and recently ITIL. MKS professional services include process assessment, along with design and implementation of customized software process models. There is a lot of flexibility and power in this approach, although potential customers also know that getting it right can certainly take some effort. Prepackaged templates can help with initial configuration and implementation. MKS Integrity Manager can also be used to manage issue tracking, metrics and related reporting, queries and charts.
MKS Source Integrity Enterprise has a project based focus that Project Managers will appreciate. Larger projects can be managed via smaller subprojects. CM operations can be performed on all of the members of a project as a group. MKS Source Integrity Enterprise can save files and projects as revisions in a history file and then recreate them at any time. MKS Integrity Manager provides a framework for specifying and managing the workflow including approval and change management. MKS Source Integrity Enterprise handles the source code management and version control. In a project, a project member is a specific revision of a development object and, upon checkout, a specific revision is copied to a working file, where you can work with it.
An archive is a file containing the history of a member and any revision can be reconstructed, as needed, at any time. This is a key feature in better SCM Systems that basically provides a virtual “time machine”. Developers learn quickly that it can be extremely useful to be able to go back in time and see the environment exactly as it was six months ago when the release went out the door (and make a one line fix with absolute certainty that unexpected and unwanted changes won’t cause inadvertent code regression). Many developers have told me that all of the training, implementation and effort at implementing a major CM system paid off the first time that they had to drop back to an old release and confidently created a bug fix that solved a critical issue with little risk of application regression.
There is the familiar CM paradigm of using sandboxes to provide isolation for developers along version history and metadata. Information and interfaces are presented through views. A number of IDEs are also supported including eclipse and Visual Studio among others.
Version identification is through an immutable numeric numbering system. A Revision Label is a textual name that describes and refers to revisions in a history. When a file is checked in, you are given the option of assigning it a revision label. Revisions in a history can be displayed and selected either by a revision number or a revision label. MKS Integrity Suite also offers the ability to set a baseline by checkpointing the master project and, if desired, you can also promote a members state (and thereby “set” its state). These are essential features to manage baselines and specify baseline releases of the code. Change Packages allow related changes to be grouped as a logical unit. Change Packages also provide a way to apply related changes to a project or sandbox in one operation.
A branch is a revision path that diverges from the main line of development (or trunk) in a member or project history. In CM terminology we often call this creating a variant in the code. It is an essential practice especially when developers need to create a bugfix release that just fixes a specific problem (and often ignores the latest development code that is not yet complete). Branching is essential for any good SCM tool and merging is often required to get the changes back onto the main line of development.
Access Control List System (ACLs) and Access Permissions allow the administrator to control access based upon roles. ACLs comprise principals and permissions. Principals control the users and groups who have access to the functionality of MKS Source Integrity Enterprise operations. Permissions specify the particular operations that are available. Each ACL entry identifies the allowance or denial of predefined sets of permissions. This well developed functionality is essential at a time when security is a core issue for software development teams. ACLs can be applied at a number of different levels including all files and users at the site, specific projects, individual project members, specific groups of users and even down to individual users.
The MKS security model is composed of two elements: a security realm and a security policy. The security realm is the mechanism used to authenticate users and groups (e.g. LDAP). The security policy is the protocol for sending passwords (e.g. server side encryption) and data over a connection (e.g. SSL). In MKS Integrity Suite the security realm and the security policy form an authentication scheme.
MKS Requirements – one of the newer components of the MKS Integrity Suite, is an integrated requirements management offering aimed at business analysts and developers who seek improved collaboration as requirements are built and change. The solution ships with five predefined five processes which each contain issue type and workflow, linked in MKS Integrity Manager. The five processes are project, requirement, feature, task (implementation or fix) and test. Requirements in Microsoft Word and Telelogic Doors can be tagged and then exported to MKS Integrity Manager. MKS Build and deployment also provides an integrated software build and deployment tool.
Although not evaluated for this review, MKS recently released a process framework Information Technology Infrastructure Library® (ITIL) delivered via its enterprise Application Lifecycle Management (ALM) suite for ITIL. A company spokesman told CM Crossroads that, “MKS provides a process-centric, cross-platform ALM solution covering Windows, NT, UNIX, iSeries; as well as the mainframe via integration with CA Endeavor.”
Conclusion
The MKS Integrity Suite provides a well designed enterprise suite of products suitable for managing the Application Lifecycle. The product is well thought out and built from the ground up with an emphasis on meeting the needs of the Project Manager and application developers. The Architecture of this product is based upon industry standard protocols, databases and web application platforms. The emphasis on a robust security architecture moves this product ahead of many other large scale source code management systems. The integrated workflow, issue tracking, build and deployment features make MKS Integrity Suite very high on the list of large scale ALM platforms that you should consider for managing large scale application development efforts.
Company Contact
MKS Inc. - Corporate Headquarters, Canada 410 Albert Street Waterloo, ON Canada N2L 3V3 Tel: +1 (519) 884 2251 www.mks.com
Bob Aiello is a Senior Editor for CM Crossroads and an Associate Director at a major financial services firm in NYC, where he has company wide responsibility for Software Configuration and Release Management best practices. Bob is on the Steering Committee of the NYC Software Process Improvement Network (CitySPIN), where he is also the chair of the CM SIG which meets in Midtown NYC. Mr. Aiello has a Masters in Industrial Psychology from NYU and a BS in Computer Science from Hofstra.
You can reach Mr. Aiello by email at bob.aiello@cmcrossroads.com
Trackback(0)
Comments 
Write comment
 |