In a new Q&A with ITProPortal, Amit Gupta, leader of Ness Digital Engineering’s DevOps practice, discusses the adoption of DevOps within organizations, as well as the benefits and challenges DevOps presents to companies and the best means to adopt DevOps. “The primary endeavour of DevOps is to make Development and Operations work as closely (and as leanly) as possible to optimise such overheads as cost and time while getting solutions to market faster,” he says.
Month: April 2017
Ness Recognized in the Media & Entertainment Industry
TEANECK, N.J. – April 20, 2017 – Ness Digital Engineering, a provider of digital transformation and custom software engineering services, was positioned in a recent report from consulting firm Zinnov in the leadership zone in 2 segments in the Media and Entertainment (M&E) vertical.
Ness Digital Engineering was rated in the leadership zone for the New Media and Education industry segments of the report. The report titled “Zinnov Zones – Media and Technology 2016” enables business leaders in the space of Media & Entertainment (M&E) to make the right decisions in partner selection across technologies and delivery expertise for their digital journey.
“According to Zinnov, the Media industry is one of the top three most disrupted verticals due to the development of digital technologies,” said Paul Lombardo, CEO at Ness Digital Engineering. “We’re proud to be recognized for helping our clients lead disruption in the New Media & education sectors through innovative digital solutions and improved customer experiences which provide competitive differentiation and enable new growth opportunities.”
As outlined in the report, participants in the leadership zone stand out because of the following qualities:
- Capable of performing concept to Go-to-Market for the segment – Significant investment in Lab infrastructure
- Strong capability in multi-channel distribution and analytics media planning solutions for the New Media segment; strong capability in content management services, mobility, analytics, and LMS solutions for the Education sector
- Formal innovation culture, resulting in IPs and strategic innovations
- Leadership role in alliances, leveraging startups, specific academic research, and co-creation with customers
In the report, Zinnov divides the M&E space into eight major segments – New Media, Education, Entertainment, Gaming, Marketing & Advertising, Broadcasting, Information Services, and Publishing. Ness Digital Engineering was also ranked in the execution zone in several segments. This year Zinnov also rated vendors on various technology-specific capabilities, such as Intelligence Platforms, Content Security, Immersive Technologies, Experience Engineering and OTT. For details, please visit: https://www.slideshare.net/zinnov/zinnov-zones-media-technology-2016
Founded in 2002, Zinnov is headquartered in Silicon Valley and Bangalore. In over a decade they have built in-depth expertise in engineering and digital practice areas. They assist their customers in effectively leveraging global innovation and technology ecosystems to accelerate innovation and digital transformation. With Zinnov’s team of experienced professionals, they serve clients in Software, Automotive, Telecom & Networking, Semiconductor, Consumer Electronics, Storage, Healthcare, Banking, Financial Services & Retail verticals in US, Europe, Japan & India.
For any further media queries, please contact Nitika Goel at [email protected]
About Ness Digital Engineering
Ness Digital Engineering designs and builds digital platforms and software that help organizations engage customers, differentiate their brands, and drive revenue growth. Our customer experience designers, software engineers and data experts partner with clients to develop roadmaps that identify ongoing opportunities to increase the value of their digital products and services. Through agile development of minimum viable products (MVPs), our clients can test new ideas in the market and continually adapt to changing business conditions—giving our clients the leverage to lead market disruption in their industries and compete more effectively to drive revenue growth. For more information, visit ness.com.
Global Manager – Corporate Communications
Ness Digital Engineering
How a Reporting Bot Can Simplify the User Experience for Reporting Systems
Artificial Intelligence (AI) is perhaps one of most powerful technology disruptions taking place today. One of the major components gaining value in an AI system is the Bot framework. There are quite a few Bot frameworks available in the current market, such as the Facebook Bot Engine, API.ai, and Viv (co-founded by authors of Siri).
This blog post talks about the Microsoft Bot framework and one of the demo applications that our team created as part of the Ness Hackathon, Gear Up 2017. We wanted to develop something that will help business users simplify reporting needs.
The Bot framework enables us to build intelligent agents to interact with users through many channels (such as shown in Figure 1), making the technology a communication platform that generates a better user experience.
The Figure 1 below depicts the basic overview of the Microsoft Bot framework.
Our idea was to integrate SSRS Web APIs with the Bot framework. The architecture of the concept is shown in Figure 2. The objective of this concept is to provide an interactive way for users to communicate with reporting services. We picked “SQL Server Reporting service” for our Bot in the project. This “Reporting Bot” will be used to enhance the user experience in the application and fetch the desired reports. It will act as a third-party agent and interact with the SSRS web service on behalf of the user.
As you can see in the image, the Reporting Bot sits between the SSRS web service and the user, where the user will be communicating with the Bot through chat. It can be integrated with Skype chat, Slack or a custom-designed chat system in your ASP.NET application.
The Conversation Flow:
You can see the flow of the conversation in the activity diagram (Fig 3.) where a user starts the conversation and the Reporting Bot presents the list of the available reports to the user. Here, we can add sign-in cards to get the user authenticated for the reporting service. The sign-in card can be used to authenticate the user through OAuth. Then based on the permission, the Bot will fetch the list of available reports to the user. Once the user selects the report from the list presented, the Bot will check if there are any input-parameters required for the reports and if yes, it will communicate with the user to collect the input values for each parameter. Once all the input values are collected, the Bot will ask the user in what format he would like to get the report file. Depending on the user response, the Bot will send the file to the user.
In addition to this flow, the SSRS subscription functionality can also be added very easily, which we didn’t implement in this particular demo. The SSRS subscription allows you to subscribe to the reports by defining its ‘input parameters’, ‘output format’ (like pdf/excel/html, etc.) and ‘type’ (i.e. email/file share) along with a schedule which is similar to CRON Jobs.
Making Your Bot Intelligent:
One of the Microsoft Cognitive Services is LUIS (Language Understanding Intelligent Service). LUIS is designed to provide you with an easy way to create models where your application can understand the user commands. You need to create a LUIS model that consists of ‘Intent’ and ‘Utterances’. Intent is ‘what a user wants’ and utterances are the various ways a user can ask questions. The combination of these two is a model that understands the user intent based on the utterances defined. Once the intent is found, the model can redirect the user request to the appropriate method.
Although we implemented LUIS in this demo Bot, there are a few other cognitive services available to be integrated with your Bot which can be an add-on to your system:
Making use of these services is completely dependent on your business needs and target audience.
Overall, the generic concept is to provide a Conversational User Interface (CUI) to your reporting system and to create a framework that will provide a way to extend/inherit the reporting functionality to your own project needs. Although we used the SSRS service in our demo, any other reporting service could be used, and perhaps you could also integrate a custom-designed reporting Web service. The Reporting Bot will act as a plug-in to your core business-application.
When we thought about the concept, we had a particular target audience in our mind, like the users who are frequently in need of reports. For example, people from domains like sales/marketing/finance/trading/etc. usually make decisions based on reports. This concept would be an ideal fit in such cases and would help simplify the user experience for reporting systems.
How Node Spinner Can Enable Tech Teams To Speed Up Software Development
The biggest challenge faced by today’s digital tech teams is to get effective software products to the market faster. In this blog, we will discuss how using Node Spinner can enable tech teams to speed up the development life cycle (from hours to minutes) and achieve continuous integration, delivery, and deployment at a faster rate.
An effective continuous deployment system makes your engineering team more efficient by giving them automatic, quick feedback on their changes, and by providing a platform on which the entire organization can automate frequent operations, such as merges and deploys.
The aim of an Agile project is to deliver a basic working product as quickly as possible and then to go through a process of continual improvement. The challenging part lies in getting the automated test results as quickly as possible.
The execution of the automation test suite has always been an issue when it comes to continuous integration or continuous delivery.
We can consider any small, standard Web portal application consisting of 15 to 20 pages. We will find at least 200+ test cases. Even if we automate the test cases, it may take a minimum of approximately six hours of execution time, assuming each test will take up around two to three minutes of execution time.
If the automation suite takes six hours to complete, then any commit that happens during this time will not be visible in the test environment, because the next deployment will happen only after six hours. This is not productive and the feedback cycle is super slow.
To perform parallel execution, you might think of increasing the number of physical nodes or virtual machines by using a Grid and CI tool. This can cut down execution time exponentially based on the number of VMs or nodes you integrate.
Even if we deploy a static selenium grid setup, say with four nodes, we can bring down the execution time to one and a half hours.
But by using the static grid setup you will face these challenges:
- Initial csost and maintenance of hardware/infrastructure
- Automation Execution Time would be still in hours
- Maintain the immutable infrastructure (Dedicated boxes for Grid Hub & Node)
- Need resources to maintain hardware/infrastructure
- Isolation of running builds on infrastructure
- Challenges with dependency management
- Infrastructure is underutilized which makes it expensive
- Selenium nodes go out of memory (JAVA heap space issues)
By spinning dynamic nodes equal to the number of tests in the test suite by integrating Docker, Grid and Cloud; we can create a customizable, flexible test environment that enables us to run the tests in parallel with minimal hardware/infrastructure.
So, consider your test suite has 200 test cases and builds shell scripts to trigger Docker service so that we can create 100 nodes over multiple hubs on some cloud service like AWS, and start the parallel execution.
In this way, we can execute the entire test suite of 200 test case in just two to three minutes.
Benefits of implementing the solution:
- Ships newest code to production faster
- Received alerts quickly when tests fail
- Reduces the number of systems needed
- Improves parallel testing workflow
- Faster than starting a virtual machine (milliseconds vs. minutes)
- You don’t have to maintain the hardware and save the code
With this approach, we can complete automation execution in less than five minutes and ship the newest code to production at a much faster rate.
Enterprise Change: An Architectural View
Enterprises are ubiquitous. The most generic definition of an enterprise could be stated as, “One or more organizations working for a common objective”. Entities such as corporations, government bodies, municipal bodies and small businesses etc. are all enterprises. The benefits they deliver can widely range from shareholder value to the establishment of law and order in a society. Enterprises are legal entities and honour contractual obligations making them key vehicles of commerce. The boundary of an enterprise is not always definite. It constantly evolves both in terms of its composition and in terms of its interaction with its environment. We will discuss some of the common drivers of enterprise change in this article.
Enterprises structure supply and demand. They evolve and adapt according to the environment. Enterprises perform several functions. The larger the scale of operations, the greater is the need for specialized departments performing specific functions. Departments such as Sales, Marketing, Customer Support, Manufacturing, HR, Finance, Logistics, Legal services, Purchasing, Warehouse and IT are universally common for commercial enterprises across industries.
The structural similarity of enterprises led to Enterprise Resource Planning (ERP) products which initially claimed to solve all enterprise needs. However, each ERP product specialized only in certain areas that they were well designed for. Besides, ERPs are expensive to implement. Clearly, one size does not fit all. On the other hand, custom-built enterprise applications of varying sizes tailored for various workflows and business processes have been common. A typical medium sized enterprise would have a sizable number of applications in their catalogue. Relatively large enterprises would have one or more ERP solutions in addition to a number of enterprise applications. These discrete applications led to information and process silos, which could be unlocked and integrated with integration patterns and solutions such as an Enterprise Service Bus (ESB). Moreover, mergers and acquisitions introduce duplicate features. In addition to these challenges, the availability of low cost alternative technologies such as cloud infrastructure would require the entire catalogue of applications to be revisited and re-architected from time to time. Change and complexity are inevitable for enterprises.
Other key change triggers could be:
- Strategic initiatives resulting in new business processes or change in existing business processes
- Market conditions or statutory regulations triggering a change in business processes
- Technological advancements in User Experience (UX) and rendering mediums requiring alternative approaches to achieve the same business goals or even trigger a change in strategy
- Advancements in big data technologies and analytics resetting business expectations
- New engineering practices promising faster turnaround triggering a change in implementation and operational mechanisms
- Addition of a few new locations or external partners
- Addition of new organizations or modifications to existing ones with new roles
- Changes in business rules depending on one or more factors
- Changes to periodicity of well-defined event occurrences or new event occurrences
There are several types of complexity triggers here. Complexity has at least three aspects: interconnectedness, interwoven-ness and composite. While the interconnected and interwoven nature of complexity can be easily understood, the composite aspect is not so obvious. An enterprise is made of several primitives, e.g., data, business processes, organizations and roles, locations, timings and motivations. Every time a primitive undergoes change, its composite relationship with other primitives could also change. So too the operational components that are realized after several transformations may undergo change. The Zachman framework helps make sense of these variables and transformations.
The framework draws inspiration from ancient wisdom and proposes a two-dimensional classification schema. The first dimension consists of the six primitive interrogatives (what, how, where, who, when and why). The six interrogatives translate to:
- Inventory sets (what),
- Process flows and application components (how)
- People, responsibility assignments, organizations and roles (who)
- Locations and distribution networks (where)
- Event timings (when)
- Motivational intentions or business rules (why)
For instance, primitives such as inventory sets (what), roles (who) and process flows (how) lead to composites such as user-activity and user-activity-data. Importantly, these mappings are generic and are not technology or implementation specific. Thus any business rule can be seen as a composite of primitives or a composite of composites.
The second dimension consists of the six levels of reification (identification, definition, representation, specification, implementation and instantiation). Reification essentially means ‘to convert abstract into concrete’. Strategy is at the highest level of abstraction and operational model is its concrete reality. The levels are perspectives from various standpoints.
- Executive perspective – Strategy (identification)
- Business management perspective – Business (definition)
- Architect perspective – System (representation)
- Engineer perspective – Technology (specification)
- Technician perspective – (implementation)
- Enterprise perspective (instantiation and operation)
Each level is a set of models across the six primitives that meet the goals as set by the layer above it and sets expectations for the layer below it. The first three levels are technology agnostic and hence provide immense value for clear communication across various stakeholders.
In terms of architecture, business architecture encompasses identification and definition. Solution architecture is equivalent to system representation model. Technical architecture is equivalent to specification of technology. Implementation is the realization of application components. Operational model (instantiation) stands up the components, determines change management, SLA adherence and escalation process etc. Infrastructure architecture pertains to locations and distributions column.
Summary: Enterprises are complex yet made of simple primitives. Vertically, strategies translate to operations. Horizontally, a change in any one primitive can impact the composites it is associated with. It can also impact the operational components in the functioning enterprise. A view of this traceability helps manage change effectively. We strongly recommend enterprises to capture the primitives, their relationships and traceability of their operational components for better IT management.
More about Zachman framework can be read here.
Embracing the Future of Corporate Learning & Development
Organizational learning is witnessing massive transformations. A phenomenal change led by future technologies, shifts in demographics and changing organizational priorities is disrupting the corporate learning environment and creating a constant competitive necessity to upgrade workforce skillsets.
Ness works with some of the largest online education companies and we find that the urgency for organizations to improve and accelerate employee learning and development continues to intensify as new technology advancements and digital transformation creates new demands. Clearly, it is important for HR and business executives to quickly respond to the disruptive changes in the organizational learning space.
Let’s understand some of the key factors driving the demand for change in organizational learning.
- CEOs and CHROs often complain that companies are not developing skills fast enough. Most organizations also acknowledge that constant learning is essential for engaging employees, attracting and retaining top talent, and developing long- term leadership for the company.
- Today’s workforce is always-connected. Mobile devices make learning potentially available anytime, anywhere. It can be in the form of an online course, podcast, expert video, and so on. It is a new world of customer-centric learning where employees are taking charge, rather than the learning departments.
- Learning curve is the new earning curve. Employees are demanding access to dynamic learning opportunities that fulfill their individual needs and fits into their self-directed learning schedules. If the employer fails to provide this, employees will move on. According to Deloitte’s Global Human Capital Trends 2016 report “Almost 70% of the workforce members see learning as the primary driver of employee engagement and employees themselves ‘take charge’ of learning.”
Embracing future learning
It’s time to adopt to a ‘Continuous Learning’ model that enables employees to learn constantly throughout their tenure with the organization. This model helps in building a flexible learning experience for employees through different means, including on the job, training, experiences, communications, etc.
Traditional learning models need to be redefined in a way that it takes learning ‘beyond classrooms’, makes it employee centric and treats it as a companywide responsibility and not just that of the HR organization.
There is a big challenge facing organizations to adopt to this new mind set which advocates the importance of continued talent development in the context of business growth.
The Future of Learning
|Learning Today is||Learning Tomorrow is|
|Series of corporate programs||An environment and experience-based|
|Managed by learning management system||Feels like a consumer website|
|Experts push out training||Employees pull learning|
|Focus on internal training||Focus on external learning in digital way|
|Skill-based competencies drive learning||High level framework to develop capabilities|
The above table describes some characteristics of this new mindset and the ways in which learning could reshape the role of L&D in the organization. It’s important for businesses to think from a learner perspective on experience and career aspirations rather than a series of programs which they want to roll out.
Employees need to be viewed as a customer who should be delighted with the learning experience. To provide that experience, HR and business should bring a cultural shift with a design thinking approach using technology. Very importantly, HR teams should be able to align learning to the business need to create transformational outcomes.
Coaching, mentoring, collaborative learning and online learning will be the scope of enhancement in this initiative.
Some key steps for HR teams to integrate learning and work:
- Provide solutions to business: Technical/human/conceptual learning that matches strategic business goals.
- Move beyond the course offering: HR needs to understand the business requirement of the skill needed and provide right learning interventions by being more of a performance consulting coach.
- Evidence-based teaching: Back learning with data showcasing analysis, performance, ROI, regular communication, reporting for greater transparency and effectiveness.
To conclude, in this era of digital learning, organizations and all the stakeholders should gear up for a future learning environment that will be more collaborative, learner-centric and technology-enabled. It will focus on constant and innovative learning models that blend traditional and new mediums seamlessly to offer personalized learning experiences to employees.