Thursday 27 November 2014

Useful Business Analyst Practices!

Business analysis has in recent times emerged as a core business practice. Innovative companies achieve goals through projects that translate customer needs into new products and services for the customer and business analysts make it happen more efficiently and effectively. Skilled business analysts act as the vital link between an enterprise’s IT capabilities and its business objectives contributing to its profitability, in almost every industry.

The primary role of business analyst is to implement technology for developing cost-effective solutions by determining the requirements of a business project, and communicating them to all stakeholders and partners. He/she is the key role player in a company’s act of bringing together various pieces of the complex puzzle called a business process, and act as a binding force between clients, business users and customers on the one hand and IT developers, QA testers and the corporate governance on the other.

Common reasons for failure of solution provided in business analysis:

In general, solutions often fail to conform to the required norms because of one of the following conditions or a combination of these:
  • Inadequate understanding of the business problem
  • Lack of clarity in the stated requirements
  • Inadequately explored options to solution
  • Mismatch between requirements and project scope
  • Inefficient project planning
  • Not focusing on value
The team members are the key drivers of all planned activities in the design, build, test, and release and operation phases of the IT Service overall lifecycle. Requirements-driven changes would be recognized and run by the Business Analyst, and so that the BA’s overall understanding about the ITL Change Control process is used efficiently in the execution of project. Following are the practices divided into 2 parts.


Below are the Best Practices followed by business analyst.
  1. High Level Scope Document
    How can you capture project objectives before having a completed set of functional and technical requirements? The main goal of the scope definition document is to clearly describe the limitations of the project .The BA puts together a preliminary High Level Scope document which includes initial document like SOW or any other important document based on the user input and present it to the business users of the organisation.

  2. Time & Cost Estimation
    The development team provide efforts required for building the application based on which business analyst estimates the overall development time and cost and puts it forward to the business users. This would then help in estimating time for user acceptance testing and expert time required for supporting the new solutions.

  3. Capturing Detailed Business Requirements
    One of the important roles of the business analyst is to capture business requirements using various tools and do detailed analysis of the same. These requirements have to be captured in such a way that they can be easily converted to test cases to support QA testing. A variety of tool sets can be used which can help in merging the QA test results and the original business requirements.

  4. Requirement Document for Documenting Changes in Business Processes
    Most organizations have a group of business process analysts (BPA) specializing in documenting current state and the desired end state of business processes, through a flow chart tool.

  5. Requirements Document for Development of User Training
    It is the job of business analyst to document the training requirements which describes the basic and timing requirements and a high level description of the performance objectives that need to be achieved through training of the operational or support users for the product under development.

Business strategy and IT Services are indirectly related to each other. IT Services are built to substantiate business processes which are an integral function fulfilling the business requirements, which are defined by business strategy. Thus, the role of the Business Analyst is crucial to define and deliver the right IT Services.

About Author:
Nisha Bhatt 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: nisha.bhatt@spluspl.com

Tuesday 25 November 2014

Enabling Service Broker in SQL Server

While creating a database for one of our new projects came across with an error:

“The SQL Server Service Broker for the current database is not enabled, and as a result query notifications are not supported. Please enable the Service Broker for this database if you wish to use notifications”

Now, the question I had in front of me was………

How do I enable Service Broker in SQL server 2008 R2 database? 

I tried executing the below query…..

ALTER DATABASE SET ENABLE_BROKER but it went into an infinite loop.

Again executed the query and got error- ‘database is in use.’

Use Master

ALTER DATABASE [DBNAME] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE

And after a long R&D, I killed the entire session id connected to the database, in which I was suppose to enable the broker.

So there are two options to enable the broker.

Option 1-
Just run this script, it will kill all the process's that a database is using and then set the broker


USE master
go
DECLARE @dbname sysname
SET @dbname = 'YourDBName'
DECLARE @spid int
SELECT @spid = min(spid) from master.dbo.sysprocesses where dbid = db_id(@dbname)
WHILE @spid IS NOT NULL
BEGIN
EXECUTE ('KILL ' + @spid)
SELECT @spid = min( spid) from master.dbo.sysprocesses where dbid = db_id(@dbname) AND spid > @spid
END
ALTER DATABASE @dbname SET ENABLE_BROKER


Option 2 –
1. Connect SQL server management studio
2. Right click on your database
3. Go to Properties -> Options -> Service Broker



About Author:
Raghwendra Mishra is DBA who works as associate consultant with Systems Plus Pvt. Ltd. He in free time reads and write on various web technologies. He can be contacted at: raghwendra.mishra@spluspl.com

Tuesday 18 November 2014

The Five Step Guide to Effective Client Interaction

When it comes to Effective Client Interaction there is no set of rules for communication that can be used. Every single client is different in their own way, and each should be treated in that manner.  We need to understand that there are clients with whom you can minimize communication as their not interested in updates every single hour of the day, while others want you to hold their hands throughout the entire design process. However the client might be, let’s talk a look at how a few steps can help reduce client interaction problems:

1. Understand What the Client needs
Instead of merely talking to customers, understand what they say so you can accurately identify their needs and help them find solutions. Through the course of a simple conversation, you may discover that you offer a specific product or service that would make your customer's life more convenient. By offering that service, you raise the level of satisfaction and successfully cross-sell for your company at the same time. This can be done effectively once you understand what the client needs.

2. Ask Questions

Asking good questions is productive, positive, creative, and can get us what we want. Effective questions are open-ended and not leading questions. They are not "why" questions, but rather "what" or "how" questions. "Why" questions are good for soliciting information, but can make people defensive so be thoughtful in your use of them. Effective questions are questions that are powerful and thought provoking, so it is always good to ask effective questions and gain client confidence and clarity.

3. Engage the Client
Engaging customers means notifying them weekly or monthly on how the project is going. Weekly reports are important to facilitate project tracking and control and to keep your customer informed on the status and progress of your project. Updating them regularly keeps them up to date and the client can then share their feedback at each stage.

4. Using Examples
Using good examples compliments effective communication. Sometimes explaining a concept or suggestion just doesn’t cut it through email or on the phone. When this happens clients will appreciate you much more if you can provide real examples. Consequently, you’ll end up clearing up a lot of confusion and misunderstanding. For example, if you wish to nest specific elements in various locations throughout the layout, it would be an ideal choice for you to send them a wireframe of how you plan on structuring the site.

5. Smile and Use Common Courtesies

This seems like such a simple, obvious component to effective customer interactions, but sadly, it is one that is often overlooked today. Train your employees to greet every customer with a warm smile and a question like "May I help you?" You might be downright surprised at how these simple gestures can make your customers' day.

Communication is essential in all aspects of life, whether interaction is achieved through words, writing, or actions. Without effective communication there can be no mutual understanding between individuals, exchange of information, nor expression of true feelings thoughts or ideas. Know which clients deserve what amount of attention and degree of communication; it helps bonding with clients and achieves a good rapport.

About Author:
Shweta Samudra 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: shweta.samudra@spluspl.com

Wednesday 5 November 2014

5 Golden rules used by BAPM in Software Product sustenance

Different software products follow a different SDLC like Iterative Enhancement Model, Object Oriented Methodology, and Dynamic System Development Method throughout software product’s development. It is the responsibility of Business Analyst/Project Manager to choose which SDLC would be beneficial so as to get better product in given time span and in right budget. Following are the 5 rules that are followed by BAPM for Software product sustenance:

Product Development:

Software Product Development is the methodology used for configuration, outlining, and leading the process of developing and expanding products to satisfy end users needs. It requires a lot of ground work so as to define the product perception, consider product feasibility and ensure business achievement. A product advancement initiative must guarantee quality and work towards a specific release date. A Business Analyst/Project Manager understands the priorities and builds a product roadmap so as to ensure that right product is built and within the target budget and timeline.


Business Analyst / Project Manager act as a sheet-anchor role and inspect the complete project through the stages of SDLC to guarantee that the implementation process is carried out uniformly and ends successfully. He also ensures that on completion of the project, you get what you had actually wished for.
A Business Analyst/Project Manager ensures that following services has been delivered to the end user during development and after completion of the software product:
  • Guaranteed Return on Investment
  • Faster development cycle
  • Increased development productivity
  • Low development costs
  • Reduced time to market
  • Quality software products are delivered

Performance Enhancement:

Evolving technology necessitates the call for improvised solutions, enhanced products, and superior features. Software Product needs to keep swiftness with such dynamic changes offering new enhancements and features within a short time-frame to sustain their position in competitive markets and retain their customers. A BAPM plays a vital role when performance enhancement comes into picture. He is responsible for the entire Product’s performance during and after development. Enhancement may be in terms of speed, quality or Performance.



Porting & Migration:

A BAPM helps to meet the software products unique integration and migration needs. Their knowledge and expertise in diverse technology platforms helps development team to perform integration and migration of software across complex platforms in heterogeneous environments.
Currently, in software industry, incredible antagonism exists to gain the largest possible consumer base. The majority of software companies have to build a product that is offered to end users in all available platforms and to adapt new technologies as soon as they are accessible.
Migration and porting is a practical solution under these situations. This solution requires the exact approach pooled with in-depth information of the latest software technologies involved.
BAPM provides an approach to porting and migration which does not focus solely on converting the application to run in a new environment but it also ensures the reliability and integrity of the application which is maintained throughout the migration process.


Benefits of porting and migration:

It boosts visibility of the software product to new customers by offering services in various platforms, also minimizes high costs of managing in-house team to execute unnecessary and redundant functions, sustain a wider product portfolio by re-allocating the capital to more complex and innovative tasks

Optimization:
Optimizing software product is necessary for improving its performance, functionality, scalability and flexibility to adapt to new technologies. Additionally, these optimizations can help us to eliminate inefficiencies in the software product.

Maintenance & Support:
As the product matures and nears the closing stages of its lifecycle, there are many synchronized actions that you will need for its maintenance and support. As BAPM, they need to ensure that proper services are being provided to tackle those exclusive needs during the after-sales stage of your software product. These could be in terms of bug fixes, minor improvements and testing.



For any software product, BAPM needs to ensure that proper product has been delivered and it has been through different set of filters ensuring that almost no bugs would occur when the products is delivered to the end user. He also needs to ensure that the software product delivered to the end users have fulfilled their current and near future requirements.


About Author:
Varun Shimoga 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: varun.shimoga@spluspl.com

Unified Communication

With communication technology being developed constantly people are becoming more and more dependent on the benefits it provides.eg: telephone, internet  and other communicating devices have  conked out the distance and time barriers so that people can communicate in real time or near real time when they are not together. There are now many other barriers to be overcome. People are using many different devices to communicate like wireless phones, personal digital assistants, personal computers.

What is Unified Communication?
Unified communications involves breaking down of communication barriers so that people using different modes of communication, different media, and different devices communicate to anyone, anywhere, at any time.
Communication technology encompasses a broad range of mediums, from the internet to radio to television to wireless signal providers.

What is Unified Communications as a Service (UCaaS)?
It is a delivery model that integrates real time communication like instant messaging , IP telephony, desktop sharing with non real time communication like email,fax,voicemail are outsourced to a third-party vendor and delivered over an IP network—most often the Internet.

UCaaS includes variety of communications and applications and services outsourced to the third party provider to optimize business processes and enhance human communications by providing high level of availability, flexibility and scalability.

Benefits of UCaaS
  • Provides accessibility and flexibility in connecting offices and mobile workers.
  • Reducing IT complexity by helping easy migration from legacy systems
  • Facilitating better communication.
  • Better decision making by enabling immediate access to people, data and applications any-time, anywhere, on any device.
    E.g. your boss can find you immediately, have a video chat or conference with you, share screens with you, and you can both be anywhere.
  • Availability is one of the key advantages of UC—the ability to see who is online and who is unavailable. This facilitates real-time communication via methods that are faster and more direct than e-mail.

The UCaaS market is on the increase. Recent research published in the Markets and Markets comprehensive 2013-2018 report indicates that 2014 represents the beginning of the technology’s widespread adoption. By 2018, revenue is expected to grow more than double from its current $2.52 billion to $7.62 billion. This growth is no surprise, because of the increasing number of communication channels and interactions.


Types of UCaaS include: 
  • Single Tenant system: In this approach customized software is integrated with on premises applications for single customer.
  • Multi- tenant systems: In this approach single software platform is shared by multiple clients. This is generally cheaper than the Single tenant system.
Many companies, mainly small businesses, use UCaaS to avoid the capital and operational expenses associated with deploying a unified communications solution on their own.

Businesses are making moves to add UCaaS tools to their portfolio to increase productivity and seize advantage of the latest transformative technologies. It provides a platform to upgrade communications both internally and externally, and speeding up the ability to find and connect with others by enabling immediate access to people, data and applications any-time, anywhere, on any device.

About Author:
Mohini Bhandari 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 mohini.b@spluspl.com