a:6:{i:0;s:8791:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for business analyst in chennai</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.bsrics.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://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>
					</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</div>
									<p class="mt7px fw6">Chennai</p>
									
				<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">Qualification</td>
					<td class="p5px">B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech</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="985422"><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">(8)</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">(6)</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-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>
									
				</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: 'OWFSVkpKU0tveXZTZWlzaWFyQjlrQT09',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:420:"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:3362:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Business Analyst",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "985422"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9176376488",
	      "email" : "admin@bsrisolutions.com"  
	       },
		  "url": "https://www.bsrics.com/job-openings-for-business-analyst-chennai-985422.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": "B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		  "experienceRequirements": "4 - 8 Years",
		  "industry": "Analytic and Business Intelligence",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		     "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;}