AB Suite in the Application Lifecycle



Similar documents
Agile Development with Agile Business Suite

ALM Solutions using Visual Studio TFS 2013 ALMI13; 5 Days, Instructor-led

Agile Business Suite (AB Suite)

Key Benefits of Microsoft Visual Studio Team System

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013

Effective Team Development Using Microsoft Visual Studio Team System

Testhouse Training Portfolio

Essential Visual Studio Team System

HP Application Lifecycle Management (ALM) HP Quality Center Roman Zednik HP Software Austria

ALM/Quality Center. Software

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Managing Agile Projects in TestTrack GUIDE

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Your guide to DevOps. Bring developers, IT, and the latest tools together to create a smarter, leaner, more successful coding machine

What is Application Lifecycle Management? At lower costs Get a 30% return on investment guaranteed and save 15% on development costs

Microsoft IT Deploys and Manages Office 365 ProPlus

Enhancing The ALM Experience

Global Software Change Management for PVCS Version Manager

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Done. Imagine it. c Consulting. c Systems Integration. c Outsourcing. c Infrastructure. c Server Technology.

Bridging the Gap Between Acceptance Criteria and Definition of Done

Driving Your Business Forward with Application Life-cycle Management (ALM)

The role of integrated requirements management in software delivery.

Team Foundation Server

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

Agile project portfolio manageme nt

Team Foundation Consulting. Training Workshops. Team Member Training User training designed to cater for specific roles within your team.

HP Application Lifecycle Management

Choosing a Development Tool

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Software Development. Overview.

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

SOFTWARE TESTING TRAINING COURSES CONTENTS

IT Operations Management: A Service Delivery Primer

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

SpiraTeam Feature Compa

Microsoft s Team Foundation Server (TFS) Canute Magalhaes Richland County (IT) SYSTEMS ANALYST / PROJECT LEAD 1

D25-2. Agile and Scrum Introduction

TeamCompanion Solution Overview. Visual Studio

Integrating Team Foundation Server, Microsoft Test Manager and Coded UI Tests

Become an ALM specialist in 6 weeks

Best Overall Use of Technology. Jaspersoft

Paperless Office Solution Framework for Banking & Financial Services A Business Process Automation (BPA) Approach

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs

Scrum Methodology in Product Testing : A Practical Approach

Microsoft Technology Practice Capability document. MOSS / WSS Building Portal based Information Worker Solutions. Overview

TEST MANAGEMENT SOLUTION Buyer s Guide WHITEPAPER. Real-Time Test Management

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

Software Lifecycle Integration. A Quality Management Discipline

Administering Team Foundation Server 2013

Adopting Agile Testing

Contents. Introduction... 1

Bridging Development and Operations: The Secret of Streamlining Release Management

Office SharePoint Server 2007

An introduction to the benefits of Application Lifecycle Management

How Silk Central brings flexibility to agile development

Continuous Integration

Digital Marketplace - G-Cloud

About Me Developer Workspaces Enable Agile Teams

#define. What is #define

CMTRAC. Application Overview APPLICATION DATASHEET

QA & Test Management. Overview.

MS-55115: Planning, Deploying and Managing Microsoft Project Server 2013

Microsoft Dynamics NAV

Rally Integration with BMC Remedy through Kovair Omnibus Kovair Software, Inc.

An Introduction to SharePoint Governance

HP Service Manager software

Essentials of Training. Your resource for Education Services

Requirements Management

Continuous integration for databases using Red Gate tools

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Software Development In the Cloud Cloud management and ALM

Releasing High Quality Applications More Quickly with vrealize Code Stream

How To Develop An Application

Agile Scrum Workshop

Desktop Activity Intelligence

Smarter Balanced Assessment Consortium. Recommendation

EMC Documentum Composer

Cognizant Accelerates Enterprise Application Development Cycle-time by 10 Percent

a new generation software test automation framework - CIVIM

Microsoft Dynamics GP. Business Analyzer

Turning ClearPath MCP Data into Information with Business Information Server. White Paper

Moderator: Albert Jeffrey Moore, ASA, MAAA. Presenters: Albert Jeffrey Moore, ASA, MAAA Kelly J. Rabin, FSA, MAAA Steven L. Stockman, ASA, MAAA

Rational DOORS Next Generation. Quick Start Tutorial

INTRODUCING VISUAL STUDIO 2010

JOB DESCRIPTION APPLICATION LEAD

Building an Effective Roadmap

Implementing Continuous Integration Testing Prepared by:

Statement of Direction

A Sumo Logic White Paper. Harnessing Continuous Intelligence to Enable the Modern DevOps Team

Change & Configuration! Management

Quality Assurance - Karthik

Requirements-Based Testing: Encourage Collaboration Through Traceability

Building Value with Continuous Integration

LR120 Load Runner 12.0 Essentials Instructor-Led Training Version 12.0

Faster, Easier and Cheaper Software Development: Is It Possible?

Business Insight Report Authoring Getting Started Guide

Transcription:

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 Continuous Delivery, Continuous Testing, and Continuous Integration 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 software 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 ABSuite@Unisys.com for more information. 4

Application Development Much More Than Writing Code In the past the most expensive part of developing applications was in actually writing the programs or at least that was the perception for most people. However, as programming languages and development tools, such as AB Suite, have become more efficient, and as users learn to use them more effectively, the actual writing of the code takes on a less significant portion of the overall application lifecycle. Now it becomes more important to have better control over other areas, including defining, cataloging and prioritizing requirements, managing subsequent releases, application changes and bug fixes, and eventually retiring the application. AB Suite has long been established as an environment for rapid development and deployment of large scale, business critical applications. Recent releases of AB Suite embrace even more of the application lifecycle by using ALM features in Visual Studio Team Foundation Server. ALM Application Lifecycle Management, or ALM, is the result of a move to automate the Systems Development Life Cycle, and also embrace more contemporary methods, such as Iterative Development, Prototyping, Agile and DevOps. The goal of ALM is to embrace, and as much as possible, to automate, or at least support with tooling, the processes involved in the full lifecycle of an application, from initial inception, through to release, maintenance, and eventual decommissioning. With the introduction of Team Foundation Server into the Visual Studio suite from Microsoft, support for Agile and DevOps become part of the daily operations for many users. One of the goals of Team Foundation Server (TFS) is to support the full team of professionals associated with developing and supporting applications. This includes the business owners for requirements and priorities, project management, testing, and release and support functions, not just application development. Agile/Scrum techniques and processes support the communication between Business and Developers for optimal speed and agility. DevOps techniques and processes support the communication between Developers and Operations specialists for optimal speed in the Release and Deployment phase. DevOps is an abbreviation of Development and Operations, and the goal is to blend these aspects of software delivery to find an intersection between Software Development, Quality Assurance, and System Operations. DevOps steps back to span the full delivery pipeline. While DevOps is partially implemented through tools and technology, it also frequently involves a cultural change, to improve communications and cooperation between previously disparate functions. With good communication between developers and operations, continuous delivery can be the result. 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 Business Stakeholders Stories Agile/Scrum Developers Reports Testers Tests DevOps App/Data Docs Other Operations Releases We can think of ALM as a container for the entire Development process, in which Business Stakeholders, Developers, Testers, and Operations specialists come together. The development processes, such as Agile and Scrum, support communication between the Business and Developers for optimal speed and agility. DevOps processes support communication between Developers and Operations for optimal speed and control in Release and Deployment. In a well-organized ALM environment, all have access to the same data and artifacts, including User Stories or Requirements, Test Cases, Documentation, Build/Release Status, Project Reports, and more. The goal is to facilitate and improve communications, so that each of these disciplines is aware of the status of the project at any point in time, and able to effectively do their part. AB Suite AB Suite Overview 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, 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 the application. AB Suite takes care of building and deploying the parts that have changed. AB Suite provides a development environment in which business and technical professionals truly collaborate, directing changes and designing new capabilities at the business level. It encourages developers to focus on what an application should do and not worry about how it should be coded or deployed. AB Suite is composed of Developer and Runtime for each of the two supported platforms, ClearPath MCP and Windows. AB Suite Development with Visual Studio and Team Foundation Server AB Suite Developer works as a package within Microsoft Visual Studio. This makes it easy to learn, and allows users to take advantage of the power of the extended capabilities in Visual Studio Team Foundation Server. Within AB Suite Developer, the three highly-integrated modules are: 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 applications run. Office Expression SharePoint Version Control Requirements Management Project Management Visual Studio Agile Business Suite Test Case Management Build Automation Team Foundation Server Lab Management Reporting Team Explorer Web Access Extensibility When installed as a package in Visual Studio, AB Suite takes center stage in Application Lifecycle Management. Features in Visual Studio and Team Foundation Server that foster Agile/Scrum and DevOps software development processes are as valuable, or even better, when AB Suite is selected as the development language of choice. As the diagram illustrates, Microsoft Visual Studio and Team Foundation Server combine to provide a comprehensive set of functionality for designing, developing, releasing and managing applications. They are separate products, and can be installed independently, but the real power comes from using them together. AB Suite does not require Team Foundation Server, but 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 Foundation Server in the development environment. There are various installation and configuration options available, including installing TFS on a separate server from Visual Studio, which is typically installed in the user s workstation environment. We won t go into detail in any of these configuration options, but assume that TFS is installed somewhere in the environment, and is accessible from the developer s workstation. Look in the References section at the end of this paper for documents and additional resources to help you install, configure and use these products. Version Control / Source Change 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 created or at any time after the fact. Refer to How to Set up Team Foundation Server (TFS) for use with AB Suite for step by step instructions on configuring TFS Version Control for use with AB Suite Developer. Apart from the obvious advantage of using a recognized product for source management, you have the option of using the same product for version control you may be using for other development projects within your environment. 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 include: Compare Tool allows you to compare differences between elements or files. Merge Tool to resolve conflicts between two version files. Configure AB Suite VersionFile policies setting defaults controlling whether classes and folders are assigned their own unique VersionFile. Once TFS Version Control is configured users will be able check out and check in AB Suite model elements. When a user begins to edit or update an element in AB Suite, it will automatically check out and lock that object. It is easy to see pending changes, and what items require checking in. If others have been working in the same area they can use the AB Suite Merge Tool to resolve model conflicts before the updates are checked in and committed. At any time they can use the Compare Tool to view differences between previous versions of the model. From an application management perspective, administrators can define releases, branches, view and select changes. In short, all of the features that are common to any source management system. And since they are using the same tool for source management with AB Suite as their applications written in other languages, they don t need to be experts in AB Suite, and major retraining is not required to manage an AB Suite project. Refer to Unisys How To documents at the end of this paper for more information on installing and using TFS Version Control with AB Suite Developer. Debugger Test Without Building Unlike most development products, it isn t usually necessary to build and compile an AB Suite application in order to test it. The developers or administration staff can define debug and release configurations for a project; and the developers or testers can run the application in debug mode right in Visual Studio. Most application objects will be interpreted directly from the repository without the need to be compiled. Developers can set tracing and breakpoints in the logic, step through code, examine and modify data. They can make code changes, and step through the changes again all without the delays of building the entire application. Some programs, such as screen interfaces, may need to be compiled before they can be tested, but AB Suite takes care of that also, by doing a Just in Time build of only those programs that need it. This makes prototyping easier. It also makes it easier to demonstrate your new functionality to stakeholders and users. If they have a question about something you have done, jump into the Debugger and show them. Testing ATT (Automated Test Tool) is a feature of AB Suite that enables a user to define Test Cases and Test Suites by simply running the transactions using one of the generated client interfaces. The people who create these tests don t need to be developers. They can be part of the testing organization, end users, or really, anyone who has the knowledge and access to run the applications. 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 recordings are automatically converted to C# routines and can be integrated with TFS Team Test. This makes it even easier to make these test runs a standard part of the Build and Deploy process to be sure the tests are maintained and run at appropriate times. Some of the key benefits of ATT include the ability to provide complete, repeatable, and reliable testing, as well as reduced time required to perform the testing because of the automation. Debugger and ATT are available in AB Suite with Visual Studio, and do not require TFS, but the test automation features in Team Test do require Team Foundation Server. Build AB Suite has always had a very sophisticated Build process that creates the program source files from your AB Suite application model, and compiles and deploys the 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 completely covers the impact of any change. So if a global item, such as a shared data item, class, method, or Global Logic has been modified, all of the objects that use or reference that item will be checked, and if necessary built. Beginning with AB Suite Release 5.0 the build process in AB Suite can be managed by the TFS Build Manager. You now have the option of using the traditional AB Suite Builder.exe to manage your build process, or you can tie it in with the TFS Build Manager. MSBuild will work with both ClearPath MCP and Windows.NET builds. MSBuild in AB Suite provides the same capabilities as the traditional Builder.exe. We encourage users to switch to this new mechanism in order to gain the best in terms of automation and control through integration with Team Foundation Server. AB Suite Builder Environment TFS Build MSBuild Builder Core Builder. exe VS Build And More The features described above are the result of extensive development and integration with Visual Studio and Team Foundation Server. They required engineering work to define new components or functionality that is part of AB Suite, or required special work to integrate that functionality with TFS. On top of this there are a number of benefits you can get with AB Suite, simply because it works as a package in Visual Studio, and works with Team Foundation Server. 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 Planning TFS supports default process template workflows for three development styles. Microsoft has pre-defined templates for Agile, Scrum and CMMI (Capabilities Maturity Model Integration a formal methodology built around continuous process improvement). You can choose to use some of the default templates, modify them to suit your needs, or create workflows of your own. Agile Development Tools You may start by using various Agile process templates and reports that help you to manage your Stories, Sprints, Backlogs and more with AB Suite in the same familiar environment. For example, the Scrum Process template can be found at this location in the MSDN library - https://msdn.microsoft.com/en-us/library/ff731587.aspx (Note, this is an external link to the Microsoft Developers Network website, and it may change, or may require a subscription.) Continuous Delivery, Continuous Testing, and Continuous Integration Let s say you want to know whether a particular bug has been fixed in the current build of your application. You can automate tracking of changes in Version Control with Work Items, and bug reports and test results. It is easy for a developer or a project manager to find the data on whether the code associated with the bug fix has been integrated, whether it has been built, and if it has been tested. You can control who has the authority to build and release by establishing access control over the build functions by groups or individual users. You can define a Build Administrators Group or individual users with these permissions. Define build processes that automatically build and test your application components, either on demand, or as part of a continuous integration process. And it s not just changes to your code that are versioned. You can maintain versions and audit changes to your build and release process as well. Testing Tools You can define a Test Plan in Visual Studio that is part of the project definition. You can tie tests to work items, and make testing a mandatory part of the Build and Release processes. This can include Load Testing, using third party products like JUnit, Nunit, and Maven. It can include Manual Testing that must be checked off as part of the check in process; Exploratory Testing, to check for edge conditions or verify new functionality, and record new test cases as part of the testing process; or even User Acceptance Testing. With AB Suite, tests you have defined with ATT can become an integral part of your testing strategy. Analytics Reporting You can create custom dashboards to easily share up-to-date project status with team members and administrators. Dashboards can include things like status of active work items, backlog, bugs, build status, test status, recent releases, links to your project wiki, and much more. Many items can be displayed in textual format, as charts or graphs, or in smart tiles. Release Management A release process can be scripted and can include a series of steps that may include automated or manual gates. An example of an automated gate might the successful Build of all product components with no compilation errors. A manual gate might the sign off approval by a release manager. In the latter case this could be facilitated by automatically sending the release manager an email that requires an Approve/Reject response. Your release process can enable sign-offs for deployments using pre- or post-deployment approvals. Get notifications when a specific approval is due. Pause the deployment process for manual steps or validation. Improve collaboration and visibility between teams. Logs and artifacts are stored in a SQL Server repository, providing permanent audit trails for all activities. 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 Team When your users and developers are all in one place, in a daily Scrum meeting, for example, they can use the project tracking features in Team Foundation Server to report on progress. They can display defect reports, build results, work item burn down charts, or other artifacts to describe their status. But even if they can t all be in one place at one time, the same project tracking features in Team Foundation Server can be used to keep everyone up to date on the latest news and project status. Other tools, such as Lync or Skype, project portals, and good old fashioned email, can also help to keep everyone on the same page, whether they are located in the same office, or in different time zones. Customize the Start Page for Your Team The Visual Studio Start Page, which all users see each time they open Developer, includes a link to a default Microsoft web site containing information about Visual Studio. You can easily customize that on the Start Page Options configuration menu to point to a Start Page of your choice. This can be a local web site or portal that provides your team with critical news and information about your project or your organization. AB Suite - Enabling Full Application Lifecycle Management The model driven approach in AB Suite, combined with complete generation of the application in the target environment makes it incredibly easy to prototype new applications, or changes to existing AB Suite applications. You can test the changes directly in the Debug environment without building the application. Demonstrate the new functionality to your users, and build it for test or production, knowing that what you demonstrate and test is what you will release. Combined with broader application lifecycle capabilities in Team Foundation Server for project tracking and release management, AB Suite users can experience unparalleled collaboration and productivity. Whether your chosen process is traditional waterfall, CMMI, Agile, Scrum, DevOps or some hybrid of your own making, AB Suite and TFS can help you get the most out of your application development environment. If you would like more information about AB Suite, check out our web site at http://www.agilebusinesssuite.com, or write to us at ABSuite@Unisys.com References This section will include links to How To documents and white papers on the AB Suite support web site, and also references to documentation on Visual Studio and TFS on VisualStudio.com and MSDN. Unisys Documents How To documents on Support.Unisys.Com To access these document go to www.support.unisys.com Select Document from the left options menu Expand Agile Business Suite under Application Development Solutions And then select Agile Business Suite How To AB Suite Application Lifecycle Management using Visual Studio Team Foundation Server (Sep 2015) How to Setup Team Foundation Server(TFS) for use with AB Suite (Sep 2015) Setup Source Control for a Shared Model Database (Feb 2015) Install Visual Studio 2013 for AB Suite 5.0 (Jan 2015) Electronic Quarterly Newsletter Developing Agility Newsletter Archive Microsoft References Visual Studio references www.visualstudio.com Team Foundation Server references https://www.visualstudio.com/en-us/products/ tfs-overview-vs.aspx MSDN references Scrum Process template https://msdn.microsoft.com/en-us/library/ff731587.aspx Agile Process template https://msdn.microsoft.com/en-us/library/dd380647.aspx CMMI Process template https://msdn.microsoft.com/en-us/library/dd997574.aspx 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