Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
courses:cs397:winter2017:buzzword_bingo [2017/05/02 19:26] – created admincourses:cs397:winter2017:buzzword_bingo [2017/05/05 16:14] (current) – [Buzzword Bingo] admin
Line 1: Line 1:
 ====== Buzzword Bingo ====== ====== Buzzword Bingo ======
  
 +//In progress from class discussion...//
 +
 +We identified some important buzzwords and then researched them together in class to try to understand some of the terms we repeatedly see when exploring software tools.
  
 ===== Full-stack Development ===== ===== Full-stack Development =====
  
-development which involves both front end and back end development, working with PHP, HTML, CSS, JavaScript, etc. Full-stack development combines working with systems infrastructures, manipulating databases, API/back-end code, front-end, and project management (Agile, SCRUM, Kanban)+Development which involves both front end and back end development, working with PHP, HTML, CSS, JavaScript, etc. Full-stack development combines working with systems infrastructures, manipulating databases, API/back-end code, front-end, and project management (Agile, SCRUM, Kanban)
  
-    System admin - Linux, shell scripting+  * System admin - Linux, shell scripting 
 +  * Search - Elasticsearch;  
 +  * Caching - Varnish  
 +  * Version Control - Git, Mercurial SVN 
 +  * Back-end: Apache, PHP, MongoDB, SQL, MySQL 
 +  * Front-end: HTML, CSS, JavaScript, jQuery, AJAX, XML, WebSocket
  
-    Search - Elasticsearch;+Resources: 
  
-    Caching Varnish +  * https://www.sitepoint.com/full-stack-developer/ 
 +  * https://www.quora.com/What-does-the-term-full-stack-programmer-mean 
 +  * http://www.pearltrees.com/t/company-picks/at-t/id5539108/item50626959
  
-    Version Control Git, Mercurial SVN+===== Data-driven development =====
  
-    Back-end: Apache, PHP, MongoDB, SQL, MySQL 
- 
-    Front-end: HTML, CSS, JavaScript, jQuery, AJAX, XML, WebSocket 
- 
-https://www.sitepoint.com/full-stack-developer/ 
-https://www.quora.com/What-does-the-term-full-stack-programmer-mean 
-http://www.pearltrees.com/t/company-picks/at-t/id5539108/item50626959 
-•Data-driven development 
 Data driven development is a model where the data controls the behavior, not the program logic. Data driven development is a model where the data controls the behavior, not the program logic.
 Uses: Uses:
  
-    modeling+  * modeling 
 +  * analysis and prediction 
 +  * data simulations 
  
-    analysis and prediction+==== Flux ====
  
-    data simulations  +    used by Facebook 
- +    application architecture for client side apps 
-Flux +
- +
-    used by Facebook +
- +
-    application architecture for client side apps +
  
  
Line 41: Line 40:
  
 Sources: Sources:
-https://branch-blog.qlik.com/tools-and-platforms-for-data-driven-development-bb25d9c1e6ae#.oxtbihl5z +  * https://branch-blog.qlik.com/tools-and-platforms-for-data-driven-development-bb25d9c1e6ae#.oxtbihl5z 
-https://facebook.github.io/flux/docs/in-depth-overview.html#content+  https://facebook.github.io/flux/docs/in-depth-overview.html#content
  
-DevOps (software DEVelopment and Information Technology OPerationS)A set of practices which encourages increased communication between developers and IT professionals to automate software delivery and infrastructure changes. An attempt to integrate the software development work-space into one cohesive group.+===== DevOps (software DEVelopment and Information Technology OPerationS) ===== 
 + 
 +A set of practices which encourages increased communication between developers and IT professionals to automate software delivery and infrastructure changes. An attempt to integrate the software development work-space into one cohesive group.
   image source: Wikipedia (https://upload.wikimedia.org/wikipedia/commons/0/05/Devops-toolchain.svg)   image source: Wikipedia (https://upload.wikimedia.org/wikipedia/commons/0/05/Devops-toolchain.svg)
 +  * Plan— Define and plan metrics, requirements, release plan, and infrastructure.
 +  * Create — Designing, building, coding, and configuring the software development process.
 +  *     Verify — Test and results determine performance of software release.
 +  *     Package — Package configuration once the release is ready for deployment.
 +  *     Release — Coordinate releases, schedule release approvals, release automation.
 +  *     Configure — Infrastructure configuration, management, and provisioning databases and networks.
 +  *     Monitor — Applications performance monitoring, end–user experience and response.
  
-    Plan— Define and plan metricsrequirementsrelease plan, and infrastructure.+Tools for DevOps include Jenkins (buildsruns testpush to production)ELK (logs ALL processes and environment happenings) and Github.
  
-    Create — Designing, building, coding, and configuring the software development process.+===== SRE - site reliability engineering =====
  
-    Verify — Test and results determine performance of software release.+automating manual labor operations typically done by system administrators. Introduces mathematical formula to red/green light a software launch/update. Bridge disputes between dev and ops teams. SRE team sets a service-level agreement (SLA) that defines how reliable the system needs to be to end-users. If the team agrees on a 99.9% SLA, that gives them an error budget of 0.1%
  
-    Package — Package configuration once the release is ready for deployment.+  * Focus is on scalability and reliability of systems 
 +  * Automating operations using algorithms and software solutions  
 +  * Created by google  
 +  * similar to Devops 
 +  * A group of people who oversee new developments/releases and make sure that they won't break anything that is already there  
 +  * The process creates open communication between the developers and the SRE's that oversee the projects 
 +  * Unlike operations, SRE's can code and develop software alsoIf not as many SRE's are needed, they can jump onto the development team 
  
-    Release — Coordinate releases, schedule release approvals, release automation.+=====Monitoring ======
  
-    Configure — Infrastructure configuration, management, and provisioning databases and networks. +Project managers monitor the progress of a project. Three levels of monitoring include: activity levels (daily progress), status reports (weekly progress) , and milestone analysis (monthly progress). Each of these levels helps keep each member of the team and its leaders aware of the project's progress and current status. If one of the levels reveals an inconsistency or a deviation from the project's end goal, the team leader can use that information to steer their team back in the right direction.
- +
-    Monitor — Applications performance monitoring, end–user experience and response. +
- +
- +
-Tools for DevOps include Jenkins (builds, runs test, push to production), ELK (logs ALL processes and environment happenings) and Github. +
-•SRE - site reliability engineering - automating manual labor operations typically done by system administrators. Introduces mathematical formula to red/green light a software launch/update. Bridge disputes between dev and ops teams. SRE team sets a service-level agreement (SLA) that defines how reliable the system needs to be to end-users. If the team agrees on a 99.9% SLA, that gives them an error budget of 0.1%.  +
-•Focus is on scalability and reliability of systems +
-•Automating operations using algorithms and software solutions  +
-•Created by google  +
-•similar to Devops +
-•A group of people who oversee new developments/releases and make sure that they won't break anything that is already there  +
-•The process creates open communication between the developers and the SRE's that oversee the projects +
-•Unlike operations, SRE's can code and develop software also. If not as many SRE's are needed, they can jump onto the development team  +
- +
-•Monitoring - Project managers monitor the progress of a project. Three levels of monitoring include: activity levels (daily progress), status reports (weekly progress) , and milestone analysis (monthly progress). Each of these levels helps keep each member of the team and its leaders aware of the project's progress and current status. If one of the levels reveals an inconsistency or a deviation from the project's end goal, the team leader can use that information to steer their team back in the right direction.+
  
     "runtime monitoring is supported and encouraged as a fundamental principle. "      "runtime monitoring is supported and encouraged as a fundamental principle. " 
Line 83: Line 82:
  
  
-Continuous Integration +===== Continuous Integration ===== 
-MetricsRefers to the measurement of a particular characteristic of a software program's performance or efficiency. Metrics help estimate the progress, quality and health of a software testing effort.+ 
 +===== Metrics ===== 
 + 
 +Refers to the measurement of a particular characteristic of a software program's performance or efficiency. Metrics help estimate the progress, quality and health of a software testing effort.
 Examples of metrics: number of tests run and passed, number of defects, software development effort estimation (realistic predictions of the effort required to develop or maintain software), assessing performance of a server under heavy load Examples of metrics: number of tests run and passed, number of defects, software development effort estimation (realistic predictions of the effort required to develop or maintain software), assessing performance of a server under heavy load
 +
 There are three types of metrics: There are three types of metrics:
-Process Metrics: measures the process efficiency of the Software Development Life Cycle +  * Process Metrics: measures the process efficiency of the Software Development Life Cycle 
-Product Metrics: measures the quality of the software product +  Product Metrics: measures the quality of the software product 
-Project Metrics: measures the efficiency of a project team or any tools being used in the project+  Project Metrics: measures the efficiency of a project team or any tools being used in the project 
 JMeter: http://jmeter.apache.org/ JMeter: http://jmeter.apache.org/
 +
 Source: http://www.guru99.com/software-testing-metrics-complete-tutorial.html Source: http://www.guru99.com/software-testing-metrics-complete-tutorial.html
-A/B Testing ("Split testing")- Used in applied marketing and business intelligence for assessing conversion rate optimization strategies. Executed by delivering unique content to similar user groups to determine the most appropriate conveyance of information. EXP: User group G a is split into pools X and Y. Group X is delivered landing page J, while group Y is delivered landing page K. Exit rates for landing pages J and K are 20% and 50% respectively. The A/B test has shown that landing page J is more effective at retaining users, and therefore should be delivered to users in group G.+ 
 +===== A/B Testing ===== 
 +("Split testing")- Used in applied marketing and business intelligence for assessing conversion rate optimization strategies. Executed by delivering unique content to similar user groups to determine the most appropriate conveyance of information. EXP: User group G a is split into pools X and Y. Group X is delivered landing page J, while group Y is delivered landing page K. Exit rates for landing pages J and K are 20% and 50% respectively. The A/B test has shown that landing page J is more effective at retaining users, and therefore should be delivered to users in group G.
 https://vwo.com/ab-testing/ https://vwo.com/ab-testing/
 +
 TOOLS: Adobe Target, Optimizely, Google Analytics, Visual Website Optimizer TOOLS: Adobe Target, Optimizely, Google Analytics, Visual Website Optimizer
 +
 "Conversion rate" - rate at which visitors to a site convert to "something else" i.e. a subscriber, etc. A/B testing allows for comparison of two  "Conversion rate" - rate at which visitors to a site convert to "something else" i.e. a subscriber, etc. A/B testing allows for comparison of two 
 From Johanna Goergen: "I'm a software engineer at Optimizely, a startup that does A/B testing and personalization. I'm on the application backend team and am mostly tasked with writing and maintaining the company's REST API. ... We provide a platform for companies to track the success of certain variations of their web/mobile apps through whatever metrics they want, such as conversions, clicks, page views, etc. We also even support full stack testing now so that they can track the effectiveness of certain algorithms vs others deeper in their code base." From Johanna Goergen: "I'm a software engineer at Optimizely, a startup that does A/B testing and personalization. I'm on the application backend team and am mostly tasked with writing and maintaining the company's REST API. ... We provide a platform for companies to track the success of certain variations of their web/mobile apps through whatever metrics they want, such as conversions, clicks, page views, etc. We also even support full stack testing now so that they can track the effectiveness of certain algorithms vs others deeper in their code base."
  
-Canaries A canary test is a push of programming code changes to a small group of end users who are unaware that they are receiving new code. Since the new code is only sent to a small subset of users, a problem in the code will not have a huge impact. Chrome Canary is an example, new code is pushed constantly.+===== Canaries ===== 
 +A canary test is a push of programming code changes to a small group of end users who are unaware that they are receiving new code. Since the new code is only sent to a small subset of users, a problem in the code will not have a huge impact. Chrome Canary is an example, new code is pushed constantly.
 Source: http://whatis.techtarget.com/definition/canary-canary-testing Source: http://whatis.techtarget.com/definition/canary-canary-testing
  
-Triage Triage is the act of analyzing, understanding, and categorizing a specific set of defects, in preparation for making a repair scheduling decision. For a given set of defects, you need to determine how to act on them and proceed with repairs. The more serious defects, those with the highest priorities, receive action first, usually because of their import or because they are blocking further project activity. Source: http://www.informit.com/articles/article.aspx?p=2123715&seqNum=3+===== Triage ===== 
 +Triage is the act of analyzing, understanding, and categorizing a specific set of defects, in preparation for making a repair scheduling decision. For a given set of defects, you need to determine how to act on them and proceed with repairs. The more serious defects, those with the highest priorities, receive action first, usually because of their import or because they are blocking further project activity. 
  
-•Monitoring - Project managers monitor the progress of a project. Three levels of monitoring includeactivity levels, status reports, and milestone analysis +Sourcehttp://www.informit.com/articles/article.aspx?p=2123715&seqNum=3
-Triage+
  
-    Allows threads to temporarily stop being mutually exclusive as they wait for condition to be met +=====Monitoring=====  
 +Project managers monitor the progress of project. Three levels of monitoring include: activity levels, status reports, and milestone analysis
  
 +===== Branch Deploy =====
  
-•Metrics 
-•A/B Testing ("Split testing")- Used in applied marketing and business intelligence for assessing site design and marketing campaign efficacy. Executed by delivering unique content to   
-"Conversion Rate"- rate at which a website is able to convert a visitor to that site to "something else" - a subscriber, etc. A/B testing allows you to compare conversion rates of different versions of a product to see which one does better. 
- 
-From Johanna Goergen: "I'm a software engineer at Optimizely, a startup that does A/B testing and personalization. I'm on the application backend team and am mostly tasked with writing and maintaining the company's REST API. ... We provide a platform for companies to track the success of certain variations of their web/mobile apps through whatever metrics they want, such as conversions, clicks, page views, etc. We also even support full stack testing now so that they can track the effectiveness of certain algorithms vs others deeper in their code base." 
- 
-Branch Deploy 
 "Branching is an important tool in your development process, as it offers a very powerful way to let developers work in isolation on different aspects of a software project." "Branching is an important tool in your development process, as it offers a very powerful way to let developers work in isolation on different aspects of a software project."
 "Branches let you easily maintain your “in-progress” work separately from your completed, tested, and stable code." "Branches let you easily maintain your “in-progress” work separately from your completed, tested, and stable code."
Line 128: Line 133:
 Uses: SVN and GitHub (and other VCS) Uses: SVN and GitHub (and other VCS)
  
-Sources: http://guides.beanstalkapp.com/version-control/branching-best-practices.html +Sources:  
-https://confluence.atlassian.com/bamboo/deployments-from-branches-407724097.html+  * http://guides.beanstalkapp.com/version-control/branching-best-practices.html 
 +  https://confluence.atlassian.com/bamboo/deployments-from-branches-407724097.html
  
  
  
courses/cs397/winter2017/buzzword_bingo.1493753186.txt.gz · Last modified: 2017/05/02 19:26 by admin
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0