Friday, 26 February 2016

Application Support and Maintenance

In today’s competitive world majority of the organizations use IT applications to handle their business process and to reach out to their customer. With ever increasing customer demand and growing competition from peers, it is very important to ensure that their support is perpetual and the application’s performance is at its peak. To make sure that the application provided by the service provider is working and error free, every organization must have an application support team which will be available to assist the end user if any problem occurs with the application. To maintain high performance and seamless operation an organization should see to it that they get the following services from their Application support team.

Service Desk: A service desk should be available to give immediate support and prompt response to the end user. For effective and efficient functioning of the system, customer should receive 24x7 support. Service Desk should be able to fulfill the following requests from the business:
  • User Access Management: Creating user account for new users in the system. Providing system access to the user, depending on his role in the organization. User account will be created and system access will be given only after appropriate approval.
  • Change Request: Depending on the project user may come up with a request to change some drop down values or text boxes. Support team should be able to analyze this change request and update the user with the turnaround time by which the change will be implemented.
  • Reporting: Support team may receive requests from business to generate reports. For example, sales report, or reports related to employee attendance, etc. from the application.
  • Production Support: It can happen that the application may suddenly stop working and may bring the business to a halt. Such scenarios are nightmare for any business as this results in huge amount of revenue loss. Under such critical situation support team should be able to come up with a quick fix, so that the system is up and running and the business can use the application as it was working before.
  • Bug Fixing: User may face some issues or bugs which will cause hindrances while using the application. To make sure that the application functions smoothly and the user experience is great, the support team should be able to resolve these issues.

System Upgrade: In case of system upgrade, application support team should test the stability of the new application with the new system. If the organization upgrades their system from Windows XP to Windows 7, then the support team should test the application on the new system and fix the issues that they may face while testing.
  
Flexibility: Application support team should have flexibility both in terms of cost and resource allocation. Organization while selecting the support service should have the advantage of picking up the right mix of services which according to them will fit their business requirements. Support team should utilize the resources depending on the business needs. Organizations do look for such flexibility in the services before signing the contract.

Experienced Resources: Support team should try to keep as many experienced resources as possible. Experienced resources always play a vital role in customer support. Support team should have access to Knowledge Error Database (KEDB). There are several advantages of having KEDB such as:
  • Services are restored faster
  • Re-work is avoided as we already know the solution,
  • Ticket is not transferred to different level as we can check the database and come up with the solution.
Meet SLAs: Support team should make sure that they meet the expectation mentioned in the SLA. If the team fails to meet the targets mentioned in the SLA then it may be termed as breach of SLA and Customer can escalate the issue to the concerned person.

The key for any business to flourish is that the services provided to them are accessible and stable at all points of time. To ensure that organizations meet its business goals, it has to make sure that it has a great application support team which will provide extensive support under critical situations. Organizations should also make sure that support service and targets are clearly mentioned in the SLA to avoid conflicts in future. Thus we can say that the support team ensures that the application runs smoothly and efficiently to support the organizations business.


About Author:
Akash Poojary 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: akash.poojary@spluspl.com

Internet of Things

Imagine this scenario…you purchase a new air-conditioner (AC). You cannot wait to get it all setup and ready to use. Why? Not because it’s getting pretty hot. To cool your room, any AC would suffice. But this one is special. Very special. Why?

Let’s go back a few hours when you were at the electronics store browsing around for the best possible AC to purchase..flashback..!!

The sales agent has been harping on the new features of this product and especially been bragging about it being an intelligent AC. You’re sceptical. You think, “The last watch I purchased was supposed to be intelligent. It does everything, except show the time”.

You ask the sales agent why it is “intelligent”. He gives you the widest grin you’ve ever seen. It’s as if he is saying to himself “I thought you’d never ask”.

He explains, the AC is Wi-Fi enabled and allows you to remotely adjust the temperature via the company’s mobile app. (You don’t seem too impressed). It also learns (he stresses on the word “learns”) your behavioural patterns to create a temperature-setting schedule. (Your eyes open wide).

“Can you give me an example?” you ask.

“Of course”. “It has a convenience factor. It can remember that you prefer to lower the temperature before going to bed, and can do that for you every night when you retire to bed to call it day”.

“Really?
“Yes…it also, even if it is a minor saving, it has the potential value that you can save some money on your electricity bill by being able to remotely turn off the AC, which due to your “Ghajini” mode, you forgot to do so before leaving the house.”

“What else?”
“You can program it to start on its own when it determines you in close proximity, without you having to actually switch it on (from the mob)”.

“What? How can it do that?”

“Well you see, the mobile app has a feature, if enabled, can send a notification to the AC when you reach within a pre-determined distance from your home”.

Now you are impressed. After going through a few more features, haggling over the price, discounts, warranty, loan, EMI etc., you buy it.

Moving back to the present time now (a bit of an oxymoron there, “back to the present”).
The AC is installed, ready to use. You use it for a few days and it does seem to be “intelligent”. It adjusts the temperature to the appropriate level every night before you sleep. It does switch on by itself every day when you return from office and are about half a kilometre away. It really does work!

That my friends, is IoT, the Internet of Things. Where devices are connected, somehow or the other. But mainly over the internet, over WiFi, 3G, 4G whatever.

Now imagine more such intelligent, connected devices.
A refrigerator that sends you a text message to inform you that you’re low on milk, cheese and bread. A home automation kit that can alert you about an intruder or even water leakage. Or fire. And send out an SOS to the police and fire department (if they are already on to this IoT bandwagon, i.e.)
.
A fitness tracker that can determine that you’ve fallen asleep and turns off the lights and TV.
Your car, when you start your day driving to work, it pulls up your schedule and automatically provides you with the best route to get to your meeting on time. Or send a note to the relevant parties, if you are running late.

All of this is now possible with IoT.

What makes it work?
The underlying technology is the secret ingredient here is. The wireless technologies that allow devices to connect over the Internet and to each other. Technologies like, WiFi, Bluetooth, RFID, NFC etc. There are a few more that are complex and most of us have probably never even heard of it, so let’s stick to the basics.

Then there are things like sensors, door locks, light bulbs etc. A hub that connects to different devices. And then there are cloud services that enable the collection and analysis of data, so people can determine what’s going on and take action via mobile apps.

We’re just warming up here on IoT. There’s a lot more. I will provide more details in upcoming blogs on this series over the next few weeks.

About Author:
Ajay Singala 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: ajay.singala@spluspl.com

Friday, 19 February 2016

Application Service Operation Processes

The following six processes are used by the application support team to support operation functions such as application support, technical management and IT operation management:

Event Management
An event is monitoring activities which create negative impact on service availability, service reliability and security. An event can also be triggered by an alert or notification created by an IT service, Configuration Item or monitoring tool based on business rules and referential data.  Application team member needs to take action and often will lead to an incident record being created either manually or automatically.

Incident Management 
On receiving an incident, the team takes action promptly in order to provide quality of service. The application support team tracks and captures incident information in the tool throughout this process. Activities within this process are:
  • Log the incident event in the tool
  • Set priority 
  • Analyze
  • Rectify
  • Close
This process helps to reduce impact on daily business processes. While taking action on it, the team needs to ensure service quality is maintained as per the Service Level Agreements (SLAs). 

Problem Management
The team needs to search for a permanent solution on incidents which are occurring frequently which are termed as problems and the process as Problem management. The team identifies the root cause of an incident so that incident does not occur again. Activities within this process are:
  • Detect
  • Log the problem event in the tool 
  • Set priority 
  • Identify problem
  • Do root cause analysis
  • Rectify (provide permanent Solution)
  • Close
One main difference between “Incident” and “Problem” is Incident Management is to resolve issue as quickly as possible and Problem Management is to implement permanent solutions on issue.

Request Fulfillment Management
Request Fulfillment is the process for managing events, which are repetitive and low risk changes initially processed via the application support team. 
Activities within this process are:
  • Log the call support event in the tool
  • Set Priority
  • Analysis
  • Rectify
  • Close
For example, a support call may be an informational, query or assistance on an application function.

Access Management
Access management is the process of assigning rights to authorized user to use a service, while preventing access to non-authorized users. The team verifies request from approval and performs the tasks of giving rights to users to access the applications. Access management should periodically review the roles or groups used to control access to ensure that only necessary rights are being granted and that there are no rights conflicts among the roles or groups.
Activities within this process are:
  • Log the call support event in the tool
  • Set Priority
  • Verification
  • Providing rights (Perform task)
  • Close

Application Lifecycle Management
Application lifecycle management (ALM) controls the software application from its initial stage to last stage. ALM is controlling pre-defined process such as definition, design, development, testing, deployment and management. The team develops, enhances, maintains, and manages applications within their scope of responsibility. As defined in the tool, this process contains the following steps:
  • Requirements Elicitation
  • Design
  • Implement and Test
  • Quality Review
  • Deploy
  • Optimize

Output of Application support team is measured on following factors:
  • SLA reports that measure the team’s performance
  • Time usage reports that show the team’s time distribution
  • Resource performance reports that shows individual resource performance

Application Support team provides value by:

  • Maintaining the stability of the applications
  • Managing the availability of services
  • Resolving user queries / requests/ issues
  • Achieving service level goals
  • Fixing problems
Process management practices are important and the need for technology enabled processes is critical for optimal operational efficiencies and effectiveness.

About Author:
Deepak Borole 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: deepak.borole@spluspl.com

Project Management Tools- Agile

Project management software development methodology is adopted by companies world-wide. According to the surveys conducted recently, around 70% of the organizations have adopted agile practices. During the last decade, the agile methods have developed rapidly from nowhere to pinnacle. Such rapid revolution in technology demand new tools and innovation. Majority of the organizations are still using old-fashioned project management tools and generic tools like MS Project and spreadsheets for project planning and tracking.

The pie chart given below gives the percentage of types of tools used by organizations across the globe and companies still prefer using traditional tools for project management.




The question is, are these tools really the best of the choices when it comes to project management. In this article we shall discuss the different approaches for project management and give comparative analysis of the simplest tools, traditional project development tools, agile project management software and spreadsheets.

Need for a Tool
One cannot rely on ones memory for requirement gathering. To overcome the limits of retaining things in mind, it is essential that one has a tool at his disposal. This enables one to gather requirements, plan iterations, track the progress and report the entire process. A tool which works effectively and efficiently is required for this purpose which will give rise to no or minimum errors.

As said by Ron Jeffries “I think that people and how they interact on a project is the most important thing, and I think that they need to create a way of working -- a process -- that works best for them. Because their interactions are critical to project success, I suggest that teams begin the work with an approach that will bring them together as people, not one that will let them remain apart, communicating electronically”.

Project Management Tools- Pros & Cons

Index Cards
Index cards are cheaper, distinct and pliant to use. It is easier to understand the brief and overview of state of project and very effective for communicating information. At the same time they have the drawbacks of having remote access to data, reusability of data and backing up of data, doesn’t work for large teams.

General Software Tools
Wiki is a very versatile tool which can be used for any content management. There are project teams which use wiki for scrum development management. Wiki is cheap and easier in its usability. However, like cards, wiki doesn’t work for larger and distributed teams and time consuming.

Old School Project Management Tools
MS Project is the most commonly used traditional project management tool. The benefit here is, it might already be existing in companies and allows people allocation support. However, it doesn’t support agile development concepts and faces constraints when it comes to reporting.

Agile Project Management Tools
It is important to integrate the process of planning and development for having a versatile project management tool. Almost every development process involves activities like requirements gathering, planning, tracking, quality assurance and feedback gathering. To carry out these activities, several tools like Bugzilla, Test Run, MS Project, Requisite Pro, Support Forum, etc are used. Each tool does its job, but it’s a time taking process to export/import data between applications and often format it to get a complete picture. Hence, the need for a modern agile project management tool which combines the common activities and provides open API for advanced integration. It powers backlogs prioritization, low level iteration planning and high level release planning, progress tracking, tests and bugs management and customer requests management. In short, it gives an integrated process which follows Lean Principle. The other goal of agile software is to bring together several teams working on a single project which is possible only with the aid of web based software.

There are many agile software development tools like Mingle, Jira, AgileZen, VersioneOne, Rally, etc. Some of them are described below.

Mingle is designed for small, medium and large enterprises. Its key features are program management, project collaboration, project management, accurate defect and visual tracking, release and iteration planning and real time tracking and reporting. It is user-friendly and flexible.

JIRA is a project management, bug tracking and issue tracking tool used by thousands of companies across the globe. Also what makes JIRA more flexible is that more a general issue tracker than just a bug tracker.

Agile Zen is a visual tool. It has a tab based and colour coded interface. It is based on the Lean management principle. Instead of having a task-list, it has a story based work unit, wherein the details can be added and edited. The efforts spent are manageable and can be tracked.

The agile tools have their own better and the flip side. It works for bigger teams, it allows real-time reporting, gives integrated solutions, allows bug tracking, etc. However, agile tools are very expensive, significant learning time is involved, sometimes hard to apply for processes which are already in development phase.

Any project requires a good set of tools for its management. The agile software development tools will evolve with time. A trend that will continue to influence software tools is ever-tightening release cycles. Where releases once took years, an increasing number of software products will release new functionality to production monthly, week, daily, or even more frequently. The trend towards support more frequent transitions between activities will continue. More activities will be supported without larger changes of context. The use of effective project management tools will help in integrating several processes which are carried out by multiple set of tools. Hence, there is a need for the tools and technologies which will aid in faster deliveries and releases.

Devika Vaghela 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:devika.vaghela@spluspl.com

Thursday, 18 February 2016

A Complete Modern Application using JHipster

JHipster is a Yeoman generator for generating complete modern application in Java and JavaScript. By complete it means that client, server and database component are automatically generated and by modern we mean that application can run on multiple platform such as Android OS, Windows OS or iPhone OS and that too in any size screen

JHipster leverage number of technologies such maven build tool, Spring MVC Rest, Spring data JPA on server side. On client side it uses Angularjs. JHipster utilizes the Grunt JavaScript task runner, for building JavaScript and CSS assets and bower as package manager. 

Hipster support conventional database such as MySQL, Oracle, NoSQL database such as MongoDB, Cassandra and  inbuilt database such as H2.

Before we can actually start generating project we need to install Java, Git, Node.js, Bower, Yeoman and Grunt or Gulp

Quick Start 

1.Download and Install Node.js from the the website https://nodejs.org/en/download/ . Download the msi file and run it to install node.js. Npm (Node package Manager comes with this). We will need npm to install other software.

2. Install Yeoman. Yeoman is the scaffolding application generator. Use the below command to install yeoman
npm install -g yo
Additional information on yeoman can be found here http://yeoman.io/

3. Install Grunt. Grunt is a javascipt task runner. With the help of this tool repetitive task like minification, compilation, unit testing etc can be easily done.
npm install -g grunt-cli
Additional information on Grunt can be found here http://gruntjs.com/

4. Install Bower. Bower is a package manger which is responsible for hunting down, fetching and installing correct packages for your application
npm install -g bower
Additional information on Bower can be found here http://bower.io/

5. Create a new directory like myFirstJHipsterApp. Cd to myFirstJHipsterApp and install JHipster from there
npm install -g generator-jhipster

6. Once JHipster is installed we run the below command to to create a JHipster project.  
yo jhipster
JHipster will prompt you for various option as shown below. Select appropriate input.

7. Once JHipster Project is create you can see successful message.

8. Import the project into Eclipse as maven project.
       
9. Before we can actually build the project with Maven we have to made some changes in application-dev.yml. Basically we have to update the password. The credentials in application-dev.yml will be used to connect to database we will be using. The path of the application-dev.yml is /src/main/resources/config/

10. Before we can actually build the project we have to create the database. We can get the name of the database from pom.xml file.

11. For MySQL you can use the below command to create database.(It is assumed that we have MySQL in your machine.)

Create database myFirstJHipsterApp 

12. You are now ready to build the project. Run install goal from maven, you can skip the test for now.

13. After successful build you can navigate to the target folder of your project and run the below command 

java-jarmyfirstjhipsterapp-0.0.1-SNAPSHOT.war-spring.profiles.active=dev

14. If everything is setup correctly you should be able see the local and global url.

15. Your project is now ready. Go to the URL http://127.0.0.1:8080
Note: You can get the URL from previous point. Also note that port may be different for you.

You are all set with a JHipster project.

Note: The aim of this blog is to show quick steps to create a JHipster Project. The intent of this blog is not to answer why part of it. Details on why part can be found from link provided below.

Additional resource on JHipster can be found here

About the author:
Manas Das 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 manas.das@spluspl.com

Friday, 12 February 2016

Working with Microsoft ReportViewer

ReportViewer control is basically used to show reports on portal backed up by SQL Server Reporting Service. More information on what is ReportViewer is here and how to download and map it to Visual Studio is here.

My main reason of this blog is to help mates to overcome same issue that I faced when I dealt with this control. Thought there were many reason behind the issues that I faced, few to mention are as below:
  1. Very poor usage documentation on MSDN site. Just mentioning methods and properties won’t serve a purpose when a person is stuck. An example or two shall definitely help.
  2. Most the blogs or portals just show how to use the control in Visual Studio and get to start working, but hardly one or two shows properties and events that make up the rendering.
Issues that I faced:

Print Icon not appearing on ReportViewer control when report loading takes a bit longer time.
The print icon shall not appear in browser other than IE, and this is by design and MS have only consider it for IE.

We had basically three types of reports in our application.
  1. One that’s light weight, means, that comes up very fast.
  2. One that takes time to load as data is large.
  3. A report have child reports there in.

  • For report type one, everything is good and we go home by default code base that comes in with MVCReportViewer.js file.
  • For report type 2, issue starts popping up as report takes longer to load and the JavaScript that loads up print icon not doing its job as main control takes time to load.
  • For report type 3, the parent report takes time where in point 2 comes in and hence child report don’t get the print icon either (really don’t know what happened here).

Fix applied:
In MVCRepportViewer.aspx file.
  1. AsyncRendering="false"

In MVCReportViewer.js file
  1. Check if the browser is non IE
  2. Below code is used when the reports which renders comparatively faster as we don’t get Load event for that report but still we need to show Print icon.

var element = document.getElementById ('PrintButton');
            if (typeof (element) == 'undefined' || element == null) {
                var buttonHtml = $('#non-ie-print-button').html();
                $('#ReportViewer_ctl05 > div').append(buttonHtml);
                $('#PrintButton').click(function (e) {
                    e.preventDefault();
                    printReport();
                });

                $('#mvcreportviewer-btn-print').hover(function () {
                    $(this).css('cursor', 'pointer').css('border', '1px solid rgb(51, 102, 153)').css('background-color', 'rgb(221, 238, 247)');
                }, function () {
                    $(this).css('cursor', 'pointer').css('border', '1px solid transparent').css('background-color', 'transparent');
                });
            }

3. Handle Load event as below
Sys.Application.add_load (function () {
                Var reportViewerID = $find ("ReportViewer");
                reportViewerID.add_propertyChanged (trackReportViewerBehaviorInNonIEBrowser);
});

4.In the function trackReportViewerBehaviorInNonIEBrowser(sender, e)
1. Get ReportViewer control context
2. Check if control is still loading by if (e.get_propertyName() === "isLoading")


1. If control is still loading, do nothing
2. If control completes loading then

1. Get controlid of PrintButton from DOM by using var element = document.getElementById('PrintButton');

2. If we get the control then do below step
if (typeof (element) == 'undefined' || element == null) {

                        var buttonHtml = $('#non-ie-print-button').html();
                        $('#ReportViewer_ctl05 > div').append(buttonHtml);
                        $('#PrintButton').click(function (e) {
                            e.preventDefault();
                            printReport();
                        });

                        $('#mvcreportviewer-btn-print').hover(function () {
                            $(this).css('cursor', 'pointer').css('border', '1px solid rgb(51, 102, 153)').css('background-color', 'rgb(221, 238, 247)');
                        }, function () {
                            $(this).css('cursor', 'pointer').css('border', '1px solid transparent').css('background-color', 'transparent');
                        });
                    }

About Author:
Hardik Dave 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: Hardik.D@spluspl.com

How To Fit BA’S & PM’S On Agile Projects?

It seems like there has been a discussion about this for 10+ years and we will probably continue the discussion for another 10!

Titles do cause confusion. In general, there has always been a confusion regarding the roles of PM (Project Manager) and BA (Business Analyst). The role of a BA and PM are not divided into undisputed territories. The industry works hard to clearly draw a line between the roles of a BA and PM, but the real-life challenges of organizations and projects make perfect alignment to textbook role definitions impossible. With the advent of Agile, roles related to Agile have been added to the mix. This makes it even more difficult do actually decide how to fit BA and PM on an Agile project.

In today's business environment which are fast paced, companies are constantly under pressure to adapt to the changing market conditions. Companies that are into software development increasingly incline towards agile development practices to help them stay ahead in the market. Agile processes are iterative, highly collaborative and all focused on the rapid and incremental delivery of software.

More and more organizations are transitioning to an agile mindset which creates more confusion pertaining to roles of BA and PM. Common title and role-related questions include:
  • Is a BA involved in an agile project?
  • What would be a BA’s role on an agile project?
  • Is the role of a Scrum Master the same as that of a PM?
  • Does the PM become Scrum Master?
  • Does the BA become Product Owners?
  • Is QA a part of the agile team or are they separate?

Do we really need to ask these questions? Or instead just adapt to the changing needs of the market. Many organizations have started to adapt but by modifying the roles as per their convenience and that makes it even more difficult for the industry to answer these questions? There is a need to stop finding links between traditional titles to agile titles. That’s not how it works. There is no direct translation or 1:1 conversion. And when we try finding that relation, it is no more agile and becomes hybrid agile. 


No doubt that skills of the people involved defines an agile team and not titles but that doesn’t mean we should neglect the core concept of agile. At times it becomes so difficult and confusing when BA, PM, Scrum Master, Product owner, all are involved in a single project and they call it an agile project. Nobody talked about roles like Scrum Masters and Product Owners before the birth of agile. That clearly explains that these are agile roles popularized and defined by the agile methodology.

It rarely happens when HR managers are looking forward to hire resources for the new agile roles. These roles are new for organizations implementing agile, but that doesn’t mean that there is a need to hire new resources. So, how do we get people for these new roles? The answer and the people are in the same organization i.e. people who have experience in traditional roles. PMs, BAs, Tech Leads, Solution Architects, Business Managers and Product Managers with little bit of research and training can take up these new agile roles.

There are times when titles don’t change. So, by title one can be a Business Manager but play the role of a Product Owner when working with an agile team. One can be a BA by title but my role would depend on what the team needs and what talent I bring to the team when it is agile.

Basic skills required for every software development project remains same. The only difference is in the application of those skills in accordance with the project requirements. The ultimate goal is to successfully complete the project, be it in the traditional way or the agile way. The agile team determines in achieving this goal by applying agile principles to determine what will add the more value to the business process and the customer.

There is a mad rush in the market and everyone wants to be agile. Transitioning from traditional to agile can be frustrating given that at times agile roles seem to be a bit blurry at times. Every organization tackle this challenge differently. If we just forget about the titles and focus more on techniques, skills, incremental improvement, we can minimize the confusion involved in transition to agility. Let the focus be on successfully delivering value to our organizations instead of pondering over how to fit BA’s and PM’s on agile projects.

Every organization has their own terminology and have different names for different roles. It does matter what you name it, rather what really matters is the team dynamics needed to succeed in agile projects. Try and identify people who excel in their current job title in traditional projects, it should not be hard for them to work on agile projects. Ultimately you need to successfully complete the job at hand, with or without agile.

About Author:
Sachin Poojary 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: sachin.poojary@spluspl.com 

Friday, 5 February 2016

Sourcing Advisory As Service

Sourcing Advisory:
Sourcing advisory as the name suggests is the outsourcing of the advice to the third party or within the company during the process of managing the sourcing required at the time of developing a software or tools and applications. Advice could be seek during outsourcing, offshoring or global sourcing. Many management consulting firm’s now-a-days offer sourcing advisory as a service moreover some independent freelancing consultants also provides sourcing advisory services.

SaaS (Software as a Service)
Since the first windows came into existence, whenever someone talks about “Software”, we combine it to the software package that comes with an installation compact disc or can be downloaded from a website, with the .exe file one can install the software locally on his/her machine and once installed, it can be launched. The concept here was more of a packaged “Product” that user could purchase and use on his system.

This was well until the time wherein a user performed all his work on a single independent machine. But the scenario changed as the user became mobile and connected through various devices like his tablet, laptop, smartphone, etc. it became cumbersome for user to access the data on all devices and at all times. Thus this was the time to give a new definition to “Software”.

Modern day Scenario of SaaS
SaaS is like a cloud of applications/software’s and tools which are hosted by the owning organization or company whom a user can access using his web browser from any device which can be connected to internet. The benefit over here is it can be used from anyplace and from multiple device and at any time, this makes SaaS a versatile and a robust methodology for accessing software’s moreover only a one time subscription is needed to activate the access and it can be re-validated after its expiration.

SAaaS (sourcing advisory as a service)
Similarly SAaaS has also emerged out in the way SaaS has, now-a-days there are tools available with automation which helps provide the SAaaS, services, they assists users to observe and see the trend in data and services. Sourcing advisory as a service is still relatively a new concept, so it’s going through different transitions and testing’s so as to make them fool proof.

Some of the advantages of SAaaS are mentioned below:
•Providing internal audits so that everything be in compliance
•Assisting consumers manage and established outsourcing partnership 
•Helping buyers through different levels of the transaction
•Assisting client on management of processes
•Suggesting clients identify processes to be outsourced or off shored 
•Providing new analysis & research in context to the sourcing industry
•Advising buyers identify and select potential suppliers (provider selection)
•Enhancing sourcing contracts re-negotiate or renew transactions

SAaaS is a new age of service delivery model that has evolved as a result of changing dynamics of the way people and business operate in the new world of inter-connectivity. The SAaaS has a vast scope in the future as right now it’s just have started to spread in lengths and breadths, so one can hope it will soon be a vital part in IT service industry.


About Author:
Rohan Bhardwaj 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: rohan.bhardwaj@spluspl.com

Behind the Scenes as a Business Analyst

A Business Analyst (BA) scrutinizes intrinsic details of an organization or business domain and documents its business, evaluating the business model or its amalgamation with technology.
A Business Analyst (BA), is basically a part of the business processes and works with Information Technology to improve the quality of the services being delivered, assisting in Integration and Testing of new solutions. BA also supports the creation of training material, contributes in implementation, and delivers post-implementation support. This may involve the development of project plans and often requires project management skills.

What does it take to be a Business Analyst:

The Business Analyst role is perceived as a communication link amid IT and the commercial stakeholders. Business Analysts should be great vocal and written communicators, insightful diplomats, problem solvers and analyzers - with the capability to engage with stakeholders to fathom and respond to their needs in the rapidly changing business environments. 
This involves frequently dealing with senior stakeholders and ensuring that the value for money is attained from IT developments.

In order to understand the benefits that Business Analysts bring to a project, it is essential to know the general criteria for a project to be successful. Following are the four key components which determine the project’s success:

  • Completion of project within the specified Timeline
  • Adherence to estimated Budget
  • Determine the impact on everyday Business
  • Adopting Solutions and determining usefulness 

Few Essential steps to be followed by a Business Analyst to Meet Project Deadlines and ensure successful completion of project:


1.Get required clarifications

To meet a project deadline, it is essential for the BA to know what the project requires. Building assumptions around what is expected can result in mismanagement of the project and waste time of the project team and as well as the client. It is equally important to get clarifications necessary to meet the client’s needs. Once an agreement is reached, it is essential to get it in writing, and have the client sign off on it to avoid any possible disputes.

2.Break it Down
Most projects are accomplished over a set period, and require few precise actions to be taken along the way. As the complication of the project increases it is important for the BA to ensure that all steps are completed. Identifying key checkpoints will help one track the project's development and stay on schedule.

3.Communication
Communication is vital to the success of any project. As a BA is a link between the client and the internal team, effective communication plays a significant role to align the various stakeholders to attain a common goal. While an email notification may be adequate for a small project, a multifaceted project usually requires face-to-face communication. Making departments and people responsible for carrying out definite steps will help to keep the project on schedule and reduce the likelihood of misunderstanding.

4.Time

The project team’s BA must elicit, analyze, and validate all project requirements frequently with the stakeholders. A project needs to be completed within a certain time frame. If the requirements are defined clearly then there will be less rework and will enable to complete the project in a cost effective manner and deliver it on time. 
  
Today’s business environment entails project driven transformation to be executed with more discipline and agility than ever before. The Business Analyst’s skilled interaction with stakeholders all the way through the organization will facilitate the acute need to bridge the gap between strategy and execution. It is essential to engage with technologies in order to deliver the final product within the specified time, budget and estimated effort.

Gurpreet kaur Gaga 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: gurpreetkaur.gaga@spluspl.com