Skip to content
Snippets Groups Projects
Commit 12402f02 authored by Sean Packham (GitLab)'s avatar Sean Packham (GitLab)
Browse files

Merge branch '22-website-improvements' into 'master'

Website improvements

Closes #22

See merge request !27
parents 08a9668c 62b2a91a
No related branches found
No related tags found
1 merge request!27Website improvements
Pipeline #
source "https://rubygems.org"
ruby RUBY_VERSION
 
gem "jekyll", "3.4.3"
gem "jekyll"
 
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
gem "jekyll-feed"
end
Loading
Loading
@@ -43,8 +43,8 @@ PLATFORMS
ruby
 
DEPENDENCIES
jekyll (= 3.4.3)
jekyll-feed (~> 0.6)
jekyll
jekyll-feed
 
RUBY VERSION
ruby 2.3.3p222
Loading
Loading
Loading
Loading
@@ -6,6 +6,10 @@ url: "http://conversationaldevelopment.com"
 
markdown: kramdown
 
permalink: /:year/:month/:day/:title/
# related_posts_max: 3
gems:
- jekyll-feed
exclude:
Loading
Loading
@@ -18,4 +22,5 @@ defaults:
path: ""
type: "posts"
values:
layout: "page"
layout: "post"
comments: true
Loading
Loading
@@ -4,24 +4,17 @@
<html>
<head>
<meta charset='utf-8'>
<!-- Always force latest IE rendering engine or request Chrome Frame -->
<meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
<!-- Use title if it's in the page YAML frontmatter -->
<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<link rel="stylesheet" href="/css/index.css">
<link rel="stylesheet" href="/css/likely.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="/js/likely.js"></script>
<meta property="og:image" content="images/evolution.png" />
 
<script>
Loading
Loading
@@ -35,26 +28,107 @@
</script>
</head>
<body class="{{ page.body_class }}">
<div class='container'>
 
<header class="header">
<h1 class='logo'>
<a href='/'>
<!-- Fixed navbar -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<span class='logo-conv'>Conv</span>ersational
<span class='logo-dev'>Dev</span>elopment
</a>
</h1>
</header>
{{ content }}
<footer class='footer'>
<div class="likely" data-url="http://conversationaldevelopment.com" data-title="Conversational Development - the evolution of Agile">
<div class="linkedin">Link</div>
<div class="facebook">Share</div>
<div class="twitter">Tweet</div>
<span class='logo-dev'>Dev</span>elopment</a>
</div>
<div id="navbar" class="navbar-collapse collapse navbar-right">
<ul class="nav navbar-nav">
<li {% if page.body_class == 'index' %}class="active"{% endif %}><a href="/">Home</a></li>
<li {% if page.body_class == 'why' %}class="active"{% endif %}><a href="/why">Why?</a></li>
<li {% if page.body_class == 'blog' %}class="active"{% endif %}><a href="/blog">Blog</a></li>
<li><a href="mailto:seanpackham@gitlab.com">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="container">
<div class="row">
<div class="main col-md-8">{{ content }}</div>
<div class="sidebar col-md-4">
<div class="section subscribe">
<h2>Subscribe</h2>
<p>
<a href="https://twitter.com/convdevio" target="_blank"><img class="twitter" src="/images/logo-twitter.svg" alt="Twitter"></a>
<a href="https://www.facebook.com/convdevio" target="_blank"><img src="/images/logo-facebook.svg" alt="Facebook"></a>
<a href="https://www.linkedin.com/company/convdevio" target="_blank"><img src="/images/logo-linkedin.svg" alt="linkedin"></a>
<a href="/feed.xml"><img class="rss" src="/images/logo-rss.svg"></a>
</p>
<!-- Begin MailChimp Signup Form -->
<div id="mc_embed_signup">
<form action="//conversationaldevelopment.us15.list-manage.com/subscribe/post?u=51322ba5d2fcb065b9ef6ce33&amp;id=efc70875fd" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<div class="form-group">
<label for="mce-EMAIL">Newsletter</label>
<input type="email" value="" name="EMAIL" class="form-control" id="mce-EMAIL" placeholder="email address" required>
</div>
<!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_51322ba5d2fcb065b9ef6ce33_efc70875fd" tabindex="-1" value=""></div>
<div class="clear">
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="btn btn-default">
</div>
</form>
</div>
<!--End mc_embed_signup-->
</div>
<div class="section connect">
</div>
<div class="section categories">
<h2>Categories</h2>
<ul class="tag-box inline">
{% assign tags_list = site.categories %}
{% if tags_list.first[0] == null %}
{% for tag in tags_list %}
<li><a href="#{{ tag }}">{{ tag | capitalize }} <span>({{ site.tags[tag].size }})</span></a></li>
{% endfor %}
{% else %}
{% for tag in tags_list %}
<li><a href="#{{ tag[0] }}">{{ tag[0] | capitalize }} <span>({{ tag[1].size }})</span></a></li>
{% endfor %}
{% endif %}
{% assign tags_list = nil %}
</ul>
</div>
 
<div class="section recent">
<h2>Recent Articles</h2>
<ul>
{% for post in site.posts limit: 5%}
<li>
<a href="{{ post.url }}">
<span class="date">{{ post.date | date: "%b %d, %Y" }}</span>
<span class="title">{{ post.title }}</span>
</a>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<footer class='footer'>
<div class="container">
<div class="look">
Look for
<a href='https://twitter.com/search?q=%23convdev'>#ConvDev</a>
Loading
Loading
@@ -67,8 +141,11 @@
— merge requests with improvements are
<a href='https://gitlab.com/gitlab-com/conversationaldevelopment-com/merge_requests'>very welcome.</a>
</div>
</footer>
</div>
</footer>
<!-- Go to www.addthis.com/dashboard to customize your tools -->
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-58f8c9a6bd96a788"></script>
 
</div>
</body>
</html>
---
layout: page
body_class: post
---
<h1>{{ page.title }}</h1>
<p>{{ page.date | date: "%b %d, %Y" }}</p>
{{ content }}
<section class="related">
{% assign RELATED_POSTS_THRESHOLD = 3 %}
{% for post in site.related_posts %}
<h3>Related articles</h3>
{% break %} %}
{% endfor %}
<ul>
{% assign related_post_count = 0 %}
{% for post in site.related_posts %}
{% if related_post_count == RELATED_POSTS_THRESHOLD %}
{% break %}
{% endif %}
{% for tag in post.tags %}
{% if page.tags contains tag %}
<li>
<h4>
<a href="{{ site.baseurl }}{{ post.url }}">
{{ post.title }}
<small>{{ post.date | date_to_string }}</small>
</a>
</h4>
</li>
{% assign related_post_count = related_post_count | plus: 1 %}
{% break %}
{% endif %}
{% endfor %}
{% endfor %}
{% assign posts_left = RELATED_POSTS_THRESHOLD | minus: related_post_count %}
{% unless posts_left == 0 %}
{% for post in site.related_posts %}
{% if posts_left == 0 %}
{% break %}
{% endif %}
{% assign already_related = false %}
{% for tag in post.tags %}
{% if page.tags contains tag %}
{% assign already_related = true %}
{% break %}
{% endif %}
{% endfor %}
{% unless already_related %}
{% assign posts_left = posts_left | minus: 1 %}
<li>
<h4>
<a href="{{ site.baseurl }}{{ post.url }}">
{{ post.title }}
<small>{{ post.date | date_to_string }}</small>
</a>
</h4>
</li>
{% endunless %}
{% endfor %}
{% endunless %}
</ul>
</section>
<section class="comments">
{% if page.comments %}
<div id="disqus_thread"></div>
<script>
/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
/*
var disqus_config = function () {
this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
*/
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://convdevio.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
{% endif %}
</section>
---
layout: page
body_class: blog
---
{% for post in site.posts %}
<article>
<h3 class="title"><a href="{{ post.url }}" class="js-pjax">{{ post.title }}</a></h3>
<p class="date">{{ post.date | date: "%b %d, %Y" }}</p>
{{ post.excerpt }}
<a href="{{ post.url }}">Read more</a>
</article>
{% endfor %}
Loading
Loading
@@ -8,12 +8,11 @@ body {
font-family: Verdana, sans-serif;
font-size: 16px;
line-height: 1.6;
margin-top: 25px;
margin-top: 75px;
}
 
.container {
max-width: 970px;
min-height: 700px;
}
 
body > .container section {
Loading
Loading
@@ -25,9 +24,82 @@ p, ul, ol {
}
 
a {
color: #ef5b35;
color: #1b95e0;
}
.navbar-fixed-top {
max-height: 50px;
}
.sidebar .section {
margin-bottom: 2.5em;
}
#mc_embed_signup label {
display: block;
}
.subscribe label {
font-weight: normal;
}
 
.subscribe h2 {
margin-bottom: 1em;
}
.subscribe a {
margin-right: 10px;
}
.subscribe .twitter, .subscribe .rss {
width: 35px;
height: 35px;
margin-top: 1px;
}
.rss img {
width: 20px;
height: 20px;
margin-top: -2px;
}
.categories ul, .recent ul {
list-style: none;
margin: 0;
padding: 0;
}
.recent ul .date {
display: block;
color: #666;
font-size: small;
}
.related h3 {
margin: 40px 0 15px;
}
.related ul {
margin: 0;
padding: 0;
list-style: none;
}
#disqus_thread {
margin-top: 35px;
}
.read-on-link {
font-size: 26px;
}
body.why .main img {
display: none;
}
body.why .main section {
clear: both;
}
 
/* principles */
 
Loading
Loading
@@ -42,7 +114,7 @@ a {
}
 
.logo-conv, .logo-dev {
color: #ef5b35;
color: #1b95e0;
font-weight: bold;
}
 
Loading
Loading
@@ -67,59 +139,8 @@ a {
}
 
#principles ul span {
color: #ef5b35;
font-weight: bold;
}
.read-on-link {
display: inline-block;
margin-top: 1em;
padding: 1em 1.5em;
background-color: #d05131;
border-radius: 8px;
color: #ffffff;
font-size: 1.75rem;
cursor: pointer;
transition: background-color 0.2s ease;
}
.read-on-link:before {
content: 'Read on,';
color: #4d1e12;
font-size: 0.75em;
color: #1b95e0;
font-weight: bold;
text-transform: uppercase;
}
.read-on-link:after {
content: '→';
display: inline-block;
transition:
transform 0.5s ease,
padding-right 0.5s ease;
}
.read-on-link:hover:after,
.read-on-link:focus:after {
transform: translateX(.25em);
padding-right: 1em;
}
.read-on-link:hover,
.read-on-link:focus {
background-color: #c34d2f;
color: #f0f2f5;
text-decoration: none;
}
.maturity-model-table {
}
 
.maturity-model-table td {
Loading
Loading
@@ -149,7 +170,10 @@ a {
 
 
.footer {
margin: 3em 0 5em;
margin: 2em 0 0;
padding: 3em 0;
background-color: #f8f8f8;
border-top: 1px solid #e7e7e7;
}
 
.look, .likely {
Loading
Loading
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<path id="White_2_" fill="#444444" d="M30.7,0H1.3C0.6,0,0,0.6,0,1.3v29.3C0,31.4,0.6,32,1.3,32H17V20h-4v-5h4v-4
c0-4.1,2.6-6.2,6.3-6.2C25.1,4.8,26.6,5,27,5v4.3l-2.6,0c-2,0-2.5,1-2.5,2.4V15h5l-1,5h-4l0.1,12h8.6c0.7,0,1.3-0.6,1.3-1.3V1.3
C32,0.6,31.4,0,30.7,0z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<path fill="#444444" d="M30.7,0H1.3C0.6,0,0,0.6,0,1.3v29.3C0,31.4,0.6,32,1.3,32h29.3c0.7,0,1.3-0.6,1.3-1.3V1.3
C32,0.6,31.4,0,30.7,0z M9.5,27.3H4.7V12h4.8V27.3z M7.1,9.9c-1.5,0-2.8-1.2-2.8-2.8c0-1.5,1.2-2.8,2.8-2.8c1.5,0,2.8,1.2,2.8,2.8
C9.9,8.7,8.6,9.9,7.1,9.9z M27.3,27.3h-4.7v-7.4c0-1.8,0-4-2.5-4c-2.5,0-2.8,1.9-2.8,3.9v7.6h-4.7V12H17v2.1h0.1
c0.6-1.2,2.2-2.5,4.5-2.5c4.8,0,5.7,3.2,5.7,7.3V27.3z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<circle fill="#444444" cx="5.3" cy="25.3" r="4"/>
<path fill="#444444" d="M29.3,29.3H24C24,16.8,13.8,6.7,1.3,6.7V1.3C16.8,1.3,29.3,13.9,29.3,29.3z"/>
<path fill="#444444" d="M20,29.3h-5.3C14.7,22,8.7,16,1.3,16v-5.3C11.6,10.7,20,19,20,29.3z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<path fill="#444444" d="M32,6.1c-1.2,0.5-2.4,0.9-3.8,1c1.4-0.8,2.4-2.1,2.9-3.6c-1.3,0.8-2.7,1.3-4.2,1.6C25.7,3.8,24,3,22.2,3
c-3.6,0-6.6,2.9-6.6,6.6c0,0.5,0.1,1,0.2,1.5C10.3,10.8,5.5,8.2,2.2,4.2c-0.6,1-0.9,2.1-0.9,3.3c0,2.3,1.2,4.3,2.9,5.5
c-1.1,0-2.1-0.3-3-0.8c0,0,0,0.1,0,0.1c0,3.2,2.3,5.8,5.3,6.4c-0.6,0.1-1.1,0.2-1.7,0.2c-0.4,0-0.8,0-1.2-0.1
c0.8,2.6,3.3,4.5,6.1,4.6c-2.2,1.8-5.1,2.8-8.2,2.8c-0.5,0-1.1,0-1.6-0.1C2.9,27.9,6.4,29,10.1,29c12.1,0,18.7-10,18.7-18.7
c0-0.3,0-0.6,0-0.8C30,8.5,31.1,7.4,32,6.1z"/>
</svg>
Loading
Loading
@@ -2,56 +2,26 @@
layout: page
body_class: index
---
<section id='principles'>
<h2>Principles</h2>
<section>
<h1>Agile needs to evolve</h1>
<p>
Software development consists of conversations around what can be improved,
how to implement it, did it work and bring the expected value.
We need to stop thinking in terms of story points or columns and boards and focus on the conversations in the software development life cycle, the time take and the value they bring - making the shift from an abstract to a result orientated culture.
</p>
<p>
Experience has show us that these conversations can be summarized into four principles
to simplify the software development life cycle.
<p>
Conversational Development is the next step in the evolution Agile, <a href="/why/">Find out why</a> your team or organization should start using it.
</p>
<ul>
<li>
<a href='/shorten-cycle'>
<img src="/images/main-s.png"/>
1. <span >Shorten</span> the conversation cycle →
</a>
</li>
<li>
<a href='/thread-conversations'>
<img src="/images/main-t.png"/>
2. <span>Thread</span> the conversation through all stages →
</a>
</li>
<li>
<a href='/invite-everyone'>
<img src="/images/main-i.png"/>
3. <span>Invite</span> everyone to the conversation →
</a>
</li>
<li>
<a href='/results-oriented'>
<img src="/images/main-r.png"/>
4. <span>Result</span> oriented conversation →
</a>
</li>
</ul>
</section>
 
<section id='blog'>
<h2>Recent Articles</h2>
<h2>Featured Articles</h2>
{% for post in site.posts limit: 3%}
<article class="{% if forloop.first %}first{% elsif forloop.last %}last{% else %}middle{% endif %}">
<div class="article-head">
<h3 class="title"><a href="{{ post.url }}" class="js-pjax">{{ post.title }}</a></h3>
<p class="date">{{ post.date | date: "%b %d, %Y" }}</p>
</div><!--/.article-head-->
<div class="article-content">
<article>
<h3 class="title"><a href="{{ post.url }}" class="js-pjax">{{ post.title }}</a></h3>
<p class="date">{{ post.date | date: "%b %d, %Y" }}</p>
{{ post.excerpt }}
<a href="{{ post.url }}">Read more</a>
</div>
</article>
{% endfor %}
 
Loading
Loading
Loading
Loading
@@ -3,12 +3,12 @@ layout: page
body_class: invite-everyone invite-everyone_index
---
<h2>Principle 3: Invite everyone to the conversation</h2>
<p class='hero'>Description: Instead of locking conversation on per-stage, per team, or per-speciality principle, leave the doors as open as possible.</p>
<p class='hero'>Description: Instead of locking conversation on per-stage, per team, or per-specialty principle, leave the doors as open as possible.</p>
<div class='row'>
<div class='col-md-6'>
<p>Closed doors:</p>
<ul>
<li>SVN(the only way to make a patch was to give someone write access on the repo
)</li>
<li>SVN(the only way to make a patch was to give someone write access to the repo
)</li>
<li>Not using pull/merge requests</li>
<li>Each department has its own set of tools</li>
</ul>
Loading
Loading
@@ -17,7 +17,7 @@ body_class: invite-everyone invite-everyone_index
<div class='col-md-6'>
<p>Open doors:</p>
<ul>
<li>Open repository, documentation & issue tracker</li>
<li>Open repository, documentation &amp; issue tracker</li>
<li>Chat in shared channels</li>
<li>Open source parts of your code</li>
</ul>
Loading
Loading
@@ -27,7 +27,7 @@ body_class: invite-everyone invite-everyone_index
<h3>Howto</h3>
<ul>
<li>Embrace principle of “Written-first online conversations”. Lots of companies might still rely on face-to-face conversations, but that doesn't allow people to contribute.</li>
<li>Use <a href="https://en.wikipedia.org/wiki/Collaborative_real-time_editor" target="_blank">realtime editing tool</a> like Google Docs for meetings. Everyone can add to agenda, everyone can add to notes, everyone is on the same page, everyone can see what was discussed, immediately see followup items.</li>
<li>Use <a href="https://en.wikipedia.org/wiki/Collaborative_real-time_editor" target="_blank">real-time editing tool</a> like Google Docs for meetings. Everyone can add to agenda, everyone can add to notes, everyone is on the same page, everyone can see what was discussed, immediately see follow-up items.</li>
<li>Prevent "Not Invented Here" syndrome
 by practicing Innersourcing: make it possible for the rest of the organization to contribute.</li>
<li>If you can make something public, make it public!</li>
</ul>
Loading
Loading
@@ -45,7 +45,7 @@ body_class: invite-everyone invite-everyone_index
<ul>
<li>Increases reuse of solutions, prevents duplicate work</li>
<li>Increases shared knowledge</li>
<li>Ability to scale your organization by going remote & async</li>
<li>Ability to scale your organization by going remote &amp; asynchronous</li>
</ul>
<a class='read-on-link' href='/results-oriented'>
Principle #4: Result oriented conversations
Loading
Loading
/*!
* Likely 2.2.1 by Ilya Birman (ilyabirman.net)
* Rewritten sans jQuery by Evgeny Steblinsky (volter9.github.io)
* Supported by Ivan Akulov (iamakulov.com), Viktor Karpov (vitkarpov.com), and contributors
* Inspired by Social Likes by Artem Sapegin (sapegin.me)
*/
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.likely=n():t.likely=n()}(this,function(){return function(t){function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}var e={};return n.m=t,n.c=e,n.i=function(t){return t},n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=20)}([function(t,n,e){"use strict";e.d(n,"c",function(){return o}),e.d(n,"i",function(){return c}),e.d(n,"d",function(){return u}),e.d(n,"e",function(){return a}),e.d(n,"f",function(){return s}),e.d(n,"k",function(){return l}),e.d(n,"g",function(){return h}),e.d(n,"a",function(){return p}),e.d(n,"h",function(){return f}),e.d(n,"b",function(){return v}),e.d(n,"j",function(){return d});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r={yes:!0,no:!1},o=function(t,n){for(var e in t)t.hasOwnProperty(e)&&n(t[e],e)},c=function(t){return Array.prototype.slice.call(t)},u=function(){for(var t={},n=Array.prototype.slice.call(arguments),e=0;e<n.length;e++){var i=n[e];if(i)for(var r in i)i.hasOwnProperty(r)&&(t[r]=i[r])}return t},a=function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t},s=function(t){if("object"===i(t.dataset))return t.dataset;var n=void 0,e={},r=t.attributes,o=void 0,c=void 0,u=function(t){return t.charAt(1).toUpperCase()};for(n=r.length-1;n>=0;n--)o=r[n],o&&o.name&&/^data-\w[\w\-]*$/.test(o.name)&&(c=o.name.substr(5).replace(/-./g,u),e[c]=o.value);return e},l=function(t){var n={},e=s(t);for(var i in e)if(e.hasOwnProperty(i)){var o=e[i];n[i]=r[o]||o}return n},h=function(t,n){return t?t.replace(/\{([^\}]+)\}/g,function(t,e){return e in n?n[e]:t}):""},p=function(t,n){for(var e in n)n.hasOwnProperty(e)&&(n[e]=encodeURIComponent(n[e]));return h(t,n)},f=function t(n){var e=encodeURIComponent,t=[];for(var r in n)"object"!==i(n[r])&&t.push(e(r)+"="+e(n[r]));return t.join("&")},v=function(t,n,e){var i=n.split("."),r=null;i.forEach(function(n,e){"undefined"==typeof t[n]&&(t[n]={}),e!==i.length-1&&(t=t[n]),r=n}),t[r]=e},d=function(){var t=document.querySelector('link[rel="canonical"]');return t?t.href:window.location.href.replace(window.location.hash,"")}},function(t,n,e){"use strict";e.d(n,"d",function(){return o}),e.d(n,"f",function(){return c}),e.d(n,"b",function(){return u}),e.d(n,"a",function(){return a}),e.d(n,"e",function(){return s}),e.d(n,"c",function(){return l}),e.d(n,"g",function(){return h});var i=document.createElement("div"),r=0,o=function(t){return'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M'+t+'z"/></svg>'},c=function(t){return i.innerHTML=t,i.children[0]},u=function(t){var n=document.createElement("script"),e=document.head;n.type="text/javascript",n.src=t,e.appendChild(n),e.removeChild(n)},a=function(t,n){var e=encodeURIComponent("random_fun_"+ ++r),i=t.replace(/callback=(\?)/,"callback="+e);window[e]=n,u(i)},s=function(t,n){return(n||document).querySelector(t)},l=function(t,n){return Array.prototype.slice.call((n||document).querySelectorAll(t))},h=function(t,n,e,i){var r=Math.round(screen.width/2-e/2),o=0;screen.height>i&&(o=Math.round(screen.height/3-i/2));var c="left="+r+",top="+o+",width="+e+",height="+i+",personalbar=0,toolbar=0,scrollbars=1,resizable=1",u=window.open(t,n,c);return u?(u.focus(),u):(location.href=t,null)}},function(t,n,e){"use strict";n.a={name:"likely",prefix:"likely__"}},function(t,n,e){"use strict";var i=e(9),r=e(0),o=e(18),c=e(10),u=e(11),a=e(12),s=e(13),l=e(14),h=e(15),p=e(16),f=e(17),v={facebook:c.a,gplus:u.a,linkedin:a.a,odnoklassniki:s.a,pinterest:l.a,telegram:h.a,twitter:p.a,vkontakte:f.a};e.i(r.c)(v,function(t,n){e.i(i.a)(t),t.svgi=o.a[n],t.name=n}),n.a=v},function(t,n,e){"use strict";function i(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var r=e(0),o=e(19),c=e(2),u=e(1),a=e(8),s=function(){function t(t,n){for(var e=0;e<n.length;e++){var i=n[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(n,e,i){return e&&t(n.prototype,e),i&&t(n,i),n}}(),l=function(t,n){var i=n||{},u={counters:!0,timeout:1e3,zeroes:!1,title:document.title,wait:500,url:e.i(r.j)()},a=t[c.a.name],s=e.i(r.d)({},u,i,e.i(r.k)(t));return a?a.update(s):t[c.a.name]=new o.a(t,s),a},h=function(){function t(){return i(this,t),console.warn("likely function is DEPRECATED and will be removed in 3.0. Use likely.initiate instead."),t.initiate.apply(t,arguments)}return s(t,null,[{key:"initate",value:function(){return console.warn("likely.initate function is DEPRECATED and will be removed in 3.0. Use likely.initiate instead."),t.initiate.apply(t,arguments)}},{key:"initiate",value:function(t,n){function i(){r.forEach(function(t){l(t,o)})}var r=void 0,o=void 0;Array.isArray(t)?(r=t,o=n):t instanceof Node?(r=[t],o=n):(r=e.i(u.c)("."+c.a.name),o=t),i(),a.a.onUrlChange(i)}}]),t}();t.exports=h},function(t,n,e){"use strict";function i(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var r=e(1),o=e(0),c=e(2),u=e(7),a=e(3),s=function(){function t(t,n){for(var e=0;e<n.length;e++){var i=n[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(n,e,i){return e&&t(n.prototype,e),i&&t(n,i),n}}(),l='<span class="{className}">{content}</span>',h=function(){function t(n,r,c){i(this,t),this.widget=n,this.likely=r,this.options=e.i(o.d)(c),this.init()}return s(t,[{key:"init",value:function(){this.detectService(),this.detectParams(),this.service&&(this.initHtml(),setTimeout(this.initCounter.bind(this),0))}},{key:"update",value:function(t){var n="."+c.a.prefix+"counter",i=e.i(r.c)(n,this.widget);e.i(o.e)(this.options,e.i(o.d)({forceUpdate:!1},t)),i.forEach(function(t){t.parentNode.removeChild(t)}),this.initCounter()}},{key:"detectService",value:function(){var t=this.widget,n=e.i(o.f)(t).service;n||(n=Object.keys(a.a).filter(function(n){return t.classList.contains(n)})[0]),n&&(this.service=n,e.i(o.e)(this.options,a.a[n]))}},{key:"detectParams",value:function(){var t=this.options,n=e.i(o.f)(this.widget);if(n.counter){var i=parseInt(n.counter,10);isNaN(i)?t.counterUrl=n.counter:t.counterNumber=i}t.title=n.title||t.title,t.url=n.url||t.url}},{key:"initHtml",value:function(){var t=this.options,n=this.widget,i=n.innerHTML;n.addEventListener("click",this.click.bind(this)),n.classList.remove(this.service),n.className+=" "+this.className("widget");var c=e.i(o.g)(l,{className:this.className("button"),content:i}),u=e.i(o.g)(l,{className:this.className("icon"),content:e.i(r.d)(t.svgi)});n.innerHTML=u+c}},{key:"initCounter",value:function(){var t=this.options;t.counters&&t.counterNumber?this.updateCounter(t.counterNumber):t.counterUrl&&e.i(u.a)(this.service,t.url,t)(this.updateCounter.bind(this))}},{key:"className",value:function(t){var n=c.a.prefix+t;return n+" "+n+"_"+this.service}},{key:"updateCounter",value:function(t){var n=parseInt(t,10)||0,i=e.i(r.e)("."+c.a.name+"__counter",this.widget);i&&i.parentNode.removeChild(i);var u={className:this.className("counter"),content:n};n||this.options.zeroes||(u.className+=" "+c.a.prefix+"counter_empty",u.content=""),this.widget.appendChild(e.i(r.f)(e.i(o.g)(l,u))),this.likely.updateCounter(this.service,n)}},{key:"click",value:function(){var t=this.options;if(t.click.call(this)){var n=e.i(o.a)(t.popupUrl,{url:t.url,title:t.title});e.i(r.g)(this.addAdditionalParamsToUrl(n),c.a.prefix+this.service,t.popupWidth,t.popupHeight)}return!1}},{key:"addAdditionalParamsToUrl",value:function(t){var n=e.i(o.h)(e.i(o.d)(this.widget.dataset,this.options.data)),i=t.indexOf("?")===-1?"?":"&";return""===n?t:t+i+n}}]),t}();n.a=h},function(t,n,e){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};n.a=function(t){var n=[];return function(e){var r="undefined"==typeof e?"undefined":i(e);return"undefined"===r?t:void("function"===r?n.push(e):(t=e,n.forEach(function(t){t(e)})))}}},function(t,n,e){"use strict";var i=e(6),r=e(0),o=e(3),c={};n.a=function(t,n,u){c[t]||(c[t]={});var a=c[t],s=a[n];if(!u.forceUpdate&&s)return s;s=e.i(i.a)();var l=e.i(r.a)(u.counterUrl,{url:n});return o.a[t].counter(l,s,n),a[n]=s,s}},function(t,n,e){"use strict";var i=[],r=function(){i.forEach(function(t){t()})},o=function(){var t=window.history.pushState;window.history.pushState=function(){return setTimeout(r,0),t.apply(window.history,arguments)};var n=window.history.replaceState;window.history.replaceState=function(){return setTimeout(r,0),n.apply(window.history,arguments)},window.addEventListener("popstate",r)},c=!1,u={onUrlChange:function(t){c||(o(),c=!0),i.push(t)}};n.a=u},function(t,n,e){"use strict";var i=e(1),r=function(t,n){var r=this;e.i(i.a)(t,function(t){try{var e="function"==typeof r.convertNumber?r.convertNumber(t):t;n(e)}catch(t){}})};n.a=function(t){t.counter=window.__likelyCounterMock||t.counter||r,t.click=t.click||function(){return!0}}},function(t,n,e){"use strict";n.a={counterUrl:"https://graph.facebook.com/?id={url}&callback=?",convertNumber:function(t){return t.share.share_count},popupUrl:"https://www.facebook.com/sharer/sharer.php?u={url}",popupWidth:600,popupHeight:500}},function(t,n,e){"use strict";n.a={counterUrl:"https://share.yandex.net/counter/gpp/?url={url}&callback=?",gid:0,promises:{},popupUrl:"https://plus.google.com/share?url={url}",popupWidth:700,popupHeight:500}},function(t,n,e){"use strict";n.a={counterUrl:"https://www.linkedin.com/countserv/count/share?url={url}&format=jsonp&callback=?",convertNumber:function(t){return t.count},popupUrl:"https://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}",popupWidth:600,popupHeight:500}},function(t,n,e){"use strict";var i=e(0),r=e(1),o={counterUrl:"https://connect.ok.ru/dk?st.cmd=extLike&ref={url}&uid={index}",counter:function(t,n){this.promises.push(n),e.i(r.b)(e.i(i.a)(t,{index:this.promises.length-1}))},promises:[],popupUrl:"https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={url}",popupWidth:640,popupHeight:400};e.i(i.b)(window,"ODKL.updateCount",function(t,n){o.promises[t](n)}),n.a=o},function(t,n,e){"use strict";n.a={counterUrl:"https://api.pinterest.com/v1/urls/count.json?url={url}&callback=?",convertNumber:function(t){return t.count},popupUrl:"https://pinterest.com/pin/create/button/?url={url}&description={title}",popupWidth:630,popupHeight:270}},function(t,n,e){"use strict";n.a={popupUrl:"https://telegram.me/share/url?url={url}",popupWidth:600,popupHeight:500}},function(t,n,e){"use strict";n.a={popupUrl:"https://twitter.com/intent/tweet?url={url}&text={title}",popupWidth:600,popupHeight:450,click:function(){return/[\.\?:\-–—]\s*$/.test(this.options.title)||(this.options.title+=":"),!0}}},function(t,n,e){"use strict";var i=e(0),r=e(1),o={counterUrl:"https://vk.com/share.php?act=count&url={url}&index={index}",counter:function(t,n){this.promises.push(n),e.i(r.b)(e.i(i.a)(t,{index:this.promises.length-1}))},promises:[],popupUrl:"https://vk.com/share.php?url={url}&title={title}",popupWidth:550,popupHeight:330};e.i(i.b)(window,"VK.Share.count",function(t,n){o.promises[t](n)}),n.a=o},function(t,n,e){"use strict";n.a={facebook:"13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h5V9H6V7h2V5c0-2 2-2 2-2h3v2h-3v2h3l-.5 2H10v7h3c2 0 3-1 3-3V3c0-2-1-3-3-3",twitter:"15.96 3.42c-.04.153-.144.31-.237.414l-.118.058v.118l-.59.532-.237.295c-.05.036-.398.21-.413.237V6.49h-.06v.473h-.058v.294h-.058v.296h-.06v.235h-.06v.237h-.058c-.1.355-.197.71-.295 1.064h-.06v.116h-.06c-.02.1-.04.197-.058.296h-.06c-.04.118-.08.237-.118.355h-.06c-.038.118-.078.236-.117.353l-.118.06-.06.235-.117.06v.116l-.118.06v.12h-.06c-.02.057-.038.117-.058.175l-.118.06v.117c-.06.04-.118.08-.177.118v.118l-.237.177v.118l-.59.53-.532.592h-.117c-.06.078-.118.156-.177.236l-.177.06-.06.117h-.118l-.06.118-.176.06v.058h-.118l-.06.118-.353.12-.06.117c-.078.02-.156.04-.235.058v.06c-.118.038-.236.078-.354.118v.058H8.76v.06h-.12v.06h-.176v.058h-.118v.06H8.17v.058H7.99v.06l-.413.058v.06h-.237c-.667.22-1.455.293-2.36.293h-.886v-.058h-.53v-.06H3.27v-.06h-.295v-.06H2.68v-.057h-.177v-.06h-.236v-.058H2.09v-.06h-.177v-.058h-.177v-.06H1.56v-.058h-.12v-.06l-.294-.06v-.057c-.118-.04-.236-.08-.355-.118v-.06H.674v-.058H.555v-.06H.437v-.058H.32l-.06-.12H.142v-.058c-.13-.08-.083.026-.177-.118H1.56v-.06c.294-.04.59-.077.884-.117v-.06h.177v-.058h.237v-.06h.118v-.06h.177v-.057h.118v-.06h.177v-.058l.236-.06v-.058l.236-.06c.02-.038.04-.078.058-.117l.237-.06c.02-.04.04-.077.058-.117h.118l.06-.118h.118c.036-.025.047-.078.118-.118V12.1c-1.02-.08-1.84-.54-2.303-1.183-.08-.058-.157-.118-.236-.176v-.117l-.118-.06v-.117c-.115-.202-.268-.355-.296-.65.453.004.987.008 1.354-.06v-.06c-.254-.008-.47-.08-.65-.175v-.058H2.32v-.06c-.08-.02-.157-.04-.236-.058l-.06-.118h-.117l-.118-.178h-.12c-.077-.098-.156-.196-.235-.294l-.118-.06v-.117l-.177-.12c-.35-.502-.6-1.15-.59-2.006h.06c.204.234.948.377 1.357.415v-.06c-.257-.118-.676-.54-.827-.768V5.9l-.118-.06c-.04-.117-.08-.236-.118-.354h-.06v-.118H.787c-.04-.196-.08-.394-.118-.59-.06-.19-.206-.697-.118-1.005h.06V3.36h.058v-.177h.06v-.177h.057V2.83h.06c.04-.118.078-.236.117-.355h.118v.06c.12.097.237.196.355.295v.118l.118.058c.08.098.157.197.236.295l.176.06.354.413h.118l.177.236h.118l.06.117h.117c.04.06.08.118.118.177h.118l.06.118.235.06.06.117.356.12.06.117.53.176v.06h.118v.058l.236.06v.06c.118.02.236.04.355.058v.06h.177v.058h.177v.06h.176v.058h.236v.06l.472.057v.06l1.417.18v-.237c-.1-.112-.058-.442-.057-.65 0-.573.15-.99.354-1.358v-.117l.118-.06.06-.235.176-.118v-.118c.14-.118.276-.236.414-.355l.06-.117h.117l.12-.177.235-.06.06-.117h.117v-.058H9.7v-.058h.177v-.06h.177v-.058h.177v-.06h.296v-.058h1.063v.058h.294v.06h.177v.058h.178v.06h.177v.058h.118v.06h.118l.06.117c.08.018.158.038.236.058.04.06.08.118.118.177h.118l.06.117c.142.133.193.163.472.178.136-.12.283-.05.472-.118v-.06h.177v-.058h.177v-.06l.236-.058v-.06h.177l.59-.352v.176h-.058l-.06.295h-.058v.117h-.06v.118l-.117.06v.118l-.177.118v.117l-.118.06-.354.412h-.117l-.177.236h.06c.13-.112.402-.053.59-.117l1.063-.353",vkontakte:"13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h10c2 0 3-1 3-3V3c0-2-1-3-3-3zm.452 11.394l-1.603.022s-.345.068-.8-.243c-.598-.41-1.164-1.48-1.604-1.342-.446.144-.432 1.106-.432 1.106s.003.206-.1.315c-.11.12-.326.144-.326.144H7.87s-1.582.095-2.975-1.356c-1.52-1.583-2.862-4.723-2.862-4.723s-.078-.206.006-.305c.094-.112.35-.12.35-.12l1.716-.01s.162.026.277.11c.095.07.15.202.15.202s.276.7.643 1.335c.716 1.238 1.05 1.508 1.293 1.376.353-.193.247-1.75.247-1.75s.006-.565-.178-.817c-.145-.194-.415-.25-.534-.267-.096-.014.062-.238.267-.338.31-.15.853-.16 1.497-.153.502.004.646.035.842.083.59.143.39.694.39 2.016 0 .422-.075 1.018.23 1.215.13.085.453.013 1.256-1.352.38-.647.666-1.407.666-1.407s.062-.136.16-.194c.098-.06.232-.04.232-.04l1.804-.012s.542-.065.63.18c.092.257-.203.857-.94 1.84-1.21 1.612-1.345 1.46-.34 2.394.96.89 1.16 1.325 1.192 1.38.4.66-.44.71-.44.71",gplus:"8,6.5v3h4.291c-0.526,2.01-2.093,3.476-4.315,3.476C5.228,12.976,3,10.748,3,8c0-2.748,2.228-4.976,4.976-4.976c1.442,0,2.606,0.623,3.397,1.603L13.52,2.48C12.192,0.955,10.276,0,8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s7.5-3.582,7.5-8V6.5H8",pinterest:"7.99 0c-4.417 0-8 3.582-8 8 0 3.39 2.11 6.284 5.086 7.45-.07-.633-.133-1.604.028-2.295.145-.624.938-3.977.938-3.977s-.24-.48-.24-1.188c0-1.112.645-1.943 1.448-1.943.683 0 1.012.512 1.012 1.127 0 .686-.437 1.713-.663 2.664-.19.796.398 1.446 1.184 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.255-3.343-3.255-2.276 0-3.612 1.707-3.612 3.472 0 .688.265 1.425.595 1.826.065.08.075.15.055.23-.06.252-.195.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.835-4.84 5.287-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.74 4.976-4.152 4.976-.81 0-1.573-.42-1.834-.92l-.498 1.903c-.18.695-.668 1.566-.994 2.097.75.232 1.544.357 2.37.357 4.417 0 8-3.582 8-8s-3.583-8-8-8",odnoklassniki:"8 6.107c.888 0 1.607-.72 1.607-1.607 0-.888-.72-1.607-1.607-1.607s-1.607.72-1.607 1.607c0 .888.72 1.607 1.607 1.607zM13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h10c2 0 3-1 3-3V3c0-2-1-3-3-3zM8 .75c2.07 0 3.75 1.68 3.75 3.75 0 2.07-1.68 3.75-3.75 3.75S4.25 6.57 4.25 4.5C4.25 2.43 5.93.75 8 .75zm3.826 12.634c.42.42.42 1.097 0 1.515-.21.208-.483.313-.758.313-.274 0-.548-.105-.758-.314L8 12.59 5.69 14.9c-.42.418-1.098.418-1.516 0s-.42-1.098 0-1.516L6.357 11.2c-1.303-.386-2.288-1.073-2.337-1.11-.473-.354-.57-1.025-.214-1.5.354-.47 1.022-.567 1.496-.216.03.022 1.4.946 2.698.946 1.31 0 2.682-.934 2.693-.943.474-.355 1.146-.258 1.5.213.355.474.26 1.146-.214 1.5-.05.036-1.035.723-2.338 1.11l2.184 2.184",telegram:"6,11.960784l-1,-3l11,-8l-15.378,5.914c0,0 -0.672,0.23 -0.619,0.655c0.053,0.425 0.602,0.619 0.602,0.619l3.575,1.203l1.62,5.154l2.742,-2.411l-0.007,-0.005l3.607,2.766c0.973,0.425 1.327,-0.46 1.327,-0.46l2.531,-13.435l-10,11z",linkedin:"2.4,6h2.4v7.6H2.4V6z M3.6,2.2c0.8,0,1.4,0.6,1.4,1.4C4.9,4.3,4.3,5,3.6,5C2.8,5,2.2,4.3,2.2,3.6C2.2,2.8,2.8,2.2,3.6,2.2C3.6,2.2,3.6,2.2,3.6,2.2 M6.2,6h2.3v1h0C9,6.2,9.9,5.8,10.8,5.8c2.4,0,2.8,1.6,2.8,3.6v4.2h-2.4V9.9c0-0.9,0-2-1.2-2c-1.2,0-1.4,1-1.4,2v3.8H6.2V6z M13,0H3C1,0,0,1,0,3v10c0,2,1,3,3,3h10c2,0,3-1,3-3V3C16,1,15,0,13,0z"}},function(t,n,e){"use strict";function i(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var r=e(5),o=e(2),c=e(0),u=function(){function t(t,n){for(var e=0;e<n.length;e++){var i=n[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(n,e,i){return e&&t(n.prototype,e),i&&t(n,i),n}}(),a=function(){function t(n,e){i(this,t),this.container=n,this.options=e,this.countersLeft=0,this.buttons=[],this.number=0,this.init()}return u(t,[{key:"init",value:function(){e.i(c.i)(this.container.children).forEach(this.addButton.bind(this)),this.options.counters?(this.timer=setTimeout(this.appear.bind(this),this.options.wait),this.timeout=setTimeout(this.ready.bind(this),this.options.timeout)):this.appear()}},{key:"addButton",value:function(t){var n=new r.a(t,this,this.options);this.buttons.push(n),n.options.counterUrl&&this.countersLeft++}},{key:"update",value:function(t){(t.forceUpdate||t.url&&t.url!==this.options.url)&&(this.countersLeft=this.buttons.length,this.number=0,this.buttons.forEach(function(n){n.update(t)}))}},{key:"updateCounter",value:function(t,n){n&&(this.number+=n),this.countersLeft--,0===this.countersLeft&&(this.appear(),this.ready())}},{key:"appear",value:function(){this.container.classList.add(o.a.name+"_visible")}},{key:"ready",value:function(){this.timeout&&(clearTimeout(this.timeout),this.container.classList.add(o.a.name+"_ready"))}}]),t}();n.a=a},function(t,n,e){"use strict";var i=e(4),r=e.n(i);window.addEventListener("load",function(){r.a.initiate()}),t.exports=r.a}])});
//# sourceMappingURL=likely.js.map
\ No newline at end of file
---
layout: page
body_class: posts
---
{% for post in site.posts %}
<article class="{% if forloop.first %}first{% elsif forloop.last %}last{% else %}middle{% endif %}">
<div class="article-head">
<h2 class="title"><a href="{{ post.url }}" class="js-pjax">{{ post.title }}</a></h2>
<p class="date">{{ post.date | date: "%b %d, %Y" }}</p>
</div><!--/.article-head-->
<div class="article-content">
{{ post.excerpt }}
<a href="/{{ post.url }}/" class="full-post-link js-pjax">Read more</a>
</div><!--/.article-content-->
</article>
{% endfor %}
---
layout: page
body_class: why
---
<h1>Why Conversational Development?</h1>
<p>
Software development consists of conversations around what can be improved,
how to implement it, did it work and bring the expected value.
</p>
<p>
Experience has show us that these conversations can be summarized into four principles
to simplify the software development life cycle.
</p>
<section>
<h3>
<a href='/shorten-cycle'>
1. <span >Shorten</span> the conversation cycle
</a>
</h3>
<p>
Start working on smaller pieces of functionality. Instead of minimum viable products or minimum viable features, start thinking in terms of Minimum Viable Changes to bring value to your customers and measure your cycle time as soon as possible so you can iterate and improve.
<a href="/thread-conversations">Read more about shortening the conversation cycle.</a>
</p>
</section>
<section>
<h3>
<a href='/thread-conversations'>
2. <span>Thread</span> the conversation through all stages
</a>
</h3>
<p>
It is important to thread the conversation through the entire software development process either by linking various tools or using a centralized solution. A linked conversation with clearly defined stage transitions will allow your team to measure the entire cycle time for the minimum viable change as well as the time spent in each stage e.g design, development, testing etc.
<a href="/thread-conversations">Read more about threading the conversation through all stages.</a>
</p>
</section>
<section>
<h3>
<a href='/invite-everyone'>
3. <span>Invite</span> everyone to the conversation
</a>
</h3>
<p>
Instead of locking conversation on per-stage, per team, or per-specialty principle, leave the doors as open as possible to increase the reuse of solutions, prevent duplicate work, increase knowledge sharing and scale your organization.
<a href="/thread-conversations">Read more about inviting everyone to the conversation.</a>
</p>
</section>
<section>
<h3>
<a href='/results-oriented'>
4. <span>Result</span> oriented conversation
</a>
</h3>
<p>
Stop measuring abstract things like story points or irrelevant things like hours. Instead proactively look for ways to connect your work to business metrics and measure the time it takes to ship changes from an idea to production.
<a href="/thread-conversations">Read more about creating a result orientated culture.</a>
</p>
</section>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment