a:6:{i:0;s:9891:"				<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="h1"><h1>Job openings for business analyst in chennai</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.bsrics.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.bsrics.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for business analyst in chennai</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Business Analyst</div>
									<p class="mt7px fw6">Chennai</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1043352"><input type="hidden" name="subject" value="Applied for Business Analyst">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="http://www.bsrics.com/vacancy_1043352.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">The Business Analyst assist the Product Owner in the Requirements documentation of the Agile<br />
development process driving customer success. The Business Analyst will, at the direction of the<br />
Product Owner, gather, document, and curate business requirements. This includes working with the development and quality assurance teams to clarify requirements. This individual will play a critical role ensuring that the business requirements and implemented solutions will meet the client’s needs and will deliver significant value to the client’s organization.<br />
 <br />
ESSENTIAL DUTIES AND RESPONSIBILITIES<br />
 <br />
Document, analyze and map client requirements working with Product Owners, Clients, Project<br />
Managers and/or Account Management based on direction from the Product Owners.<br />
Produce high quality functional requirements documentation in the form of an Agile based user<br />
stories<br />
Coordinate efforts to review and seek requirement approval with Product Owners who may in<br />
turn seek approval from internal and/or external clients<br />
Identify/suggest improvements to requirements tools, templates, and processes<br />
Develop product and domain knowledge and expertise<br />
Document testing scenarios and serve as subject matter expert supporting quality analysis<br />
testing activities<br />
Train-the-trainer activities and assistance with training documentation as needed<br />
Assist as necessary with user acceptance activities with client testers<br />
Participate in client interaction including new business opportunity meetings, presentations,<br />
requirements gathering, production support activities, etc. as needed<br />
Assist as needed with responding to client inquiries supporting the project management team<br />
<br />
Desired Skills and Experience<br />
Experience with Agile Development Methodology<br />
Bachelor’s degree in business, economics, or a technology-related field<br />
Automotive industry experience is a plus<br />
Experience in customer-facing, consultative roles in professional technology consulting firm<br />
Excellent verbal and written communication skills</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">4 - 8 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 4  Lac  To  12  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">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Microsoft Office</span>
												<span class="bdr dib p2px10px mr5px mt2px">SAS-Statistical Analysis System</span>
												<span class="bdr dib p2px10px mr5px mt2px">Business Analytics</span>
												<span class="bdr dib p2px10px mr5px mt2px">Business Consulting</span>
												<span class="bdr dib p2px10px mr5px mt2px">Business Research</span>
												<span class="bdr dib p2px10px mr5px mt2px">Requirement Analysis</span>
												<span class="bdr dib p2px10px mr5px mt2px">Statistical Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px">Agile Development</span>
												<span class="bdr dib p2px10px mr5px mt2px">Business Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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">Contact Person</td>
						<td class="p5px">Mr.S.Buvanesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Regus Business Centre, No.136, 3rd Floor, Shyamala Tower, Arcot Rd,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9176376488 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:admin@bsrisolutions.com"> admin@bsrisolutions.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="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1043352"><input type="hidden" name="subject" value="Applied for Business Analyst">
					</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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></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">(13)</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">(1)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><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>
									
				</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: 'YVIvRzZOWkRVNFN3SDViQVh3MGhRdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:69:"Job openings for business analyst in chennai | BSRI Solutions Pvt Ltd";i:2;s:172:"Business Analyst Jobs,Business Analyst Jobs in Chennai,Business Analyst Vacancy in Chennai,Business Analyst jobs in India,Analytic and Business Intelligence jobs in Chennai";i:3;s:412:"Apply for Business Analyst Jobs in Chennai India - Business Analyst Vacancy  in Analytic and Business Intelligence field with 4 to 8 years Work Experience, Key Skills are Microsoft Office,SAS-Statistical Analysis System,Business Analytics,Business Consulting,Business Research,Requirement Analysis,Statistical Analyst,Agile Development,Business Analyst,, Analytic and Business Intelligence jobs in Chennai  India";i:4;s:3267:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Business Analyst",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1043352"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9176376488",
	      "email" : "admin@bsrisolutions.com"  
	       },
		  "url": "http://www.bsrics.com/job-openings-for-business-analyst-chennai-1043352.htm",
          "datePosted": "2021-06-10",
          
		  "baseSalary": " 4  Lac  To  12  Lac ",
		  "description": "The Business Analyst assist the Product Owner in the Requirements documentation of the Agile
development process driving customer success. The Business Analyst will, at the direction of the
Product Owner, gather, document, and curate business requirements. This includes working with the development and quality assurance teams to clarify requirements. This individual will play a critical role ensuring that the business requirements and implemented solutions will meet the client’s needs and will deliver significant value to the client’s organization.
 
ESSENTIAL DUTIES AND RESPONSIBILITIES
 
Document, analyze and map client requirements working with Product Owners, Clients, Project
Managers and/or Account Management based on direction from the Product Owners.
Produce high quality functional requirements documentation in the form of an Agile based user
stories
Coordinate efforts to review and seek requirement approval with Product Owners who may in
turn seek approval from internal and/or external clients
Identify/suggest improvements to requirements tools, templates, and processes
Develop product and domain knowledge and expertise
Document testing scenarios and serve as subject matter expert supporting quality analysis
testing activities
Train-the-trainer activities and assistance with training documentation as needed
Assist as necessary with user acceptance activities with client testers
Participate in client interaction including new business opportunity meetings, presentations,
requirements gathering, production support activities, etc. as needed
Assist as needed with responding to client inquiries supporting the project management team

Desired Skills and Experience
Experience with Agile Development Methodology
Bachelor’s degree in business, economics, or a technology-related field
Automotive industry experience is a plus
Experience in customer-facing, consultative roles in professional technology consulting firm
Excellent verbal and written communication skills",
		  "educationRequirements": "",
		  "experienceRequirements": "4 - 8 Years",
		  "industry": "Analytic and Business Intelligence",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "",
		     "skills": "Microsoft Office,SAS-Statistical Analysis System,Business Analytics,Business Consulting,Business Research,Requirement Analysis,Statistical Analyst,Agile Development,Business Analyst,"
		  }
		</script>
		";i:5;N;}