a:6:{i:0;s:14091:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for business analyst in kerala 0</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.excelindiahrservices.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.excelindiahrservices.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for business analyst in kerala 0</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Business Analyst (BA)</div>
								
				<br>
				<p class="aj mt7px">KEY PERFORMANCE INDICATORS / RESPONSIBILITIES<br />
o To lead the Business Analyst role while being ready take the responsibility at the highest level.<br />
o High visibility with respect to direct liaisoning with CEO and CXO’s to shape the product and product grooming.<br />
o Requirements gathering and elicitation from user group.<br />
o Ready to Preparing user stories / use cases, BRD\'s, FRD\'s, Testing scenarios and other requirements based on the requirements gathered along with acceptance criteria.<br />
o Creating End user documentation of the requirements and Functional training.<br />
o Responsible and Accountable as a product owner.<br />
o Creating Training material.<br />
o Communicating with the customer to clarify and finalize requirements and any changes.<br />
o Interacting with development teams to answer functional and requirements related queries.<br />
o Validating, testing and reviewing test scenarios and test cases.<br />
o Performing functional testing and validation of requirements traceability.<br />
o Ongoing business and functional knowledge transfer to the technology resources.<br />
DESCRIBED BELOW IS WHAT DEFINES US & OUR IDEOLOGIES:-<br />
We are vivacious fun-loving young company with new-age work policies that provide freedom, nurturing the skills and individual ambitions while still working on cutting-edge technologies.<br />
IT IS NOT THE TERABYTES AND PETABYTES THAT DRIVE US, IT IS THE ZETTABYTES AND YOTTABYTES THAT IGNITE US<br />
WE<br />
- Would like to channel every thought inside ii2 towards making machines think more.<br />
- Like to be crazy in our technology ambition,<br />
- Are ridiculously over ambitious in our growth aspirations<br />
- Are infinitely proud in our technological skills but to top it all remain simple and humble in our behaviours.<br />
- Start at the point where other stop and say “impossible”.<br />
AND<br />
We know it is not easy to achieve and maintain these thoughts unless skill full and brilliant minds join us, so we aspire you to join us if:<br />
1. You are passionate about your job and technology<br />
2. Challenges really excites you<br />
3. You are self motivator<br />
4. You have Intrapreneurial skills<br />
5. You believe in leadership by example<br />
6. You believe start up mode of works give you the power to be the best<br />
7. Long haul is what you are looking rather than short term gains</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 4  Lac  To  7  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Analytic and Business Intelligence</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Advanced/Higher Diploma, Professional Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Creating Training material</span>
												<span class="bdr dib p2px10px mr5px mt2px">Requirements gathering</span>
												<span class="bdr dib p2px10px mr5px mt2px"> business coordination</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Excelindia HR Services</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Excelindia HR Services</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:dmehrs@hotmail.com"> dmehrs@hotmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="233249">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="866726"><input type="hidden" name="subject" value="Applied for Business Analyst (BA)">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-asansol.htm" title="Jobs in Asansol">Asansol</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-howrah.htm" title="Jobs in Howrah">Howrah</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-surendranagar.htm" title="Jobs in Surendranagar">Surendranagar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-surat.htm" title="Jobs in Surat">Surat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thiruvananthapuram.htm" title="Jobs in Thiruvananthapuram">Thiruvananthapuram</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-gandhinagar.htm" title="Jobs in Gandhinagar">Gandhinagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-azamgarh.htm" title="Jobs in Azamgarh">Azamgarh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(16)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(8)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'NURkdi83VGxpWlo2TStLcGIvaHk2UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:70:"Job openings for business analyst in kerala 0 | Excelindia HR Services";i:2;s:171:"Business Analyst (BA) Jobs,Business Analyst (BA) Jobs in ,Business Analyst (BA) Vacancy in ,Business Analyst (BA) jobs in India,Analytic and Business Intelligence jobs in ";i:3;s:293:"Apply for Business Analyst (BA) Jobs in  India - Business Analyst (BA) Vacancy  in Analytic and Business Intelligence field with 5 years Work Experience, Key Skills are Creating Training material,Requirements gathering, business coordination, Analytic and Business Intelligence jobs in   India";i:4;s:2999:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Business Analyst (BA)",
		  "baseSalary": " 4  Lac  To  7  Lac ",
		  "description": "KEY PERFORMANCE INDICATORS / RESPONSIBILITIES
o To lead the Business Analyst role while being ready take the responsibility at the highest level.
o High visibility with respect to direct liaisoning with CEO and CXO’s to shape the product and product grooming.
o Requirements gathering and elicitation from user group.
o Ready to Preparing user stories / use cases, BRD\'s, FRD\'s, Testing scenarios and other requirements based on the requirements gathered along with acceptance criteria.
o Creating End user documentation of the requirements and Functional training.
o Responsible and Accountable as a product owner.
o Creating Training material.
o Communicating with the customer to clarify and finalize requirements and any changes.
o Interacting with development teams to answer functional and requirements related queries.
o Validating, testing and reviewing test scenarios and test cases.
o Performing functional testing and validation of requirements traceability.
o Ongoing business and functional knowledge transfer to the technology resources.
DESCRIBED BELOW IS WHAT DEFINES US & OUR IDEOLOGIES:-
We are vivacious fun-loving young company with new-age work policies that provide freedom, nurturing the skills and individual ambitions while still working on cutting-edge technologies.
IT IS NOT THE TERABYTES AND PETABYTES THAT DRIVE US, IT IS THE ZETTABYTES AND YOTTABYTES THAT IGNITE US
WE
- Would like to channel every thought inside ii2 towards making machines think more.
- Like to be crazy in our technology ambition,
- Are ridiculously over ambitious in our growth aspirations
- Are infinitely proud in our technological skills but to top it all remain simple and humble in our behaviours.
- Start at the point where other stop and say “impossible”.
AND
We know it is not easy to achieve and maintain these thoughts unless skill full and brilliant minds join us, so we aspire you to join us if:
1. You are passionate about your job and technology
2. Challenges really excites you
3. You are self motivator
4. You have Intrapreneurial skills
5. You believe in leadership by example
6. You believe start up mode of works give you the power to be the best
7. Long haul is what you are looking rather than short term gains",
		  "educationRequirements": "Advanced/Higher Diploma, Professional Degree",
		  "experienceRequirements": "5 Years",
		  "industry": "Analytic and Business Intelligence",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Advanced/Higher Diploma, Professional Degree",
		     "skills": "Creating Training material,Requirements gathering, business coordination"
		  }
		</script>
		";i:5;N;}