AB Suite in the Application Lifecycle By: Alan Hood

White Paper The application lifecycle goes well beyond simply writing applications and testing them. It includes everything from the initial collection of the business requirements, through design and prototyping, development, release, and ongoing maintenance. A process for controlling this is called Application Lifecycle Management, or ALM. Agile Business Suite (now AB Suite™) is application development technology from Unisys that helps to address this entire application lifecycle. AB Suite, which works as a package in Microsoft Visual Studio, is also well placed to help you take advantage of tools, processes and methodologies that have been developed for Application Lifecycle Management using Visual Studio Team Foundation Server from Microsoft.

2 Table of Contents Change History 4 Application Development – Much More than Writing Code 5 ALM 5 AB Suite 6 AB Suite Overview 6 AB Suite Development with Visual Studio and Team Foundation Server 6 Version Control / Source Change Management 7 Debugger – Test Without Building 8 Testing 8 Build 9 And More 9 Features of Team Foundation Server 10 Planning 10 Agile Development Tools 10 , , and 10 Testing Tools 10 Analytics 10 Reporting 10 Release Management 10 Collaboration and Project Tracking Across the Whole Team 11 Customize the Start Page for Your Team 11 Ab Suite - Enabling Full Application Lifecycle Management 11 References 11 Unisys Documents 11 Microsoft References 11 Additional Features 11 Closing Remarks 11 About the Author 12

3 Not familiar with AB Suite? Would you like more information about it? Go to www.unisys.com for a description, links to our electronic newsletter – Developing Agility™, Product Information and downloads, client case studies, and more. Unisys can also provide technical services with AB Suite, and installing and using Microsoft Visual Studio and Team Foundation Server. Contact [email protected] for more information.

4 Application Development – Much More Than With the introduction of Team Foundation Server into the Writing Code Visual Studio suite from Microsoft, support for Agile and DevOps become part of the daily operations for many In the past the most expensive part of developing users. One of the goals of Team Foundation Server (TFS) is applications was in actually writing the programs – or at to support the full team of professionals associated with least that was the perception for most people. However, as developing and supporting applications. This includes the programming languages and development tools, such as business owners for requirements and priorities, project AB Suite, have become more efficient, and as users learn management, testing, and release and support functions, to use them more effectively, the actual writing of the code not just application development. takes on a less significant portion of the overall application lifecycle. Now it becomes more important to have better Agile/Scrum techniques and processes support the control over other areas, including defining, cataloging and communication between Business and Developers for prioritizing requirements, managing subsequent releases, optimal speed and agility. application changes and bug fixes, and eventually retiring DevOps techniques and processes support the the application. communication between Developers and Operations AB Suite has long been established as an environment for specialists for optimal speed in the Release and rapid development and deployment of large scale, business Deployment phase. critical applications. Recent releases of AB Suite embrace DevOps is an abbreviation of Development and Operations, even more of the application lifecycle by using ALM and the goal is to blend these aspects of software delivery features in Visual Studio Team Foundation Server. to find an intersection between Software Development, ALM Quality Assurance, and System Operations. DevOps steps back to span the full delivery pipeline. While DevOps is Application Lifecycle Management, or ALM, is the result of a partially implemented through tools and technology, it move to automate the Systems Development Life Cycle, and also frequently involves a cultural change, to improve also embrace more contemporary methods, such as Iterative communications and cooperation between previously Development, Prototyping, Agile and DevOps. The goal of disparate functions. With good communication between ALM is to embrace, and as much as possible, to automate, developers and operations, continuous delivery can be the or at least support with tooling, the processes involved in the result. full lifecycle of an application, from initial inception, through to release, maintenance, and eventual decommissioning. In the following pages we will examine how Visual Studio, Team Foundation Server, and AB Suite can work together to more fully address the challenges facing business professionals today in the quest to provide the right applications at the right time to their users.

5 Application Lifecycle Management AB Suite AB Suite Overview Agile/Scrum DevOps Unisys AB Suite is a unique Model Driven environment for developing mission critical solutions. It supports design, development, generation, and ongoing maintenance of high-performance, highly available, enterprise-class applications. Developers define their applications in an AB Suite model and then AB Suite will generate the target application, including transactions, batch programs, Business Developers Testers Operations Stakeholders database, and even GUI clients, all from the model. And being model driven, when they want to make changes to the application, they just change the model and regenerate Stories Reports Tests Releases the application. AB Suite takes care of building and deploying the parts that have changed.

App/Data Docs Other AB Suite provides a development environment in which business and technical professionals truly collaborate, directing changes and designing new capabilities at the We can think of ALM as a container for the entire Development process, in which Business Stakeholders, business level. It encourages developers to focus on what Developers, Testers, and Operations specialists come an application should do and not worry about how it should together. be coded or deployed. AB Suite is composed of Developer The development processes, such as Agile and Scrum, and Runtime for each of the two supported platforms, support communication between the Business and ClearPath® MCP and Windows. Developers for optimal speed and agility. DevOps processes support communication between AB Suite Development with Visual Studio and Developers and Operations for optimal speed and control in Team Foundation Server Release and Deployment. AB Suite Developer works as a package within Microsoft In a well-organized ALM environment, all have access to Visual Studio. This makes it easy to learn, and allows users the same data and artifacts, including User Stories or Requirements, Test Cases, Documentation, Build/Release to take advantage of the power of the extended capabilities Status, Project Reports, and more. in Visual Studio Team Foundation Server. The goal is to facilitate and improve communications, so Within AB Suite Developer, the three highly-integrated that each of these disciplines is aware of the status of the project at any point in time, and able to effectively do their modules are: part. ______• The System Modeler, which is the primary design and development tool • A Debugger for executing unit and functional tests • A Builder to automatically generate and deploy the application

6 AB Suite Runtime provides the framework in which AB Suite does not require Team Foundation Server, but applications run. if you choose to use it, there is so much more that becomes possible in terms of lifecycle management when AB Suite is integrated with TFS. Except as noted, the features described in the following sections require Team Visual Studio Foundation Server in the development environment. There are various installation and configuration options available, Agile Business including installing TFS on a separate server from Visual Office Suite Team Explorer Studio, which is typically installed in the user’s workstation Version Test Case environment. We won’t go into detail in any of these Expression Control Management Web configuration options, but assume that TFS is installed Requirements Build Access Management Automation somewhere in the environment, and is accessible from the SharePoint Project developer’s workstation. Look in the References section Management Reporting Extensibility at the end of this paper for documents and additional Team Foundation resources to help you install, configure and use these Server products.

Version Control / Source Change Management Lab Management AB Suite will use Team Foundation Server Version Control for application source change management. Once configured it is remarkably easy to add an AB Suite project to TFS Source Control, either as the project is being When installed as a package in Visual Studio, AB Suite created or at any time after the fact. takes center stage in Application Lifecycle Management. Features in Visual Studio and Team Foundation Server that Refer to “How to Set up Team Foundation Server (TFS) foster Agile/Scrum and DevOps software development for use with AB Suite” for step by step instructions on processes are as valuable, or even better, when AB Suite is configuring TFS Version Control for use with AB Suite selected as the development language of choice. ______Developer. Apart from the obvious advantage of using a recognized As the diagram illustrates, Microsoft Visual Studio and Team product for source management, you have the option Foundation Server combine to provide a comprehensive of using the same product for version control you may set of functionality for designing, developing, releasing and be using for other development projects within your managing applications. They are separate products, and can environment. be installed independently, but the real power comes from using them together.

AB Suite works, “out of the box”, with Visual Studio. It installs as a package in Visual Studio, and users define applications as AB Suite projects, very much as they would define a project using any .NET language.

7 Additional features available with AB Suite Version Control Debugger – Test Without Building include: Unlike most development products, it isn’t usually • Compare Tool – allows you to compare differences necessary to build and compile an AB Suite application in between elements or files. order to test it. The developers or administration staff can define debug and release configurations for a project; and • Merge Tool – to resolve conflicts between two version the developers or testers can run the application in debug files. mode right in Visual Studio. Most application objects will be • Configure AB Suite VersionFile policies – setting defaults interpreted directly from the repository without the need to controlling whether classes and folders are assigned be compiled. Developers can set tracing and breakpoints their own unique VersionFile. in the logic, step through code, examine and modify data. Once TFS Version Control is configured users will be able They can make code changes, and step through the check out and check in AB Suite model elements. When a changes again – all without the delays of building the entire user begins to edit or update an element in AB Suite, it will application. automatically check out and lock that object. It is easy to Some programs, such as screen interfaces, may need to see pending changes, and what items require checking in. be compiled before they can be tested, but AB Suite takes If others have been working in the same area they can use care of that also, by doing a “Just in Time” build of only the AB Suite Merge Tool to resolve model conflicts before those programs that need it. the updates are checked in and committed. At any time they can use the Compare Tool to view differences between This makes prototyping easier. It also makes it easier to previous versions of the model. demonstrate your new functionality to stakeholders and users. If they have a question about something you have From an application management perspective, done, jump into the Debugger and show them. administrators can define releases, branches, view and select changes. In short, all of the features that are Testing common to any source management system. And since ATT (Automated Test Tool) is a feature of AB Suite that they are using the same tool for source management with enables a user to define Test Cases and Test Suites by AB Suite as their applications written in other languages, simply running the transactions using one of the generated they don’t need to be experts in AB Suite, and major client interfaces. The people who create these tests don’t retraining is not required to manage an AB Suite project. need to be developers. They can be part of the testing organization, end users, or really, anyone who has the Refer to Unisys How To documents at the end of this paper knowledge and access to run the applications. for more information on installing and using TFS Version Control with AB Suite Developer. Tests can be designed for specific functions, such as demonstrating a feature that is undergoing change, or they can be combined to provide a comprehensive system acceptance test. These tests can be rerun at any time by developers or testers as needed. They can serve as a basis for repeatable regression test. Since the tests are very easy to create, and very easy to run, this increases the chances they actually will be run. Run by developers any time they make a change to confirm they haven’t broken anything. Run by release and administration personnel each time there is a system build. Run by your QA/Testing organization as part of their quality assurance process.

8 In a recent AB Suite Developer release (5.0) ATT test case MSBuild will work with both ClearPath MCP and Windows recordings are automatically converted to C# routines and .NET builds. MSBuild in AB Suite provides the same can be integrated with TFS Team Test. This makes it even capabilities as the traditional Builder.exe. We encourage easier to make these test runs a standard part of the Build users to switch to this new mechanism in order to gain the and Deploy process to be sure the tests are maintained best in terms of automation and control through integration and run at appropriate times. with Team Foundation Server.

Some of the key benefits of ATT include the ability to AB Suite Builder Environment provide complete, repeatable, and reliable testing, as well as reduced time required to perform the testing because of the automation. TFS Builder. Debugger and ATT are available in AB Suite with Visual Build exe Studio, and do not require TFS, but the test automation features in Team Test do require Team Foundation Server. Builder Build Core AB Suite has always had a very sophisticated Build MSBuild process that creates the program source files from your AB Suite application model, and compiles and deploys the VS Build application components. The Builder includes a change tracking capability that helps you ensure only the objects that are impacted by changes are built, compiled and deployed. AB Suite builds only what is necessary, but And More… completely covers the impact of any change. So if a global The features described above are the result of extensive item, such as a shared data item, class, method, or Global development and integration with Visual Studio and Team Logic has been modified, all of the objects that use or Foundation Server. They required engineering work to define reference that item will be checked, and if necessary built. new components or functionality that is part of AB Suite, Beginning with AB Suite Release 5.0 the build process in AB or required special work to integrate that functionality with Suite can be managed by the TFS Build Manager. You now TFS. On top of this there are a number of benefits you can have the option of using the traditional AB Suite Builder.exe get with AB Suite, simply because it works as a package in to manage your build process, or you can tie it in with the Visual Studio, and works with Team Foundation Server. TFS Build Manager.

With TFS Build you can create and manage a build process that will automatically validate and test your applications. Build scripts are defined within Team Explorer, using MSBuild, and include the ability to define Gated Builds. For example, with Gated Check In, a developer attempts to check in changes. This triggers a build of a test version of the application, and can optionally also trigger running of a test case created via ATT. If all of that is successful, the check in is successful. If any of that fails (build, test case), the changes are shelved, ready for the developer to determine the cause of the problem.

9 Features of Team Foundation Server Testing Tools You can define a Test Plan in Visual Studio that is part of Planning the project definition. You can tie tests to work items, and TFS supports default process template workflows for three make testing a mandatory part of the Build and Release development styles. Microsoft has pre-defined templates processes. This can include Load Testing, using third for Agile, Scrum and CMMI (Capabilities Maturity Model party products like JUnit, Nunit, and Maven. It can include Integration – a formal methodology built around continuous Manual Testing that must be checked off as part of the process improvement). You can choose to use some of check in process; Exploratory Testing, to check for edge the default templates, modify them to suit your needs, or conditions or verify new functionality, and record new create workflows of your own. test cases as part of the testing process; or even User Agile Development Tools Acceptance Testing. With AB Suite, tests you have defined You may start by using various Agile process templates with ATT can become an integral part of your testing and reports that help you to manage your Stories, Sprints, strategy. Backlogs and more with AB Suite in the same familiar Analytics environment. For example, the Scrum Process template can be found at this location in the MSDN library - Reporting https://msdn.microsoft.com/en-us/library/ff731587.aspx You can create custom dashboards to easily share up-to-date project status with team members and (Note, this is an external link to the Microsoft Developers administrators. Dashboards can include things like status Network website, and it may change, or may require a of active work items, backlog, bugs, build status, test subscription.) status, recent releases, links to your project wiki, and Continuous Delivery, Continuous Testing, and much more. Many items can be displayed in textual format, Continuous Integration as charts or graphs, or in smart tiles. Let’s say you want to know whether a particular bug has Release Management been fixed in the current build of your application. You can A release process can be scripted and can include a series automate tracking of changes in Version Control with Work of steps that may include automated or manual “gates”. Items, and bug reports and test results. It is easy for a An example of an automated gate might the successful developer or a project manager to find the data on whether Build of all product components with no compilation errors. the code associated with the bug fix has been integrated, A manual gate might the sign off approval by a release whether it has been built, and if it has been tested. manager. In the latter case this could be facilitated by You can control who has the authority to build and automatically sending the release manager an email that release by establishing access control over the build requires an “Approve/Reject” response. functions by groups or individual users. You can define a Your release process can enable sign-offs for deployments Build Administrators Group or individual users with these using pre- or post-deployment approvals. permissions. • Get notifications when a specific approval is due. Define build processes that automatically build and test • Pause the deployment process for manual steps or your application components, either on demand, or as part validation. of a continuous integration process. • Improve collaboration and visibility between teams. And it’s not just changes to your code that are versioned. Logs and artifacts are stored in a SQL Server repository, You can maintain versions and audit changes to your build providing permanent audit trails for all activities. and release process as well. You can choose to use predefined workflows for common tasks, or you can extend and customize them to create your own workflows

10 Collaboration and Project Tracking Across the Whole If you would like more information about AB Suite, check Team out our web site at http://www.AgileBusinessSuite.com, or When your users and developers are all in one place, in a write to us at [email protected] daily Scrum meeting, for example, they can use the project tracking features in Team Foundation Server to report on References progress. They can display defect reports, build results, This section will include links to How To documents and work item burn down charts, or other artifacts to describe white papers on the AB Suite support web site, and also their status. But even if they can’t all be in one place at references to documentation on Visual Studio and TFS on one time, the same project tracking features in Team VisualStudio.com and MSDN. Foundation Server can be used to keep everyone up to Unisys Documents date on the latest news and project status. How To documents on Support.Unisys.Com Other tools, such as Lync or Skype, project portals, and To access these document go to www.support.unisys.com good old fashioned email, can also help to keep everyone “on the same page”, whether they are located in the same • Select Document from the left options menu office, or in different time zones. • Expand Agile Business Suite under Application Development Solutions Customize the Start Page for Your Team • And then select “Agile Business Suite How To” The Visual Studio Start Page, which all users see each time they open Developer, includes a link to a default Microsoft AB Suite Application Lifecycle Management using Visual web site containing information about Visual Studio. Studio Team Foundation Server (Sep 2015) You can easily customize that on the Start Page Options How to Setup Team Foundation Server(TFS) for use with configuration menu to point to a Start Page of your choice. AB Suite (Sep 2015) This can be a local web site or portal that provides your Setup Source Control for a Shared Model Database team with critical news and information about your project (Feb 2015) or your organization. Install Visual Studio 2013 for AB Suite 5.0 (Jan 2015) AB Suite - Enabling Full Application Lifecycle Management Electronic Quarterly Newsletter Developing Agility Newsletter Archive The model driven approach in AB Suite, combined with complete generation of the application in the target Microsoft References environment makes it incredibly easy to prototype new Visual Studio references applications, or changes to existing AB Suite applications. www.visualstudio.com You can test the changes directly in the Debug environment Team Foundation Server references without building the application. Demonstrate the https://www.visualstudio.com/en-us/products/ new functionality to your users, and build it for test or tfs-overview-vs.aspx production, knowing that what you demonstrate and test is what you will release. MSDN references Combined with broader application lifecycle capabilities in Scrum Process template – Team Foundation Server for project tracking and release https://msdn.microsoft.com/en-us/library/ff731587.aspx management, AB Suite users can experience unparalleled Agile Process template – collaboration and productivity. Whether your chosen https://msdn.microsoft.com/en-us/library/dd380647.aspx process is traditional waterfall, CMMI, Agile, Scrum, DevOps or some hybrid of your own making, AB Suite and TFS can CMMI Process template – help you get the most out of your application development https://msdn.microsoft.com/en-us/library/dd997574.aspx environment.

11 About the Author As a consulting engineer, architect, and senior technical consultant, Alan Hood has been helping people get the most from their application development tools and processes for years. He works with clients across the globe to develop and enhance their core business applications. Alan worked for many years in leadership engineering and technical services roles for Unisys, and is now an independent consultant. He is a certified Scrum master, and has been using, teaching, and coaching users in all aspects of application development, using AB Suite and companion products, and predecessor technologies for more than 15 years.

For more information visit www.unisys.com

© 2016 Unisys Corporation. All rights reserved.

Unisys and other Unisys product and service names mentioned herein, as well as their respective logos, are trademarks or registered trademarks of Unisys Corporation. All other trademarks referenced herein are the property of their respective owners.

Printed in the United States of America 01/16 16-0024