Friday 28 September 2018

FlexPLM: Product Lifecycle Management Tool

FlexPLM is a retail product lifecycle management software by PTC, designed to manage product lifecycles in order to achieve rapid product development in efficient time through an established platform. FlexPLM enables management of the retail organization's entire product line and evolves more innovative and profitable products in the market, fast paced.

FlexPLM in a gist:
Bill of Materials (BOM): It contains all the components needed to build a product including the product details and pricing. Overall costing is decided on basis of the supplier, manufacturing costs, shipping, and quantity. Overall costing is then directly or indirectly compiled in a cost sheet. FlexPLM allows you to create single or multiple BOMs, the variation of BOMs and export BOMs in pdf, excel format.

Calendars: They allow to keep a track of milestones and deadlines. The calendar can be used for tracking a workflow progress or set up future product lifecycle milestone dates.

Change Tracking: Any object that is created, updated or deleted is considered as an event. The system can track down the changes as well as changed object details.

Costing: All the cost sheets can be viewed under costing from product library as well as line sheet. Cost sheets are specific to source and season combination. There are no limitations on the creation of cost sheets.

Line Sheet: Line sheets are used to manage products under various seasons. Seasons are considered the time duration to develop products. Most products to be launched in market are decided for specific seasons. For e.g: Sweaters are introduced only in fall or winter. Line sheet allows the creation of various specifications, filters, mass product, and colorway updates.

Measurements: In order to manage various measurements the user can create a various set of measurement objects that can be used widely over the system. FlexPLM allows you to view, create, update various sets of points of measure and measuring templates. 

Palettes: It includes adding colors or materials or material colors to a palette. It can be used to develop concepts.

Planning: User can create their own plans for product development and line planning. Planning may or may not be season based. Plans include various entities considering costing, product type, seasons.

Samples: User can create a set of samples and sample requests and manage it. FlexPLM allows the creation and managing of multiple samples and sample requests.

Tech Pack Generation: To share product information FlexPLM allows the creation of compressed zip files to share with internal or external sources who are part of the product development process. 

Conclusion: 
FlexPLM is one of the efficient software to manage product lifecycles. Apart from the mentioned capabilities FlexPLM also provides dashboards, discussions, material color and colorways, data extraction. It allows quality and compliance. It allows supply chain, store, product and connected consumer.

About Author:
Ammara Ansari is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at:  ammara.ansari@spluspl.com

Friday 14 September 2018

SFCC Storefront

This article is in continuation to our earlier post “Intro to Salesforce Commerce Cloud (Demandware)”. In it, we learned about the what, why & how of SFCC. Now that we have access to a sandbox, let’s dive into the technical details of a storefront.


Before we get coding, we need to know the basics of what a storefront is made of. Well, a storefront is just a website. So when it’s rendered in a browser like Chrome, it’s just a bunch of JS, CSS & HTML. Let’s look at how each of these components came to be. In order to get these pieces to the client (browser), there’s a lot going on in the server.

JS
Client-side JS is authored directly by the developer, without the involvement of any tools or frameworks. These are scattered over several files, each focusing on a specific functionality. However, these aren’t referenced directly in the storefront. These are combined by Grunt into a single minified file named app.js, which in turn is included in the common footer used across all pages of the storefront.

CSS
Style sheets start out as SCSS files. This lets us use awesome features like variables, nesting, mixins & inheritance in our style sheets. Just like the JS, these too are split over several files, focusing on specific functionality or style areas. Once again, Grunt is used to combine these into a single minified file named style.css, which is included in the site header.

HTML
The pages that make up the storefront, are written in a dynamic templating language. These get processed into HTML pages when a user requests for them. The templating language used, is proprietary to SFCC & is called the Internet Store Markup Language (ISML). An ISML file is written just like an HTML, using tags that accomplish specific tasks. All HTML tags are allowed in ISMLs. In addition, ISML defines its own tags for SFCC-specific functionality. All ISML tags have the prefix “is”: <isprint>, <iscache> & so on.

MVC
SFCC uses the MVC architecture & as such, uses “models” to manipulate data, “views” to display data & “controllers” for the business logic. ISML is the view. The models & controllers are implemented as server-side JS modules. Each controller maps to a URL. When the user enters a storefront URL in their browser, or performs an action on the storefront, a controller is triggered. The controller executes the business logic, creating & using instances of models as needed. Eventually, the controller renders an ISML as a response to the user request.

About Author:
K. M. Harish is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at:  harish.km@spluspl.com

Monday 13 August 2018

Intro to Salesforce Commerce Cloud (Demandware)

This article is an introduction to SFCC, right from “why” it exists, “what” it is & “how” it works. It’s aimed at anyone aspiring to be an SFCC developer. This is the first in a series of articles that explore SFCC from a technical perspective.

WHY SFCC Exists:
In the good ol’ days, when a business wanted to sell its products online, the obvious way to go, was to set up a website & showcase all products. Maintaining this website entailed a lot of challenges:

● Refreshing the product catalog periodically, as the business adds or removes products.

● Maintaining product pricing in a way that allows for easy updates in response to market forces.

(This gets especially tricky if the website deals in multiple currencies.)

● Keeping the product inventory up-to-date, especially for fast moving stock.

● Offering discounts on products or to specific customers.

● Running site-wide sales, seasonal promotions or other marketing campaigns.

● Integration with payment gateways.

● Managing customer data & ongoing compliance with regional user data protection policies.

● Order management & order processing, including payment modes, EMIs, order export to warehouses, etc.

● Integration with social networks for marketing campaigns.

● Support for user ratings & reviews.

● Providing customer service.

● Integration with brick-and-mortar stores - buy online & pick-up from store.

Clearly, these activities are far from trivial & require an army of developers, testers, analysts, marketers, etc., to keep the site up & running. As the e-commerce industry matured, numerous toolkits & frameworks emerged to facilitate these tasks. SFCC is one of them. But SFCC took this to the next step by not only providing a comprehensive e-commerce solution, but even taking the entire infra to the cloud, hence the name “commerce cloud”.

WHAT is SFCC:
SFCC is an e-commerce solution. What that means is that SFCC provides tools, framework & infra that you can leverage, to build an e-commerce website from the ground up. Not just that, since SFCC is a cloud hosted solution, it’ll even host your website for you, so you don’t have to pay for & maintain expensive hardware onsite.

A website hosted on SFCC is composed of two parts: data & code. The data is primarily comprised of the products, the categories that the products are grouped into, the catalogs that the categories are assigned to, the price books that maintain product pricing, the product inventory records & the marketing campaigns & product promotions. The code is the JavaScript code that presents all data on the site.

HOW SFCC Works:
Once you have an SFCC account, you get access to several resources on the SFCC cloud. One of these resources is a collection of “instances”. Think of an instance as a cloud hosted VM that hosts your site.

Instances are of four types:

● The production instance hosts your production site. This is the live site that’s accessed by your customers from all over the world.

● The staging instance is where merchandisers create & manage site data: products, pricing, inventory, campaigns, etc.

● The development instance is where QAs test a new feature or a defect fix, before it’s deployed on production.

Sandboxes are where developers write code & test it, before being sent for QA. Each developer gets a sandbox.

Each instance gets a copy of the website. This website in SFCC terminology is called a “storefront”. There is only one instance of types Production, Staging & Development each. However, there can be many instances of the Sandbox type.
Conclusion:
All in all, SFCC is a pretty neat solution for your e-commerce needs. Their shared revenue model makes it especially attractive to many small businesses. In many ways, it has earned its well-deserved title of being the world’s #1 enterprise cloud commerce platform.

About Author:
K. M. Harish is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at:  harish.km@spluspl.com

Friday 3 August 2018

The Blockchain Story

So many cases of NPA’s (Non-Performing Assets) are popping up in India. Powerful people takes loan from multiple banks and run away before the scrutiny happens. 

Typical modus operandi in such cases is as follows.
Mr. X takes a huge loan of hundreds of crores of rupees from “A” Bank, and takes another loan from “B” Bank while hiding about the first Loan, or by paying huge bribes to hide such details. He gets two big loans, runs away to foreign nations and enjoy ever after. One fine day this scam surfaced while audit from The Regulatory body happened. This scenario reminds us about now very infamous Mr X’s of recent times.

Same story with a twist of Blockchain network in place.
Now suppose the government brings all Lender Banks and Regulatory bodies on a single Blockchain network. Some Mr. Y takes a loan of hundreds of crores of rupees from “A” Bank, once his application got approved all the participants of the network will have a copy of this approval. 

Mr. Y goes to “B” Bank and tries to take another loan while hiding details of previous loan from “A” Bank. The “B” Bank can check his loan history on Blockchain and can reject. If they still lends him by taking some favors, which is near to impossible ( thanks to immutable nature of transactions on Blockchain). Then once they approve auditor/ Regulatory body can immediately identify and take stringent action against “B” Bank and Mr. Y, well before them leaving to safe heavens.
Good News is now India has it’s own Government Live Blockchain network currently for MSME sector. Below Excerpt taken from news publish on 5/Apr/2018

“A trio of Indian government-sanctioned companies built a blockchain network to ensure that if a borrower obtains a loan via one of them, the other two will be notified to avoid duplicate lending. It’s part of an exchange platform they created to bring lenders together with borrowers. The group built their blockchain network using the Linux Foundation’s open source Hyperledger Fabric.”

“The financial exchange system provides a common platform not controlled by any one financial institution to share information, which reduces fraud. The Reserve Bank of India licensed the three private companies to create the platform to facilitate small business loans. The three exchanges are RXIL, A.TReDS, and M1xhange. These exchanges count some of the biggest Indian banks and a number of foreign banks as funding sources. The companies hired MonetaGo to help them build the blockchain element of the platform.”

With enough of stories, now let's begin the journey of Blockchain.

What is a Blockchain?
In simple terms, it’s a chain of blocks comprising of transactions which can be used to know the complete history of an asset. An asset could be anything from currency to land deeds, personal details, shipment details, product details (it can vary as per the context and industry). Each block will have a hash-code of previous block, hence forms a chain. Only the participating organizations/ people can access this network. Data immutability (once written can’t be changed) and non repudiation (assurance that someone cannot deny something ) makes it more secure and trustworthy.

To write a transaction on such a network, the writer node would be decided based on certain consensus mechanism. In case of Bitcoin, nodes have to solve a mathematical puzzle. Whichever node solves it first, gets a chance to write the transaction on the blockchain network. Also would get certain monetary rewards. This way data becomes more trustworthy and reduces chances of any sort of corruption.
Every block is having a header, content and footer. 
Header part is having the hash-code of previous block, in case of first block this part is having hash-code of Genesis block.

Content part is having the actual payload, or can have a hash-code of root of the underlying Merkle tree.

Footer part is having the calculated hash-code of the complete block ( including the hash-code of previous block ).
Note: Here the #456 is calculated by taking account of #123 + Trx1+Trx2... Etc.

Now if someone updates a single bit of content in any of the previous block, hash-codes of all the block from that block till the latest blocks will be recalculated, and anyone can tell where the modification happened.

Why so much hype?
The major threat to any asset is breach of it’s secrecy, and once compromised, can create havoc. To stop such incidents companies expand huge amount in data security. But in most common industry scenario, all data is stored on some central repository. Hence once compromised makes it very hard to retain. Also auditing such a repository is an expensive task in terms of time & money. 

With advent of Blockchain, the data is stored on participating nodes which can be geographically far away. If one tries to hack such a system they have to simultaneously attack all the nodes in the shortest time frame. Hence makes it near to impossible to attack or to modify. In case of any natural calamity, the data can be restored from any other nodes geographically apart. Hence save hours and hours of data restoration.

The Technology
Distributed Ledger Technology ( DLT ) is in the core of blockchain. Instead of storing data (Ledger - record of transactions) centrally and securing it with firewall and other measures. With DLT the network nodes takes the responsibility of storing latest copy of the data ( Ledger ) in encrypted form. 

The data is stored and synced based on the consensus algorithm. This algorithm first checks for the hash’s of all the previous blocks and then finds the node with the access to write transaction on Blockchain.

These networks are governed by certain contract which all parties have agreed upon while joining the network. This contract is known as smart-contract ( on Ethereum ) or chaincode ( on Hyperledger-Fabric). One such example could be a smart-contract among all banks and Regulatory body, to disallow all Mr X or Y from taking multiple loans. 

Types of Blockchain networks
  • Public : public blockchain network is an open network where anyone with an Internet connection can participate.           
                  Example Bitcoin, Ethereum. 
  • Private : Private network where only authenticated people or organizations can participate. All the participants have access to ledger.
                  Example Hyperledger Fabric, Sawtooth 
  • Permissioned : Private network with permissioned access. This network will have permission rules defined, and the dedicated nodes are commissioned as “MSP” Membership Service Providers, “Endorsers” and “Orderers”.
                  Example Multichain, Hyperledger Fabric, Hyperledger Sawtooth.

Pros & Cons
As with every technology, the pros and cons are inevitable and can only be covered with enhancements. The Blockchain also have some, as mentioned below: 

Pros:
  • Reconciliation happens in real time automatically 
  • Regulators can participate in the Blockchain as a read Node, and can have an eye on any wrong doings in real time. 
  • Immutability
  • Disaster recovery is fast in BC
Cons:
  • Slow in writing Transactions as compared to existing systems. 
  • Secrecy/ confidentiality is hard to maintain (only applicable for public Blockchain ).
Conclusion: 
Before going to replace your existing architecture with Blockchain you have to ask certain questions to yourself. 
Whether
  • ... multiple parties (org ) are involved?
  • ... assets can be shared on such network?
  • ... You are comfortable on relying on trusted third parties?
  • ... Benefits of switching outweighs the cost?
If the answer to any of these questions is NO, one should reconsider before going with Blockchain Implementation. 

Finally, blockchain as a technology is way more disruptive, Than Internet was in 90’s. Yet it’s not the solution for all the problems of universe. One need to thoroughly asses his/her business areas which can be benefited from it.


About Author:
Neeraj Paliwal is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: neeraj.paliwal@spluspl.com

Friday 8 June 2018

Postman – Powerful API testing tool

Postman is the tool developed in 2012 for Chrome, Windows, Mac, and Linux that is used by developer to build a superfast and smooth workflow for API development. Postman is the very fast and light weighted application which is made for different kind of requests like GET, POST, PUT, PATCH and DELETE methods which is very good and convenient API tool.


While APIs get connected to entities by itself, the data that flows from providers to consumers or vice versa is not regular in API, so for this reason Postman is used for regularity in functioning.

Tools For Developers:
Postman is one of the tool which can be used by developers with most efficient feature ie (REpresentational State Transfer) that helps to send API requests and to develop requests faster, while this tool also have a Save functionality which helps to save the API requests, so that one can change parameters and send them again.

How to Use Postman to Manage and Execute Your APIs:
Postman is very simple to use and is straightforward
(Steps should be followed)

1. Go to your Chrome browser’s App page (chrome://apps/) and select the postman logo.

2. The postman Gui will be seen along with the feild to enter your API’s request as well as methods menu(GET, PUT, POST, PATCH, DELETE etc)and tabs to enter pre-request scripts, body, headers and authorization credentials

Here is the detailed explanation how to enter the new API request.

l Enter request URL and select the method(action)
l Add authorization tokens and credentials according to the requirements of the server side
l If required, enter the headers

l Enter the body part if required (ex in the post and put method)

3. Requests and Collections-Requests can be store by save button and send by Send button, as you can see the example and screenshot below I have posted, where I have requested http://localhost:50794/api/Cardetails that means I am retrieving all details by get method. Now you can store the requests and can also browse your collections and can recall all requests stored in them from the collections tab on the left side of the window.

E.G

// GET: api/CarDetails
        [HttpGet]
        public IEnumerable<CarDTO> GetAllcarDetails()
        {
            CarDatabaseEf db = new CarDatabaseEf();
            var list = db.Cardto.ToList();
            return list
          
           }
     

Postman in the API Lifecycle:
From last few years, it has been seen the massive shift to API landscape with much greater focus. This turns the whole concept of API life cycle from designing internal API, Then testing of them, documentation etc. postman can be used in different stages of API life cycle as explained below 

During design and implementation of the API, Postman can be used at the same time with their IDE to write code and send test requests for teams and for developers. Requests can be packed in form of a package after manual API testing. 

As when any project starts in which code is done first and then testing is performed and documentation is done later by other persons, so by using API in postman, the same person can test and can build lists of their test cases, then they can document API manually. Testers and technical writers can use postman’s important feature to load the Open API definition (ie. generated by the developers from their code)and can build out the descriptions and optimize the generated specification. 

Conclusion:
In this way, you can use postman tool for developing and for testing your API’s with the different methods available(get, put, post, delete and etc) and can save the requests also. Hope by this blog beginners will get the knowledge of postman and its use to test API’s.

About Author:
V Divya kumari is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: divya.kumari@spluspl.com

Friday 4 May 2018

Importance Application Support In Retail Domain

What is Application Support? 

Application support in a word can be defined as a SERVICE, which involves providing abetment to the users of IT services. Regular maintenance and IT support are required for every runtime service delivered to the users (customers). Subject matter experts (SME) analyze the raised query of a particular domain in an efficient manner. To analyze a query the application support team diagnose the issue to find its root cause. They either resolve it or pass it to relevant team. Application support team consults, analyses and manages the developed software to fit customer needs. 


Below attributes are essential for a good application support team - 
  • Staying up to date with software and technology trends 
  • Capability of dealing with users having business as well as IT level of understanding
  • Being empathetic to the business users
  • Active listening and communication skills 
How application support relates to retail domain?
Now-a-days retail is literally in technology’s pocket - 
Today’s customers want ease, quickness and accuracy in each of their routine tasks, one of the important task among these is shopping. Now-a-days for shopping, customers are not limited only to visit malls or brick-and-mortar stores, as online shopping has become a popular trend. It is easy, quick and provides detailed experience about the product features, costing and many more just by peeping into a device. There is a great competition between digitalized retail stores and their service quality matters a lot for them to stand in the market. Application support plays significant role in maintaining this quality. Retail business applications are directly accessed by the business users. Hence, it is critical to provide support to these applications. In case any road-block and issues, are encountered by the customers will directly result in loss of customer along with impacting the brand image in a negative way. As a result, Retailer now-a-days are turning to invest more in technology solution to achieve customer loyalty. Most of the business organizations are spending more than half of their annual budget on maintenance and support of their IT Applications and Websites rather than acquiring analog business.

Benefits of Application support in retail domain

· Business evolution:
Retailers should try to understand that digital transformation in retail industry is a process of business evolution and to maintain that, application support is required. 

· Improved reliability:
Application support reduces the probability of failure and provide assurance of better performance of the application, which reduces the frequency of issues resulting in retaining the customer thus avoiding business losses.

· Personalized monitoring:
If there is a dedicated team of application support, it’s possible to gather information of bugs, a possible crash or quality concerns while the application is running. Support team resolves issues in time and can identify loopholes before users experience them.

· Improved User Experience:
With correct application support & maintenance, we can provide consistent growth in quality and on-time service to our customers. Happier customers lead to better reviews, more referrals, and ultimately generate a higher ROI.

Conclusion:
Application support is a process which ensures optimum efficiency and minimum downtime for the application to which support is provided. Retailer who aim at keeping competitive positions in the market, application support is an inevitable factor. Retail business is something which functions 24*7 and may require support at any point in time. Therefore dedicated support team is required, to sustain and have an edge in this competitive market.

About Author:
Avneet Chawla is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at:  avneet.chawla@spluspl.com

Friday 23 March 2018

FRESHDESK.COM – An Evolved Ticketing Tool

As the title suggests, before we start with what Freshdesk is, let’s first get acquainted with 2 important terms that will be often used in this article, namely, ‘Application support’ and ‘Ticketing tool’.

What is Application support?
Application Support, in IT, is a streamlined process defined to assist the business users of a particular application to successfully execute their tasks without any obstructions, with the help of the application support team.

What is a Ticketing Tool?
Ticketing tool can be defined as a platform/application which is used to track issues raised by the business users which captures details related to the issue like the description, request date, status, owner and other relevant information.

Now that we know what application support is, and the role a ticketing tool plays in application support, we will proceed further to what ‘Freshdesk’ is:

‘Freshdesk (http://www.freshdesk.com/) is a ticketing tool which is used by over 150,000+ customers for application support and ranked in various lists of top customer services software’

Let’s have a look at what Freshdesk bring to the table based on the below criteria: 

Features – 
  • Agents –Freshdesk classifies application support team members as ‘Agents’, which can be created through the ‘Admin’ panel. As there can be multiple ‘agents’ working on a single application support project, Freshdesk provides features like ‘Intelligent ticket assignment’ which automatically assigns a ticket to a relevant agents based on their skills, workload and other relevant criteria. Along with this, automatic email notification, event triggered actions are provided.
  • Various communication channels – Multiple modes of communication can be configured in FreshDesk and business users can contact the application support team via emails, phones, live chat, social media and website as well.
  • Task Automation – Freshdesk provides the ability to convert the ticket responses into KBase (Knowledge Base) to be referred for future use. This feature provides ‘automatic pop up solutions’ on new tickets raised having similar nature of the issues which have been encountered before.
Ease of use / UI:
Freshdesk provides a very user friendly UI which presents all the important features in one screen. For e.g. All required admin features are made available in one tab and switching to various windows for performing certain operations is not required which saves a lot of time and efforts and increases productivity.
Figure 1 - Freshdesk - Dashboard
Reporting:
Even though reporting is one of the many features provided by any ticketing tool, we are considering it as a whole different module, as it is a very important feature in application support, as the application support process includes lots of reports generated and sent to the client at different time intervals for various purposes, which give valuable insights into the status of the tickets and the project based on various parameters.

Freshdesk provides a significant number of readily available reports which will give you an important insight into the current working of your application support project. Along with this, it also provides the ability to slice-and-dice and generate reports as per required fields and criteria.

Flexibility / Adaptive:  
Freshdesk is flexible and adaptive to a great extent according to the respective business processes as it provides a feature called ‘SLA Management’ which allows the user to set and define processes, workflows and deadlines for ticket response and resolution on the basis of your business working culture, hours and other important aspects.

Additional features provided by Freshdesk –
  • Available in 33 different languages
  • Provision to prioritize tasks according to SLA policies
  • Available as a mobile application
Conclusion:
Freshdesk comes out as a very well rounded ticketing tool that helps to enhance the overall quality of the application support process. It offers a significant amount of features in its ‘freemium (free)’ version and also serves many more functionalities in its paid version.

About Author:
Shreyas Sagvekar is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: shreyas.sagvekar@spluspl.com

Thursday 1 March 2018

Role Of Training In Application Support

What is application support? It’s a SERVICE.
Application support involves providing assistance to IT services delivered to the business users in an organization. This may entail an application support team to have knowledge on basic computer programming, administrator skills and analytical skills. Identifying the root cause and providing the right solution or passing it to the right team for resolution also plays an important role. The application support team deliver these needs in the form of a SERVICE.

Some tasks undertaken by an application support team are as below:
  • Analyze and manage issues in ticketing system on timely basis
  • Create new business users and manage access levels
  • Create and maintain necessary documents for operational and security audits 
An application support team need to be equipped with knowledge of responding to the dependencies via acknowledgment, updates and resolution. They should be provided with structured training as they will be dealing with different people, both on business as well as IT level of understanding.

It becomes important for an application support team to understand the domain thoroughly for resolving the problem and providing the right solution. This becomes possible when the application support team is provided with training on the domain and application. 

Training is imparted in different ways, depending on the type of business process.

When is the training required?
  • It is required when a new executive/resource is on-boarded on the project
  • Whenever a new feature/functionality is added to an existing product
  • When a new project is assigned to the application support team

Following are some attributes essential for an application support team:
1. Communication skills and Active listening: This is the most important aspect in application support. In order to communicate with the business users to understand the queries and provide resolution all the executives should be trained on verbal and written communication. It is important that the details of the query are interpreted correctly. Soft skill trainer should be appointed to provide the training to the team. Evaluation (verbal and written) should be conducted periodically to confirm if there was value addition due to the training

2. Investigation and analytical skills: Queries raised by the business user’s need to be addressed and investigated within the given response time. It’s important that an application support team understands the query to analyze and provide solution. Many companies plan to build analytical skills through mentoring. Analytical skills can be tested by conducting quizzes, providing small assignments relevant to the project etc.

3. Business and domain awareness: It is important for a support team to have a proper domain knowledge about the client business. Having the domain knowledge makes it easy to understand the requests or queries raised by the client or business users. Training on the domain can be provided with the help of training materials or domain experts. Also, prepare test materials to check the understanding of the executive.

Conclusion:
Training presents a prime opportunity to expand the knowledge in a particular domain and is important in terms of dealing with the customer. Proper training will not only help in the development of the company but also the support team to understand and gain knowledge about the business. This would increase the productivity and quality of service.

About Author:
Tresa Kursingal is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: tresa.kursingal@spluspl.com

Thursday 15 February 2018

Drift of Release Train

Introduction: 

As mentioned in Wikipedia: “Release Train (Release management) is the process of managing software releases from development stage to software release. It is about creating, updating and delivering the project milestones, breaking them into sprints (if following agile) or sub-releases (if following other methodology).


The art of Release Management
I consider release management an art because the build, deploy and delivery of software may sound simple, but is not. The coordination of teams, tracking of build versions, and transparency of releases is not for the faint-hearted. It is predominantly launch of a new product or revamping new features into the existing one, which will provide value to customers or users. 

Wrapping it all up in 5 steps
Phases of Release Train

Consider a software is to be designed and released. Let’s go through the phases (i.e. Planning, Building, Testing, Deployment and Closure) of release and understand how the release management process works.

  • Firstly release of the software is planned to figure out what are the required tools? How many releases are required? When to release? etc. After the release team agrees on a release plan, they identify the processes, tools, and technologies required to deploy the release into production.
  • Then comes the build phase, where the front-end and back-end of the software is prepared. This phase focuses on how the software will look and function. It includes following steps:
  1. Build environment is prepared
  2. Source code are gathered and compiled
  3. Installation Packages are created
  • Moving on to the next phase of release i.e., testing, which measures the completeness, correctness and quality of the release packages to ensure that it delivers the software effectively in line with requirements. Various tests are performed and approvals are obtained from intended authorities and end users. 
  • Deployment is the phase where release packages are deployed to the live environment. The end users and operating staffs are trained to operate it efficiently. And the software goes live on the decided schedule and feedbacks are obtained. 
  • On receiving feedback, release eventually comes into closure phase. Activity logs are updated, lessons learnt during the entire release lifecycle are documented, resources assigned to the project are released and finally status of the project is changed to close.
Conclusion:
The goal of the release management process is to ensure that all changes are deployed successfully into the production IT environment in the least disruptive manner. If organizations correctly implement the release, they can not only maximize the efficiency of the release processes, but also save a lot of money and improve the business value of services.



About Author:

Shalini Priya is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: shalini.priya@spluspl.com

AMAZON GO

Love shopping but hate waiting in checkout lines? Amazon Go to the rescue...

What if you could shop to your heart’s content without worrying about those pesky little checkout lines? Think if this could be possible that we push the boundaries of computer vision and also machine learning to create a store where customers could simply take what they want and go without checkout worries? The answer to all these questions is Amazon Go.

Amazon says all you need is their app to enter the store and start shopping, or rather, that’s what you will need when Amazon decides to open the store up to civilians as currently, and Amazon Go is available only to Amazon employees.

Amazon Go is a kind of store where no checkout is required. It will be the advanced shopping technology so that customer will never wait in queue. For Just Walk Out shopping, all you need is an Amazon account, a supported smartphone, and the free Amazon Go app to enter the store, take the products you want, and Go! 

The Tech Behind It-
The technology in the Amazon Go is supported by a complex system of computer vision, deep machine learning and sensor fusion that works seamlessly to keep communications running between the physical store, the customer’s smartphone and the Amazon Go app. When a customer arrives at the store, they can just scan their smartphone and shopping begins. Digital images of the stock, Just Walk Out technology and multiple sensors are used to detect the item being purchased. If there is any confusion, the deep machine learning aspect of the system kicks in, looking at previous purchases to ascertain which item it is most likely to be. This data is then registered with the customer’s Amazon account and a receipt is sent directly to their smartphone upon leaving the store. The artificial intelligence system comes together to create a retail experience with the convenience of online shopping and the control of walking into a traditional brick-and-mortar store.

Amazon Go potentially handle millions of transactions per day, and this includes the personal data of each individual customer that walks through their doors. This emphasizes the need for a connectivity solution that is robust, secure and most likely cloud-connected.

Amazon Go certainly has potential. Its competitive edge is “self-checkout”. A lot of easy gains come by, just by bringing self-checkout systems into supermarkets:
  • No manual checkout.
  • Reduced checkout staffing needs.
  • Space needed by checkout counters reallocated to store goods.
  • Ease & speed of transaction.
  • Improved customer satisfaction.
  • Enhanced customer retention.
Many analysts feel that the grocery industry is ripe for change. Customer’s habits have change dramatically over time and supermarket chains haven’t necessarily kept up. Automation of the customer experience and a friction free shopping experience could bring a true sea change in the industry.

About Author:
Ayushi Guda is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: Ayushi.Guda@spluspl.com