Wednesday, July 23, 2014

Client Showcase: Retailer Better Meets Customer Needs with Managed Services

Prolifics is committed to helping our clients create (and grow) competitive advantage in their industry. We are proud to have empowered this well known Retailer to do just that, again. After a successful e-commerce solution, Prolifics and our client teamed up again to bring ongoing managed services to further differentiate from the competition.

Our client is a high-end department store chain based in the United Kingdom. Business leaders previously began a strategic initiative to expand the Company’s e-commerce capabilities by expanding the product lines available online and improving connectivity with their distribution service to shorten delivery times in support of a higher volume of online purchases. Prolifics successfully led the implementation of a centralized Warehouse Management System (WMS) that would serve as the foundation for this project. The Prolifics team continued to provide support as needed to deliver the necessary IBM WebSphere MQ and IBM Integration Bus skills required to troubleshoot issues and make updates within the system. Over time, the Company found that their internal IT staff was spending approximately 60% of their time supporting the WMS production environment rather than deepening the capabilities of the solution. Finally, as ad hoc support service costs for the solution began to balloon during the holiday season, their busiest season for online purchases, business leaders began to explore better long-term support options with Prolifics. Valuing the deep technical expertise Prolifics has with IBM WebSphere MQ and IBM Integration Bus, our client engaged the Prolifics team to provide ongoing managed services in order to effectively maintain their WMS system while releasing internal staff to focus on other critical business issues. Prolifics recommended the implementation of SmartCloud APM and SmartCloud Control Desk to enable real-time alerts and provide a centralized ticketing system for submitting and addressing IT issues. Prolifics experts then led the implementation of these tools and developed reasonable service level agreements (SLAs) for the ongoing services that would meet the Company's needs. With managed services now in place, the Company is assured of timely, knowledgeable support for the more than 50 workflows in their WMS solution, with dedicated Prolifics staff available during regular call center hours to rapidly address issues and provide development support as needed. Further, with the new monitoring tools in place, staff can more proactively identify and address potential failures to ensure functionality and ultimately create a better user experience for online consumers.

To learn more about Prolifics Managed Services, visit: http://www.prolifics.com/managed-services

Implementing an Enterprise Services Layer - Reusable Lessons Learned

Technology implementations can be challenging. When the implementation involves several teams, multiple business units and requires a different approach than the one that is in place currently, the process can become even more demanding and at times daunting. However, if done right, the results can deliver significantly positive results for an organization.

In this article, we will be looking at the implementation process of an Enterprise Services Layer built on Service Oriented Architecture by the Prolifics Integration team and the important lessons learned during the course of the implementation. After all, reusable lessons go hand in hand with the process of developing and implementing reusable services.

This article is divided into three sections:
  • Details of the solution and the major decisions taken during project lifecycle
  • The lessons learned during the implementation process
  • Project Success
Solution Details
The Business Challenge
Due to the lack of an enterprise wide integration layer, business units were unable to easily consume the services offered by other units and share business data. This prevented the organization from providing new and value added services to consumers resulting in lost market opportunities and revenue growth.

The Business Requirements
  1. Develop a common service hosting layer that various business units can utilize to access enterprise services
  2. Build a highly available, scalable and flexible solution that provides maximum throughput and 99.999% uptime
  3. Implement an effective service governance framework
  4. Implement a platform and services monitoring and reporting solution
Project Kick-Off Approach
The Prolifics team worked with leaders and representatives from customer IT departments and business units to understand the corporate culture in general and team culture in specific. The idea was to understand the way projects typically get done at the customer and customize our approach to developing and deploying the solution by understanding the current processes and practices. 

1. Team Education
One of the first tasks undertaken was to educate the stakeholders involved and bring about a common understanding of the project goals and solution. The goal was to make sure that we clearly communicate the scope of the solution; that is what the solution is meant for and what the solution is not meant for. 

2. Create SOA principles
This project being the first to build an enterprise-wide services layer based on SOA, we established a set of SOA principles in-order to keep the project implementation aligned with the project requirements and maximize the organization’s return on investment in this project.  
  1. Consistent service definitions and implementation
  2. Consistent and secure access to corporate processes and data
  3. Standard-compliant enterprise governance
  4. Consistent and well-defined data model
  5. Cross-enterprise platform and services monitoring
3. Establish an SOA Center of Excellence
A successful implementation of a large scale SOA initiative requires bringing people from different business and technical areas together to support the implementation goals. The COE team was tasked with creating a solution blueprint to drive the overall implementation tasks and help the organization to adopt, formalize and improve the development process. 

The following were the main responsibilities of the COE team.


The Technology Foundation
To meet the service layer requirements, choosing the right technology foundation to host the solution is an important aspect; this is especially true since multiple components and systems need to integrate and function together seamlessly. It is important to consider not just the current requirements, but rather the long-terms requirements; the future growth, flexibility to add additional services, integrate with new and disparate systems, support additional throughput and at the same time maintaining the performance, scalability and availability. 

The solution comprised of the following products:





Key Factors in Choosing the Technology:


Deployment Topology:

The below diagram shows the solution deployment topology.



  1. The service consumers connect to the global Load Balancer which based on the consumer region and load balancing algorithms, connect to one the of the available downstream load balancers
  2. The service consumers can use a single endpoint that provides abstraction and high availability
  3. The DataPower devices act as a secure gateway, provide additional internal load balancing and SOA policy enforcement point
  4. IIB – A Highly available IBM Integration Bus architecture provides the service execution, message flow orchestration, advanced transformation and data enrichment platform
  5. Fail-over infrastructure – Multi-node, inter-frame and cross site infrastructure provide advanced fail-over mechanisms 
  6. WSRR – WebSphere Service Registry and Repository provides service life-cycle governance features and acts as the service policy definition point
Lessons Learned
Educate the Stakeholders
Ensure that the stakeholders understand SOA principles, project scope and project goals.  This step needs to done right at the start of the project; saves significant amount of time and money during the overall project roll-out and helps keep the project on schedule.

Security 
Plan for security right at the start of the project; this includes determining the protocols, encryption technologies, authentication and authorization processes etc. If the customer does not have an enterprise wide common security standards, it is possible that individual teams use different and at time incompatible security practices and processes that can lead to substantial challenges during the integration process. 

The Center of Excellence needs to provide sample code, documentation and implementation approaches to assist the different teams in pursuing a common security standard.

Make sure service consumers understand the implementation details
Ensure that the service consumers understand the details of connecting to the service layer and consuming the available services. Most often, service consumers face challenges when it comes to connectivity details, security implementation details etc. To make the process easier, have test beds made available for the consumers. Additionally, a functioning and well documented integration environment will further help in this process. 

Follow industry and internal standards
As part of the Center of Excellence enterprise architectural decisions, make sure that the stakeholders agree on the industry as well as internal standards that need to be followed. With limited resources and budget, common standards and practices will help in easier and simpler overall implementation process. This will additionally help in ensuring that the various teams can talk a common language and provide common support and maintenance services. 

Avoid Service Layer Complexity
The service layer complexity needs to be avoided. Additionally, only the necessary operations that directly enable integration connectivity and facilitate associated supporting activities should be deployed on the Service layer. It is important not to task the service layer with an application or service provider specific activity or functionality. The service layer needs to be lightweight, scalable and highly available. 

Iterative Deliverables
When an organization is just getting started with an SOA based service layer approach, identify the services that can be easily and readily hosted on the service layer. By taking a long term and iterative deliverables approach, the return of investment can be maximized and risks can be reduced. 

Performance Testing
Most often, it is difficult to understand the performance behavior of various applications and systems in an Enterprise Service solution. With services hosted by multiple business units and often running on different technologies, performance bottlenecks can be a recurring problem. 

In order to properly understand the performance behavior of the various systems and the overall solution, it is important to do performance testing early and often. Surprises such as a bad network route or a wrongly configured server can be avoided if performance testing is incorporated as part of the development life-cycle and performance engineering best practices are followed. 

Monitoring and Reporting
In a typical SOA based environment, tracking down performance and availability issues can be extremely challenging due to the loosely-coupled design. Additionally, with services hosted by multiple providers, keeping tracking of SLA and performance counters can prove to be even more difficult. 

In order to deal with these challenges, it is important to have an end-to-end monitoring solution. The solution should ideally monitor not just the operating infrastructure (performance, availability etc.) but also the business services (SLAs, service availability etc.). It is also important to have a solution that can provide useful and easy-to-understand reports that will assist in planning for capacity planning and performance analysis.  

Organizational Readiness
  • IT departments and organizational units typically find that the process of introducing new initiatives that change the way projects are typically done is difficult. To ensure project success and maximize IT investment returns, strong leadership support for these initiatives is required. It is essential that the leadership team communicate the significance of the project and establish a strong project management team.
Importance of Service Governance 
  • In order to provide consistent and standardized development, delivery and implementation of services and reduce risks, a strong governance model needs to be established as part of the project life-cycle. In a large scale implementation involving numerous teams, a strong service governance model that can handle the entire service life-cycle can ensure that the implementation process aligns perfectly with the business requirements and organizational goals.


Project Success
The Enterprise Server Layer currently handles over 6 million transactions per day. With a strong architectural foundation in place, the platform can seamlessly support additional throughput by horizontal or vertical scaling in a highly available environment. Additionally, the solution delivered end-to-end governance, monitoring and performance reporting. 

The solution proves that with proper architecture, design principles and team partnerships, organizations can achieve excellent return of investments and realize project success that can enable new market opportunities and business growth.


Authors:
The team of integration experts at Prolifics enable customers to maximize the return on their IT investments by providing end-to-end integration, governance and monitoring capabilities. To learn more about Prolifics' integration solutions, visit: http://www.prolifics.com/soa-universal-connectivity

What We Can Expect from the IBM-Apple Alliance

The IBM-Apple deal was one of the most talked about news stories in the world of IT this week. As Premier IBM Business Partners, we at Prolifics are thrilled to hear how these two innovative enterprises will continue to shape the future of mobile.

To learn more about the alliance, we decided to sit down with two experts who can share unique insight on what this means for IBM, today’s businesses and consumers around the word. At Prolifics’ Sea Change Summit this week in Montauk, New York, we met up with Ken Parmelee, Technology Business Development Executive, MobileFirst at IBM. We also sat down with Maya Abinakad, Marketing Communications Manager at Prolifics, to talk about what Prolifics clients


Ken Parmelee, Technology Business Development Executive, MobileFirst at IBM
Why do you think this deal is happening now? 
Apple and IBM have an opportunity to shape the mobile enterprise market uniquely. The enterprise market has for years asked for stronger management, security and more scalable solutions. This partnership provides enterprise grade iOS solutions.

In your opinion, just how big is this announcement, when looking at IBM’s 100+ year history?
IBM has had many historic announcements. This would rank high due to the explosion of the cloud and mobile markets and the lack of enterprise solutions in those spaces. Apple's strong consumer focus will lend to IBM design to create even better user experience for these. Both companies are at their best with their focus on the combined capabilities

What are your predictions in terms of what customers can expect as a result of this deal?
Customers can expect:
  • World-class enterprise purchase and support for their devices
  • More secure solutions and services
  • Developer tools and services that speed development while creating beautiful high fidelity iOS experiences that scale. 
Why is data such a critical component of this deal?
The future of computing is all about predictive analysis and intelligent automation that drive personalized, contextual interactions and user experiences. Leveraging the capabilities of IBM MobileFirst for iOS developers will be able to create applications that bring this to reality on the mobile devices Apple creates that are renowned for their user experience.

Connect with Ken Parmelee today!


Maya Abinakad, Marketing Communications Manager at Prolifics
What do you think the Apple-IBM alliance says about technology and business today?
I believe the message this is sending to the market is significant. Mobile has very much been a disruptive technology and has transformed both our personal and professional lives. Until now, we have seen a clear separation between these worlds when it comes to mobile devices. The IBM-Apple alliance will bring a greater overlap, as IBM and Apple combine proven enterprise solutions together with a best-in-class user experience. I hope that this will lessen the divide between business leaders and creative leaders.

What does this deal mean for Prolifics’ clients?
It means they can have the best of both worlds. These solutions will include the market-leading strengths of IBM and Apple – bringing a completely new level of value for businesses. Our clients are forward-thinking, and this will enable them to leverage the full potential of mobility, all while benefiting from the excellent design and user experience of Apple mobile devices. We are excited to help them get to the next level in mobility.

In what ways do you think Prolifics will be able to contribute to this new alliance?
As a Premier IBM Business Partner, Prolifics has always been committed to leveraging IBM technologies to create customized IT solutions that create competitive advantage. Now, we will be able to offer powerful mobile enterprise solutions on iOS, empowering our clients in ways that were never before possible. As our clients continue to lead their industries in innovation, they will rely more heavily on Prolifics’ technical excellence and industry focus.

Connect with Maya Abinakad today!

Congratulations to IBM on this exciting initiative! We look forward to contributing to your continued innovation!


To learn more about Prolifics, visit www.prolifics.com.

To learn more about the IBM-Apple alliance, visit: http://www.ibm.com/mobilefirst/us/en/

Thursday, July 17, 2014

Client Showcase: Insurer Wins with Centralized, Reliable and Secure ESB

At Prolifics, our commitment to client success is at the core of our business. Recently, we celebrated a successful solution "go-live" with one of our clients in New York. The solution highlights our team's expertise and technical skill across IBM software.

Our client is a large health insurer based in New York, servicing over 3 million people. Facing increasing challenges to maintain the disparate legacy technologies from the merged providers, the Company sought to integrate their systems under a centralized, reliable and secure enterprise service bus (ESB). Additionally, the Company wanted to move away from their traditional paper-based model by integrating a messaging framework into the new ESB that would enable faster, easier patient onboarding and care. They reached out to Prolifics to lead the project, wanting to leverage our strong ESB capabilities to build an optimal solution. Prolifics experts designed and installed an infrastructure architecture built on IBM Integration Bus (IIB), IBM Decision Server Rules and IBM DataPower to enable a robust ESB and integrated IBM Business Monitor and IBM Tivoli Composite Application Monitor (ITCAM) for Transactions to provide deeper monitoring and reporting capabilities, conducting testing throughout the effort to ensure optimal performance. The Prolifics team also developed a common rules framework to connect the disparate customer enrollment programs to various other internal systems. With the new ESB and rules engine in place, the Company can ensure consistent, secure sharing of customer enrollment information across the enterprise, improving efficiency and ultimately quality of care.

To learn more about Prolifics' integration solutions, visit: http://www.prolifics.com/soa-universal-connectivity

Introduction to Script Portlet using AngularJS

Introduction
In this blog entry I would like to give an introduction to the NEW Script Portlet using AngularJS. I will also show you how to develop a sample weather application using the Script Portlet using AngularJS. 

This sample is only for demo purposes, and is by no means a completed application. In addition, this blog entry does not cover all the features of AngularJS or the Script Portlet.

What is Script Portlet?
The Script Portlet is IBM’s version of http://jsfiddle.net. It allows developers to write an application using JavaScript, HTML and CSS technologies. You only need a browser to develop and run these technologies. 

Installing Script Portlet
You can download Script Portlet from Greenhouse. This Portlet is constantly being updated with new features. At the time of this writing the Portlet is at version 1, update 3.

Your portal server should be at least at V8.0.0.1 CF 11 to install version 1.3 of Script Portlet. 

Once your Portal is updated, follow the steps in the “readme.pdf” to install the Portlet. This file is located in the .zip file you downloaded from Greenhouse.

Hello World
So now that you have your Script Portlet, let’s do a simple “Hello World” 
1. Place the Script Portlet on a portal page. 
2. Click “Edit Mode” on the top right of the page. This will enable the “Edit” link on your Portlet.




 3. Click the “Edit” link on the Portlet. This will launch four panels.


HTML/<head>: In this panel you can write your HTML code. Click on the <head> link to open the Head panel. Here you can write any code that you want to place in the <head> section of your Portal page. Note: If you want to include any JS or CSS files you can place them under the “Depedencies” section, explained later.
CSS: In this section put any CSS classes you want to define.
JavaScript: In this section place any JavaScript code you may have.
Preview: Once you click the “Save” button, your application can be previewed in this panel. 
For all these panels you have an icon that looks like this:. Click on this icon to expand the  panel. In the Preview panel you can also preview the application in a new browser window, just click the new browser icon.
Dependencies: You can define any external JS or CSS dependencies here. Just give the URL and click the “+” button to add the external resource to your application. Any dependencies you define here are automatically added to <head> section of the page. 
Rename the Portlet: You can rename the Portlet title. Click “Edit” link next to “Script Portlet Content Item”. Rename it to “Hello World”.
 


4. Now that we know the interface, let’s continue with our Hello World app. Place the below code in their respective panels.
HTML: 

JavaScript:

5. Click the Save button. This will render the application in the Preview panel.


6. Click on the “Click Me” button. It will display an alert that says “Hello, Script Portlet”.


7. Great, we finished our first application.

Some More Details About Script Portlet
All the code you develop in script Portlet is stored within IBM Web Content Management found on the Portal server.




You could create your own WCM project using managed pages and create a Portlet using Script Portlet. This project can then use WCM workflows to approve the page and Portlet for release and change management control.

For more details on Managed pages please refer to the IBM Wiki.

What is AngularJS?
AngularJS is like any other JavaScript framework (such as jQuery, Dojo, Prototype.js etc.), but with one key difference. AngularJS is based on a MVC framework. With growing demand to make web applications work more like desktop applications, you need to carefully design your front end views. If your JavaScript is all over the place with <script> tags then it will be impossible to maintain. With other frameworks like jQuery and Dojo, you as a developer should put extra effort to design your application properly. But with AngularJS (much like Spring and Struts) it provides guidelines of how to develop an MVC application.

Say Hello to AngularJS
Let’s develop a simple application before we develop a bigger application.
1. Place the script Portlet on the portal page and open the editor.
2. Add https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.13/angular.min.js as the


3. Directives: Directives are notations letting AngularJS know what that block means. For example “ng-app” lets the framework consider that block as an application. This “ng-app” directive makes AngularJS take care of some important tasks on your behalf. The “ng-app” directive makes sure it initializes the models (ng-model), controllers (ng-controller), views (ng-view), etc. as the application is loaded.

We use {{someModelReference}} format to reference a model, typically meaning a data element.
This information is enough to complete our first AngularJS application.

4. Copy the below code in HTML panel.


5. Click the “Save” button. The application is opened in Preview panel. Type your name in the text box.



AngularJS Building Blocks
As seen in the above example, with some simple directives we made our code simple and clean, but at the same time we achieved some functionality without any JavaScript code. Now our code looks more readable. Let’s explore the building blocks of this framework:

Module:
A module is like an application. You can have one or more modules/applications on a page. In the above application “ng-app” initializes an application. A module can be initialized as ng-app=”MyModuleName”.
Modules contain models, controllers, views, factories, services, etc.

Model:
Any framework model represents your data. In AngularJS you can define what a model is. It can be as simple as string or it could be an object. You use “ng-model” to bind your data to HTML controls. You can also reference your model using {{yourObject.attribute}}. 

Model data is properly scoped when you use “ng-app” directive. Models can be further scoped using “ng-controller”. They can also be passed between controllers or views.

Controller
As in any MVC framework, your controller is the bridge between model and view. Controller can do custom logic, invoke a factory/service to call backend and construct the data model and hand it over to appropriate view.

View
View is the markup for the application. “ng-view” defines a view. There can be multiple views in an application. Each view is a HTML template that has place holders for model data and event handlers to hand over control to Controllers.

Routing
Routing is the configuration that defines which view to invoke and which control to be used. In the below example when “/list” is the path, it renders the “list.html” template and passes “ListCtrl” controller.


Factory/Service
Factory/Service is used to make a reusable service. Typically controllers invoke one or more services.

Weather App
Let’s develop a sample weather application using some of the features of AngularJS.

Since we have only one view, we don’t have to define the view explicitly or configure the routing. You can explore more on views and routing at https://angularjs.org/.

We use a free REST API to develop this application. You need a create a free account at http://www.wunderground.com/weather/api/d/docs?d=data/index&MR=1

This free account will generate a key, which should be used in our sample application.

Dependencies
Define the following dependencies.
1. https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.13/angular.min.js
2. http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css

We use bootstrap to control the look and feel. Bootstrap is an open source CSS utility to create responsive applications.

JavaScript 
Place the following code in JavaScript panel. Code is explained with inline comments.


HTML
Place the following HTML code in HTML panel. Code is explained with inline comments.

                          

                           

Ajax Proxy
We cannot directly make an Ajax call to another domain as browsers do not allow cross site scripting for security reasons. Portal has a feature called “Ajax proxy” that allows this to happen. It just needs some configuration.

Copy “proxy-config.xml” from your Portals  “IBM\WebSphere\wp_profile\config\cells\<YourCell>\applications\AJAX Proxy Configuration.ear\deployments\AJAX Proxy Configuration\wp.proxy.config.war\WEB-INF” directory and add the following policy.


Run the following command:


C:\IBM\proxy-config.xml is your updated file.

Final output:





Features Coming Soon
There are some NEW features that IBM plans to release soon:
1. Upload zip files: In the next version you should be able to upload a zip file with multiple JS, CSS and HTML files.
2. Copy existing scripts: You can copy existing scripts from a different project and update them as required.
3. WebDav entry point: You should be able to update your files connecting to a WebDav entry point. This should be handy if you use any tool like Brackets to edit your code or store the files in source repository.

References:
Greenhouse Script Portlet URL: https://greenhouse.lotus.com/plugins/plugincatalog.nsf/assetDetails.xsp?action=editDocument&documentId=DDB5C467D991413285257C67002476E0

Script Portlet Sample:
http://openntf.org/main.nsf/project.xsp?r=project/Script%20Portlet%20Samples%20for%20IBM%20WebSphere%20Portal/summary

Script Portlet Webinar:
https://developer.ibm.com/social/2014/05/05/webinar-replay-developing-portlets-using-html-css-javascript/

Script Portlet Presentation:
http://www.slideshare.net/IBMSBT/script-portlet-v30#

Sample Weather Service:
http://www.wunderground.com/weather/api/d/docs?d=data/index

AngularJS:
https://angularjs.org/

AngularJS Video Tutorial:
https://www.udemy.com/angularjs-jumpstart/?couponCode=AngularJSJumpStart40


Krishna Bhupathi is a Technical Lead with strong background in J2EE and Portal technologies. With over 10 years of experience in IBM technologies, Krishna has been responsible for design and delivery of many intranet and internet web sites using IBM products. He is a certified Portal developer. Prior to Prolifics, Krishna worked for IBM Global Services. He used to design and develop portal solutions to customers. 
Krishna attended college in India, he did his engineering in Computer Science at Visvesvaraya Technological University. He likes playing cricket, he plays for TCC at Triangle Cricket League, NC.

Monday, June 23, 2014

How to Conduct a Quality Assessment Under a Short Timeframe With Limited Resources

As part of its service offering, Prolifics provides clients (or prospective clients) an assessment of their current quality processes. Recently, Prolifics engineers were requested to go onsite at a client location to render such an assessment of a complex, multi-tier, application. However, the client would only agree to a very short length of time for the assessment.  Prolifics accepted this challenge – knowing that it would be a demanding project. This brief article describes, at a high level, the approach taken, the constraints that we worked under and the end result.

Rapid Assessment Approach
For such an ambitious project, every hour of time is important. Thus, it is indispensable to initiate the project with remote outreach to the client, even prior to going onsite. Gather as much essential information as possible. This advance work can take the form of reviewing any existing documentation about the client and the systems under test. Once the early information is reviewed, it can in turn prompt you for additional items to request, again in advance of going onsite, or during that first day or two. For the assessment at this client, we reviewed relevant Prolifics correspondence and other documentation between the client and the quality practice. There was recent documentation from an initial round of discussions which included both the Head of the Testing Practice and the Director. We also held pre-assessment conference call discussions with the Sales team, who provided helpful insights into the client organization.

We then requested the client to provide an initial set of test plan documents and test cases. We also requested high level information on system architecture. Every day of “front loading” the process advances the project to the engineer’s advantage. Thus, early on in the project we obtained a basic sense of how the client’s QA team conducted testing work within their test cycle.

Also, to address items which could constrain us, we made requests for client network access and test case and defect tracking repositories.  Both these items (network access and test case/defect tracking system access) are typically “long lead time” items which can further constrain the assessment schedule. Therefore it is important to request these in advance of going onsite.

The day before our client visit, we developed a preliminary project plan, together with milestones and dates that we wanted to achieve for the assessment.

Selecting a Methodology:
Various options are available for assessment methods. It is important to choose a methodology which provides as much quantitative and qualitative measurement as possible, in the time allotted. So, the assessment method must do the following:

  • The methodology must be comprehensive enough to cover testing processes both in breadth and in depth.
  • It must be flexible in order to adapt to the constraints of limited time and resources.  
  • It needs to be sufficiently objective such that it has credibility with the client.

With the Practice Head’s guidance, we utilized a Test Process Improvement (TPI) methodology to assess this client. The Prolifics version of TPI measures up to twenty (20) dimensions of testing effectiveness. In the brief two weeks that we had for this assessment, we had to select which of those twenty dimensions to assess. It came down to a combination of the most important dimensions of the testing process and the most available to measure.

Conducting the Assessment
Knowing that we had just two weeks for the assessment, we placed much energy into “front loading” our activities during the first week. This involved meeting the key managers and leaders of the client.  We scheduled a round of one-on-one interviews with those individuals.  It is important to plan these interviews in advance of the actual meetings; plan the interview questions and carefully document the answers. Our interviewees were:  the Business Owner, QA Manager, QA Team Leads, Development Manager and Leads, Project Manager, Business Analysts and test automation staff.

In order to fully carry out our assessment, we made follow-up requests for information we had not yet received, plus requested system requirements, specifications and documentation. Various of these items were identified as useful during those interviews and meetings.

Data Gathering and Analysis
Reviewing test artifacts (Test Strategies, Test Plans, Test Cases) is a natural place to look and evaluate.  However, system requirements provide the initial “blueprint” for understanding the application under test. While clients may at first be reluctant to disclose requirements or design documents, it is essential to review a sufficient sample of requirements in order to comprehend what the application is intended to do. Then, proceed to interpret the Test Plans, cases, etc. in light of the requirements.

From there, defect reports provide the essential, interlocking pieces of information. Though much can be gleaned from reviewing defect reports, a more complete interpretation is possible when requirements, test strategies, plans and test cases are first considered.  Then, defect reports can be assessed fully illuminated.

Having requirements and artifacts, we began preliminary analysis and compilation of the data.  Day after day, we added incremental data, performed further analysis and began to identify deficiencies, patterns and gaps in the quality processes.  For areas of significant concern, we continued to gather even more data to strengthen and validate our analysis.

Frequent Communication
We decided from the outset to mandate frequent communications among the assessment team. This included the engineers onsite, our project manager, the practice director, sales team and project manager.  At designated intervals, and on as as-needed basis, we also included the client executive.
Our communication included daily conference calls between the above members, followed by daily email meeting minutes mailed out to the team, plus certain Prolifics executives. There were other communications (follow-up meetings, email, etc.) as needed to keep the assessment moving forward and deal with impediments. This all had the effect of transparency, delineating our progress and identifying potential problems. Trust among team members grew and helped this ambitious schedule proceed with less stress.

Interim Progress Briefing
At the end of week one, we delivered an abbreviated status presentation to the client. This helped us to clarify that we were on the correct path for this assessment. If there were areas to go deeper, or areas that did not require much additional data gathering, this briefing helped to clarify matters. It also provided the opportunity to deliver preliminary findings that our analysis was surfacing.
Although our presentation was intentionally limited in content, it did serve to firm up both our (Prolifics) and the clients sense that the assessment was proceeding in the correct direction and making meaningful progress.

It is important that this particular briefing be a formal, scheduled milestone event. This gives the assessment team a midpoint goal to achieve. The client also has the opportunity to receive preliminary results, ask questions and offer suggestions and guidance. This interim briefing surfaced no surprises.  We confirmed that we were on the right track and that progress was being made. Our client indicated they were looking forward to the final report. We took this as a good sign.

The Second Week
After the interim briefing, we exerted ourselves to gather additional information. We performed second round interviews with client staff where needed. Then we went deeper into client test artifacts and the TestWare systems. Reviewing the way quality information is structured and organized and comparing that to release requirements is very useful aspect of an Assessment. Patterns became clearer, as did any gaps or deficiencies.

While keeping good notes and other documentation is needed throughout the assessment, it is vital to begin to outline the assessment report at the earliest possible time. Ideally, you would want to start the report outline as the data begin to form facts – then as facts emerge into findings.

Then, we circulated drafts of the assessment as early as practical within the quality practice.  As is human nature, much of the feedback on the draft assessment report arrived late – bumping right up against the deadline. Fortunately, we had incorporated many early comments and suggestions in previously. So we were able to accommodate significant last day revisions.

Delivering the Assessment
The act of delivering an assessment report to the client does not simply occur at the conclusion of the project.  It is a cumulative effort that actually begins days before.  An assessment is like a “report card” to the client.  More often than not, it will convey information that is critical of their processes.  Providing negative information must be done with sensitivity.  Working under ambitious deadlines can be stressful to all involved.  Adding negative findings into the mix can lead to unpredictable results.  Therefore, these dynamics must be anticipated and managed.

As described earlier, we built in frequent, open communication within the project. We approached the assessment in a balanced and fair way with all of those involved.  Client stakeholders were hearing about our day to day activities from their staff; it is essential that feedback be positive. Objectivity is also important. Thus, we presented positive findings along with critical, or negative, findings. All of this fosters trust.

The final presentation culminated with an onscreen presentation for the client. \ As the Assessment report was lengthy, was delivered the presentation as an executive briefing, with a summary up-front. The client requested a preview of the following detailed section, which we were happy to provide. Thereupon, the client asked questions and our answers were crisp and to the point. This laid the groundwork for the client to read the entire presentation.

Our client recognized the hard work that went into a very short two week engagement. \ It was evident that our approach was objective and that the results had integrity.

To learn more about Prolifics' testing practice, visit our website.

Dex Malone is a Delivery Manager at Prolifics specializing in Independent Validation and Verification (IV&V). With over twenty-five years’ experience, Dex specializes in large, complex IT systems.  He has worked in Quality Engineering leadership roles in software development across various industries.  These include regulated environments in healthcare, telecommunications, general business, banking and finance, across both public and private sectors.  His interests are in software security and privacy.  When not in front of a computer, he can be found with family, in the mountains or at the shore.  


Thursday, June 12, 2014

Prolifics Employee Showcase: Alan Shemelya, VP of Healthcare Business Development

Alan Shemelya is the Vice President of Healthcare Business Development and is responsible for growing Prolifics’ healthcare services and solutions for customers around the world. With more than 30 years of experience and thought leadership in the Healthcare industry, Alan has accomplished an impressive list of milestones over the course of his career and is passionate about not only helping businesses achieve success but also making significant strides in patient care.

Commitment to Healthcare
Alan’s passion for the healthcare industry began as a young child after a trip to the hospital. His interest grew in college when he wrote a thesis on healthcare finance. During this project, he realized that hospitals were manually driven in just about everything they did on a daily basis and were operating 10 years behind. From registration to billing, automated processes simply did not exist.

It was at this time that Alan recognized an opportunity in the industry. Throughout his career, his work has always been driven by a consistent mission: finding ways to improve the care of sick children.

The Road to Prolifics
Alan joined the Prolifics team in March 2014. Over his career, he has worked with a number of leading healthcare information technology (HIT) and consulting companies in Sales, Product Development, Marketing and Implementation of EMR, Revenue Cycle and ERP solutions. Prior to joining Prolifics, Alan provided his leadership and expertise at HCA/Parallon, Xerox/ACS, Allscripts and McKesson.

Alan is driven by his motivation to provide innovative IT solutions for the provider and payer markets, specializing in improving patient, provider and payer communications, business process enablement, and outcomes. With Alan’s expertise in the healthcare industry, experts will have the experience, skills and knowledge necessary to deliver in this highly complex industry, aligning innovative and proven solutions to solve clients’ business goals.

Innovation & Thought Leadership
Alan has written articles on the redesign of business processes and advancement in technologies that enable the automation of workflow decisions impacting both providers and payers. He has been a featured speaker with the Southern Healthcare Administrative Regional Process (SHARP) and has been on the National Speakers List for the Healthcare Financial Management Association (HFMA). Below is a list of articles that Alan has published throughout his career.

HFMA ANI, 2009
HFMA Georgia Meeting, 2010
HFMA Patient Friendly Billing – Accessibility of Data

The Future is Bright
When asked, Alan selected the following three words to describe Prolifics: agility, intelligence, responsibility. He finds these characteristics as key drivers for success in building innovative healthcare IT solutions.

A Recent Journey
Alan recently participated in the AIDS/LifeCycle 2014 bike ride. This is a fully supported, 7-day bike ride from San Francisco to Los Angeles designed to raise money and awareness in the fight against HIV/AIDS. This event delivers a life-changing experience for thousands of participants from all backgrounds and fitness levels united by a common desire to do something heroic. Prolifics proudly supports Alan and this worthwhile cause!



Alan Shemelya is the Vice President of Healthcare Business Development at Prolifics. He is responsible for growing Prolifics' healthcare services and solutions for customers around the world. Alan has 30 years of experience and thought leadership in the Healthcare industry, specializing in Sales, Product Development, Marketing and Implementation of EMR, Revenue Cycle and ERP solutions. As an industry expert in the healthcare financial arena, Alan has written articles on the redesign of business processes and advancement in technologies that enable the automation of workflow decisions impacting both providers and payers. He has been a featured speaker with the Southern Healthcare Administrative Regional Process (SHARP) and has been on the National Speakers List for the Healthcare Financial Management Association (HFMA).