<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[luebken.com]]></title><description><![CDATA[a blog about a product development guy]]></description><link>http://luebken.com/</link><image><url>http://luebken.com/favicon.png</url><title>luebken.com</title><link>http://luebken.com/</link></image><generator>Ghost 2.23</generator><lastBuildDate>Wed, 20 Sep 2023 11:30:04 GMT</lastBuildDate><atom:link href="http://luebken.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Well-Informed Platform Adaptation]]></title><description><![CDATA[<p><em>(This is a continuation of my previous article </em><em><a href="http://luebken.com/platform-strategies-with-team-topologies/">Platform Strategies With Team Topologies</a></em><em>)</em></p><h3 id="-but-our-team-needs-something-special-">“But our team needs something special”</h3><p>It all started with a workshop on a new internal platform I helped to build. Besides the platform team, we had some seasoned engineers from the (stream-aligned) development teams present. This</p>]]></description><link>http://luebken.com/well-informed-platform-adaptation/</link><guid isPermaLink="false">650ad2f1c1afff00017d8392</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Fri, 01 Sep 2023 11:13:00 GMT</pubDate><content:encoded><![CDATA[<p><em>(This is a continuation of my previous article </em><em><a href="http://luebken.com/platform-strategies-with-team-topologies/">Platform Strategies With Team Topologies</a></em><em>)</em></p><h3 id="-but-our-team-needs-something-special-">“But our team needs something special”</h3><p>It all started with a workshop on a new internal platform I helped to build. Besides the platform team, we had some seasoned engineers from the (stream-aligned) development teams present. This helped to create alignment, but can be dragging. I anticipated a longer discussion when one of the architects from the development teams noted:</p><p>“But our service is special. We will need a special configuration, which none of the other teams will request. With this new platform, I know I will need to wait for 6 months and have endless meetings.”</p><p>This is obviously bad. A decline in productivity was not one of our goals for the new platform. Fortunately, the engineer was also very hands-on and wanted to solve the problem. As we were in the means of building the first version of the new platform, we agreed to join forces.</p><p>At the same time, I had this uncomfortable feeling that something was not right. Aren't we supposed to build the platform? Shouldn’t this great engineer focus on building his service? This suspicion kept lingering in my mind until I had read about the different interaction modes in <a href="https://www.linkedin.com/company/team-topologies/">Team Topologies</a>. This helped me to disambiguate the different roles and make the interactions explicit.</p><h3 id="product-thinking-for-internal-platforms">Product Thinking For Internal Platforms</h3><p>Internal developer / cloud platforms are a great mechanism to set guard rails, reduce cognitive load on (stream-aligned) development teams and therefore improve the overall productivity. But a common risk is that we build another internal system that doesn’t meet the requirements, isn’t well maintained and slow to adapt. A common approach is emphasizing on a product mindset (e.g. <a href="https://www.notion.so/CNCF-Enduser-ceb35bef9ff54c1eb0ffdce0fe72a74d?pvs=21">CNCF Whitepaper</a>, <a href="https://www.thoughtworks.com/en-de/insights/looking-glass/platforms-as-products">Thoughtworks</a>) to ensure we keep users and their requirements in mind and that we prevent feature creep by building the <a href="https://teamtopologies.com/key-concepts-content/what-is-a-thinnest-viable-platform-tvp">Thinnest Viable Platform</a>.</p><h3 id="collaboration-as-competitive-advantage">Collaboration As Competitive Advantage</h3><p>Something that I miss with these approaches is the unique setting we are in when we are building an <strong>internal</strong> platform. We don’t have a customer relationship. We have a team relationship between the development and the platform team. If the platform is just another service: Why not hire someone external? Why not buy something off the shelf? Using off the shelf components might be a good idea for certain capabilities, but the reason we are building an internal platform is that it’s doing something unique. Something that our stream-aligned teams can’t just buy. As an organization, we should use this special setting to our advantage. We should enable collaboration between teams and allow new ideas to flourish in this safe internal environment. But to ensure this collaboration is productive, we need to manage it.</p><h3 id="self-service-adaptation">Self-Service Adaptation</h3><p>Just like the architect from my example, good engineers know how to help them-selves. They get around roadblocks and automate toil away. However, they need an environment that allows them to do it. So in the case of our internal platform, we have to ask ourselves:</p><blockquote>How fast can good engineers adapt the platform to their needs?</blockquote><p>There are several ways to approach this, but if you have good engineering practices likes CI/CD for your platform development, you can treat adaptations from other teams just as normal development. A seasoned engineer should just take your platform, fork it, adapt it and deploy their version of it.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://media.licdn.com/dms/image/D4E12AQFmHcZuNmULTA/article-inline_image-shrink_1500_2232/0/1693580734376?e=1700697600&amp;v=beta&amp;t=ZmVtH0ZtW1VzPbC3YZRKevuWn8EGetgf8fcPdamLmj8" class="kg-image"></figure><!--kg-card-end: image--><p>This is not a hard task. Especially in our unique internal setting where we can be open and descriptive on how to run and operate the platform. Frameworks like Crossplane support this out of the box.</p><h3 id="explicit-interactions">Explicit Interactions</h3><p>Once these forks (or other adaptations) exist, we need to evaluate if we want to get these changes back into the platform. We need to look for adoption signals, and the development team should do some internal advocacy.</p><p>If we see a rising interest, we start evaluating if and how the changes should be merged back into the platform. The development team and the platform team start collaborating closely. It’s important that this <strong>collaboration interaction is explicit and time-boxed</strong>. The final goal is that the new functionality is completely handed over and Team A can get back to using the service as an offering from the platform.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://media.licdn.com/dms/image/D4E12AQEgO53pNgsqZg/article-inline_image-shrink_1500_2232/0/1693580807258?e=1700697600&amp;v=beta&amp;t=aqU520opST7Pp0hnpINGXqJW4LWHDX-G62_DkeraQVU" class="kg-image"></figure><!--kg-card-end: image--><h3 id="summary">Summary</h3><p>Great engineering organizations are leveraging their collective internal knowledge. And great platform teams enable adaptations of their platform. To ensure our development continues to flow, we need to be explicit about interaction modes between teams and keep close collaborations time-boxed.</p><p>If you have seen similar issues in your org, please reach out or leave a comment. I’d like to learn more about other approaches. I am happy to share more insights on what I’ve learned so far.<br><br>(This was also posted on <a href="https://www.linkedin.com/pulse/well-informed-platform-adaptation-matthias-l%25C3%25BCbken">LinkedIn</a>)</p>]]></content:encoded></item><item><title><![CDATA[Platform Strategies With Team Topologies]]></title><description><![CDATA[<p>Building Internal Developer Platforms is not always straightforward. When I talk to platform teams, I hear quite often questions like: What is a good design for our build pipeline? How should we provision infrastructure? Do we need a developer portal? How much should feature teams know about observability? Many teams</p>]]></description><link>http://luebken.com/platform-strategies-with-team-topologies/</link><guid isPermaLink="false">650ad1b5c1afff00017d837e</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Thu, 17 Aug 2023 11:09:00 GMT</pubDate><content:encoded><![CDATA[<p>Building Internal Developer Platforms is not always straightforward. When I talk to platform teams, I hear quite often questions like: What is a good design for our build pipeline? How should we provision infrastructure? Do we need a developer portal? How much should feature teams know about observability? Many teams answer these questions by relying on their specific experience and forget to take the current socio-technical context into account. If we want to have long-lasting success with our platform efforts, we first need to understand how the engineering teams are structured and how they interact. Obviously, answers will differ by the organization, but fortunately, we have a framework to discuss different designs with <a href="https://teamtopologies.com/">Team Topologies</a> by <a href="https://www.linkedin.com/in/manuelpais/">Manuel Peis</a> and <a href="https://www.linkedin.com/in/matthewskelton?miniProfileUrn=urn%3Ali%3Afs_miniProfile%3AACoAAADIpfUBLlJOE7yoeTAOfEERL7zOFvOWIhs">Matthew Skelton</a>.</p><p>Team Topologies is a fantastic book on how to organize teams in modern technology-driven enterprises. I’ve been reading up on this book for a while and recently had the time to dive deeper. I’ve discovered that many of my experiences and ideas on building and evolving platforms can be mapped or expressed with Team Topologies. So I thought it’s a good time to bring them to paper, which I will start with this post.</p><h3 id="agile-lean-and-devops-don-t-talk-about-team-structures"><strong>Agile, Lean and DevOps Don’t Talk About Team Structures</strong></h3><p>Throughout my career, I learned and used several great methodologies that helped software engineering teams. <a href="https://agilemanifesto.org/">Agile</a>, which emphasizes on iterative approaches, small teams and feedback cycles. <a href="https://en.wikipedia.org/wiki/Lean_software_development">Lean</a>, which introduced a holistic value-stream thinking. And <a href="https://www.atlassian.com/devops">DevOps</a> which popularized automation and collaboration between developer and operation silos. Today, the principles and practices of these methodologies are taken for granted and teams are implementing them left and right.</p><p>These methodologies don’t address how to structure teams when you start scaling out software engineering. The <a href="https://scaledagileframework.com/">SAFE</a> process never felt aligned with Agile principles. The <a href="https://blog.crisp.se/wp-content/uploads/2012/11/SpotifyScaling.pdf">Spotify model</a> was a great addition by introducing basic team structures like cross-functional teams (Squads) and communities of practices (Chapters &amp; Guilds). While I’ve successfully applied an adoption of this model, I always found something missing.</p><p>Team Topologies discusses many different interconnected ideas. In this post, I’ll start with a brief introduction of what the book is most famous for: team types and their interactions. In subsequent posts, I’ll dive deeper and introduce other ideas and examples where I’ve seen them work and fail.</p><h3 id="flow-flow-flow"><strong>Flow, Flow, Flow</strong></h3><p>The book introduces four team types: <strong>Stream-aligned, Enabling, Complicated Subsystem </strong>and<strong> Platform.</strong> And three interaction modes: <strong>Collaboration, X-As-A-Service </strong>and<strong> Facilitating</strong>. As we dive deeper into the types, it’s helpful to remember that the book is about “organizing teams for fast flow”. Matthew Skelton the author, recently even <a href="https://www.linkedin.com/posts/matthewskelton_teamtopologies-fastflow-activity-7092219055486418944-trT5/">started thinking</a> about renaming the “Platform” team type to “Flow Platform”.</p><h3 id="four-team-types"><strong>Four Team Types</strong></h3><p>With flow in mind, the goal is to focus on autonomous, decoupled <strong>Stream-aligned</strong>teams who maintain full ownership of building, fixing and running their application. I’d like to think of a small shop with just one team, which basically creates the whole app. The other team types support these stream-aligned teams in various ways, but all with the same goal: enable the various stream-aligned teams to deliver features for the business. And you wouldn’t introduce new teams if the Stream-aligned teams haven’t signaled any issues.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://media.licdn.com/dms/image/D4E12AQFt09smBTtP1g/article-inline_image-shrink_1500_2232/0/1692304618010?e=1700697600&amp;v=beta&amp;t=tkV6sOz6L1KO90K3NnzN9gNiaCKKTQX2bRD4gW1MyxI" class="kg-image" alt="No alt text provided for this image"></figure><!--kg-card-end: image--><p>The first additional team type Team Topologies introduce is the <strong>Enabling</strong> team, which consists of a set of specialists which have a specific mandate to help the Stream-aligned teams to overcome obstacles. I’d like to think of these as technical consultants which temporarily collaborate with the team on a specific topic like: test automation or improving the build pipelines. The Stream-aligned team stays autonomous and is now enabled to better build software. In some later posts, I’ll discuss different enabling teams which we have crated in the past.</p><p>The next team type should be the <strong>Platform</strong> team, which offers internal services. It’s important that there is no hand-over between a stream-aligned team and the platform. Instead, the platform offers some kind of self-service, which other teams can choose to use. The whole trend of product-thinking for internal platforms is motivated by this topology. I’ve seen plenty of examples within big enterprises and small firms and I’ll write about product management techniques with concrete examples later.</p><p>The final team type is a <strong>Complicated Subsystem</strong> team which is supposed to be used very seldom. It’s used for subsystems where significant specialists' knowledge is required for a long period of time. The driving factor here is the expertise of the team members, not the potential for reuse. The Complicated Subsystem team never sits in the flow of change and work is never handed over.</p><h3 id="three-interaction-modes"><strong>Three Interaction Modes</strong></h3><p>With these team types in mind, the book introduces three modes of how teams interact. These are sometimes overlooked, but are crucial for the overall health and evolution of the software engineering organization.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://media.licdn.com/dms/image/D4E12AQHyB0OcCJC24Q/article-inline_image-shrink_1500_2232/0/1692303994741?e=1700697600&amp;v=beta&amp;t=h_RL3SppX31MUTSr_b1F9aIWGJoJmU4XkRdn4dgtyrY" class="kg-image" alt="No alt text provided for this image"></figure><!--kg-card-end: image--><p>Often, teams are just told to “work together” and are not further guided on what this interaction should look like. Team Topologies makes the following differentiation on how teams interact and what to expect from each other.</p><p>The first interaction mode is <strong>Collaboration,</strong> where different team members work closely together. The team shares the same goals and their processes and activities are intervened for a certain period of time. The amount of collaboration between the two teams might wary but should be temporary or is a signal for a different team structure. We need to make sure that we have a well-defined collaboration goal and understand that the collaboration comes at a cost of slowing down the teams.</p><p>The second mode is <strong>X-As-A-Service,</strong> where one team provides a service to another team with an API and service level expectations. The team offering the service needs a strong sense of responsibility and a good amount of product / service thinking on topics like value, usability and feasibility. Therefore, these teams are sometimes supported by a dedicated product manager. Platform teams often use this mode to offer some e.g. infrastructure-as-code service once the need is well understood.</p><p>The last mode is <strong>Facilitating,</strong> where one team coaches another team on a specific aspect. This mode is mainly used by enabling teams, but not limited to them. The goal is to enhance the productivity of the teams they support. Facilitating teams often work on a specific aspect across many teams and can also help discover inconsistencies.</p><p>Note that teams interact differently with different teams in the organization. It’s important to create a shared understanding of how the different teams want to interact with each other.</p><h3 id="ready-for-well-informed-adaptation"><strong>Ready for Well Informed Adaptation</strong></h3><p>This was a very brief introduction and I highly recommend reading the book. But something I hopefully brought across is that we now have a framework to analyze, discuss and evolve on how we structure teams, and in my case the platform teams. Or in short, we have organizational awareness.</p><p>In my next post I will show a way on how to build adaptive platforms with <a href="https://www.linkedin.com/company/crossplane/">Crossplane project</a> and how we can support the discovery and adaptions by sensing and changing interaction modes. Stay tuned.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://media.licdn.com/dms/image/D4E12AQHhETJ6tS5GXg/article-inline_image-shrink_1500_2232/0/1692304124643?e=1700697600&amp;v=beta&amp;t=HJay7-iZKOehk5jowaINNwqgiu3o5sNSP9gRpnxyqdM" class="kg-image" alt="No alt text provided for this image"></figure><!--kg-card-end: image--><p>PS: If you find this topic interesting, and you are building a platform yourself, please reach out. I’d love to chat and exchange ideas.<br><br>(Originally posted here: <a href="https://www.linkedin.com/pulse/platform-strategies-team-topologies-matthias-luebken/?trackingId=73fImg%2FtSbuhjgaXIg5fgQ%3D%3D">https://www.linkedin.com/pulse/platform-strategies-team-topologies-matthias-luebken/</a>)</p>]]></content:encoded></item><item><title><![CDATA[Cost: The driver of serverless architectures]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>This post is a short opinion piece on one of the key characteristics of serverless architectures: the precise usage-based accounting.</p>
<p>The context: <a href="http://luebken.com/cost-the-driver-of-serverless-architectures/twitter.com/samnewman/">Sam Newman</a> of some <a href="http://samnewman.io/books/building_microservices/">microservices fame</a> did an excellent talk called <a href="http://www.ustream.tv/recorded/102892078">“Confusion In The Land Of The Serverless”</a> at Craft Conference where he digs behind the scenes of</p>]]></description><link>http://luebken.com/cost-the-driver-of-serverless-architectures/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b3582b</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Tue, 27 Jun 2017 15:48:07 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>This post is a short opinion piece on one of the key characteristics of serverless architectures: the precise usage-based accounting.</p>
<p>The context: <a href="http://luebken.com/cost-the-driver-of-serverless-architectures/twitter.com/samnewman/">Sam Newman</a> of some <a href="http://samnewman.io/books/building_microservices/">microservices fame</a> did an excellent talk called <a href="http://www.ustream.tv/recorded/102892078">“Confusion In The Land Of The Serverless”</a> at Craft Conference where he digs behind the scenes of this new buzzword. During his talk, Sam mentions five categories for a serverless platform which <a href="https://twitter.com/mikebroberts">Mike Roberts</a> has assembled:</p>
<h2 id="thekeytraitsofserverless">The Key Traits of Serverless:</h2>
<ol>
<li>Does not require managing a long-lived host or application instance</li>
<li>Self auto-scales and auto-provisions, dependent on load</li>
<li>Has costs that are based on precise usage, up from and down to zero usage</li>
<li>Has performance capabilities defined in terms other than host size/count</li>
<li>Has implicit high availability</li>
</ol>
<p>You can read more on this in either Mike Roberts <a href="https://blog.symphonia.io/defining-serverless-part-1-704d72bc8a32">blog posts</a> or his free eBook <a href="http://www.oreilly.com/programming/free/what-is-serverless.csp">What Is Serverless</a>?</p>
<p>During his talk, Sam comments on these traits and one particular comment caught my attention. On the third trait (&quot;costs are based on precise usage&quot;) Sam partly disagrees because inside an organization you probably wouldn’t need/want to do precise cost accounting. This trait seems more applicable for public serverless platform offerings.</p>
<p>I agree with Sam that probably most organizations currently wouldn't want to set it up that way. But maybe they should? I think that the “precise usage accounting” is one of the main innovations that serverless (more precisely the <a href="https://en.wikipedia.org/wiki/Function_as_a_Service">FaaS - Function-As-A-Service</a> part) has brought to the table. And I would argue that this trait is the key to the success of serverless.</p>
<h2 id="whydoesthismatter">Why does this matter?</h2>
<p>With this trait developers are now incentivised to look at the runtime characteristics of their application logic: How much memory do I need? And how long will my function be running?  Now, developers have done this before when choosing the right EC2 machines. But with FaaS these assessments and decisions can differ for every function. The number of decisions to be made have increased by an order of magnitude. And this results in influencing the architecture. In a FaaS environment developers suddenly ask themselves: How can I split this function, so it falls below a threshold? How can I move from waiting on this callback to an event-trigger?</p>
<p>A hypothesis I would put out there is that the economics of FaaS are driving more architectural decisions than many of the existing best practices in designing these applications. Note that these design decisions aren't necessarily for the better. Eg. I've already heard about teams adding more functionality to a function just because they had 20ms of average computing time left. That said the incentivisation to create small independent functions seems to play nice with many modern design patterns. It will be interesting to see what other implications we see from this precise usage-based accounting and what patterns we see deriving from this.</p>
<h2 id="beyondarchitecturalconcerns">Beyond architectural concerns</h2>
<p>As you might have guessed people a lot smarter than me have already thought about this. The strategist and cloud visionary <a href="https://twitter.com/swardley">Simon Wardley</a> has written an extensive piece on <a href="https://hackernoon.com/why-the-fuss-about-serverless-4370b1596da0">“Why the fuss about serverless?”</a>. In that post he describes that <em>“Monitoring by cost of function changes the way we work — well, it changed me and I’m pretty sure this will impact all of you.”</em> On top of that he describes “worth based development” where business metrics of functions are used to drive the development. Very very interesting.</p>
<h2 id="tldr">TL;DR</h2>
<p>A major trait of serverless / FaaS architectures is precise usage accounting. This influences decisions on the applications architecture. It remains to be seen what concrete patterns are deriving from this.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[The right tool for your job]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p><img src="http://luebken.com/content/images/2017/06/osio1-1.png" alt=""></p>
<p>Today is the <a href="https://developers.redhat.com/blog/2017/05/02/announcing-red-hat-openshift-io/">announcement</a> of <a href="https://openshift.io/">OpenShift.io</a>: a SaaS developer environment for cloud-native application development running on OpenShift. And I am really excited about this since it brings together a couple of areas which I am especially passionate about Agile, Containers and Open Source:</p>
<p><img src="http://luebken.com/content/images/2017/06/osio2.png" alt=""></p>
<h4 id="1collaborativeagilesoftwaredevelopment">1) Collaborative Agile software development</h4>
<p>Agile</p>]]></description><link>http://luebken.com/the-right-tool-for-your-job/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b3582a</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Tue, 02 May 2017 12:00:00 GMT</pubDate><media:content url="http://luebken.com/content/images/2017/06/osio1.png" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><img src="http://luebken.com/content/images/2017/06/osio1.png" alt="The right tool for your job"><p><img src="http://luebken.com/content/images/2017/06/osio1-1.png" alt="The right tool for your job"></p>
<p>Today is the <a href="https://developers.redhat.com/blog/2017/05/02/announcing-red-hat-openshift-io/">announcement</a> of <a href="https://openshift.io/">OpenShift.io</a>: a SaaS developer environment for cloud-native application development running on OpenShift. And I am really excited about this since it brings together a couple of areas which I am especially passionate about Agile, Containers and Open Source:</p>
<p><img src="http://luebken.com/content/images/2017/06/osio2.png" alt="The right tool for your job"></p>
<h4 id="1collaborativeagilesoftwaredevelopment">1) Collaborative Agile software development</h4>
<p>Agile development and teamwork have always been dear to my heart and with OpenShift.io you have the best tooling right at your fingertips. This is especially useful when getting a new team onboard. Everything is there and is fully integrated: A planning and tracking tool (read Trello on steroids), an online editor (best in town: Eclipse Che), a build pipeline (based on Jenkins) and a deployment and runtime environment based on OpenShift (our enterprise grade Kubernetes distribution).</p>
<h4 id="2basedoncontainertechnologies">2) Based on container technologies</h4>
<p>Containers have fundamentally changed the way I develop and run software. The great thing with OpenShift is that you can dive into the details about containers, but you don’t have to. So if you are new to this paradigm, you wouldn’t even notice. But once you get familiar with everything you can dive into the details. And the best thing: This is all based on Kubernetes the leading orchestration engine and open standards from the open container initiative.</p>
<h4 id="3itsopensource">3) It’s Open Source</h4>
<p>Everything we build is open source. Head up to our upstream communities on Che, fabric8 and Openshift and get involved. We are looking forward to your pull request. :-)</p>
<p>So where is the catch? Well, there is a waiting list. ;- ) So make sure you sign up today for the <a href="https://openshift.io/">OpenShift.io Developer Preview</a>.</p>
<h3 id="onemorethingdeveloperanalytics">One more thing: developer analytics</h3>
<p>Now we haven’t stopped there. As part of openshift.io, we are launching our developer analytics: a set of services to bring back confidence into software development.</p>
<p>In this fast-moving world of open source, it’s a real challenge to find the right tool for the job. It sometimes seems that if you take a short break in keeping yourself up-to-date, everything has changed and you need to reevaluate everything:</p>
<ul>
<li>Is this still the best tool for the job?</li>
<li>Are there better-suited libraries for my current use-case?</li>
<li>Are the “old” solutions still maintained and secure?</li>
<li>Is this compatible and compliant with the work in my company?</li>
</ul>
<p>Let me assure you, you are not alone with these challenges. While we as developers all love the rise of ever better tools and frameworks, we at the same time struggle to pick the right ones.</p>
<p>We have seen this challenge first hand within Red Hat and our customers. So we have challenged ourselves to change the status quo and help developers to pick the right tools for the job. Today we are starting with guidance on choosing the right application packages. And we provide this guidance throughout the whole application lifecycle.</p>
<p>We start by integrating our guidance right when you code. Here you see an example of a security warning on a library on Che on openshift.io and a recommendation on how to fix it:</p>
<p><img src="http://luebken.com/content/images/2017/06/osio3.png" alt="The right tool for your job"></p>
<p>The next level of guidance is provided during every build. Eg. Here you see an analysis of your whole application stack and showing you some of the hotspots in it and some actionable recommendations on how to fix these:</p>
<p><img src="http://luebken.com/content/images/2017/06/osio4.png" alt="The right tool for your job"></p>
<p>We want to enable every team and developer out there to make faster, better and more confident decisions. In the end, we as software developers want to get our job done. Sometimes it’s about choosing the latest greatest but compatible and secure library. And sometimes it's about the right compromise to meet company and team standards.</p>
<p>I had started on this journey about a year ago when I joined Red Hat and this is just an awesome ride. I would like to thank everyone at Red Hat who helped to get this project to life. Many different teams and individuals throughout the organization have helped to kick this off. But most importantly I would like to highlight the engineering and design work: They have done a tremendous job in bringing this to where it is today and integrating everything into an exceptionally end-user experience.</p>
<p>I’m genuinely excited about today's announcement. And this is just the beginning. There is a lot more to come. So be part of our journey: As a user, a customer or an upstream contributor: Let’s find the right tool for your job.</p>
<p>(Note: This is a cross-post from <a href="https://www.linkedin.com/pulse/right-tool-your-job-matthias-luebken">https://www.linkedin.com/pulse/right-tool-your-job-matthias-luebken</a>)</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Who is your pace setter?]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>TL;DR: Choose your (product / development) process as you like. But make sure you inspect and adapt and have one accepted pace setter.</p>
<p><img src="http://luebken.com/content/images/2014/Feb/1024px_Omiya_keirin1.jpg" alt="Keirin"></p>
<p>(Image by <a href="http://commons.wikimedia.org/wiki/File:Omiya_keirin1.jpg">Paulkeller</a> showing a <a href="http://en.wikipedia.org/wiki/Keirin">Keirin</a> race which have a speed-controlled start.)</p>
<p>When I talk to people about software development processes I often get very different opinions</p>]]></description><link>http://luebken.com/who-is-your-pace-setter/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b35823</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Thu, 13 Feb 2014 11:35:58 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>TL;DR: Choose your (product / development) process as you like. But make sure you inspect and adapt and have one accepted pace setter.</p>
<p><img src="http://luebken.com/content/images/2014/Feb/1024px_Omiya_keirin1.jpg" alt="Keirin"></p>
<p>(Image by <a href="http://commons.wikimedia.org/wiki/File:Omiya_keirin1.jpg">Paulkeller</a> showing a <a href="http://en.wikipedia.org/wiki/Keirin">Keirin</a> race which have a speed-controlled start.)</p>
<p>When I talk to people about software development processes I often get very different opinions about what they think is the &quot;best&quot; process. There is often a breed of Scrum, Kanban or some sort of Waterfall process (although very few actually admit it). I do think there are common situations where you can apply certain kind of patterns and processes but a lot of people miss the point. Some famous Agile advocate loosely quoted said:</p>
<blockquote>
<p>&quot;I don't care how many practices you are using and how much of a certain process you are. Start with retrospectives and keep improving and you are good to go&quot;.</p>
</blockquote>
<p>Many processes have these sort of mandatory feedback and improvement cycle: Like &quot;Plan-Do-Check-Act&quot; from <a href="http://en.wikipedia.org/wiki/PDCA">Deming</a> or &quot;Inspect and Adapt&quot; from <a href="http://agilemanifesto.org/principles.html">Agile</a> or Kaizen from <a href="http://en.wikipedia.org/wiki/Kaizen">Toyota/Lean</a>. Although I still think an important part is missing.</p>
<p>I hope we can agree on that in great modern work environments continuous improvement is an accepted practice. But what often gets out of sight from individual team members are the influencing factors that require change. If you are in a startup environment, especially in a growing business, many different things force you to change: New colleagues will join, teams will form (<a href="http://en.wikipedia.org/wiki/Tuckman's_stages_of_group_development">storm, norm and perform</a>) and departments will be restructured. But change is not only triggered from the inside. External factors are likely to change to: markets will grow and shrink. Market segments will vanish and new ones will arrive. A product/market fit will manifest or volatilise. Or your competitive advantage will increase or competitors will arrive.</p>
<p>Meanwhile the team members are (rightfully so) shielded away from every aspect of the business. And they are busy doing a great job and continuously improving in their context. Depending in the culture of the company the employees are updated with other aspects of the company. But it's not their duty to put every change effort in the context of the company, the position of the market or some other aspect. This is the managers / leaders job.</p>
<p>I think it's an important (and often neglected) duty to guide a teams effort in their change process and give them right amount of context for the upcoming weeks and months. <strong>Ultimately it’s a leaders job to set the right pace of the change efforts and give the teams the appropriate context for their own improvement efforts.</strong></p>
<p>So, who is your pace setter? Is he doing a good job at it? And if you are a leader are you giving your team / department / company the right context so they can improve accordingly?</p>
<p><a href="http://twitter.com/luebken">Matthias</a></p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Next]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>As of 1.1.2014 I have started my next adventure: I am joining <a href="http://catalyst-zero.com/">Catalyst Zero</a>. After almost 3 years of growing a software development department with all the bells and whistles around development, processes and teams I am / we are going for fresh start in changing the world.</p>
<p>I</p>]]></description><link>http://luebken.com/next/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b35821</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Mon, 06 Jan 2014 15:15:04 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>As of 1.1.2014 I have started my next adventure: I am joining <a href="http://catalyst-zero.com/">Catalyst Zero</a>. After almost 3 years of growing a software development department with all the bells and whistles around development, processes and teams I am / we are going for fresh start in changing the world.</p>
<p>I am staying in the software development business and I am glad to help any teams who need some agile and lean expertise. In addition I am broadening my scope of duties to product development. A  field with lots of undiscovered potential.</p>
<p>At CØ „we build great software-based products and services to solve had and valuable problems“. See Olis <a href="http://catalyst-zero.com/welcome-to-catalyst-zero/">first blogpost</a> to get a first idea about what we are up to. And while your at it subscribe to our Twitter stream: <a href="https://twitter.com/c0team">twitter.com/c0team</a> or our <a href="http://catalyst-zero.com/rss/">Blog</a>. In the upcoming weeks and months I will share lots of our ideas and thoughts around software-based product development.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Individual feedback with peer reviews]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Two weeks ago <a href="http://www.linkedin.com/profile/view?id=16004691">Anna</a> and myself were at the <a href="http://hr-pioneers.com/hrpevent/zweite-agile-hr-conference-2/">Agile HR Conference</a> in Cologne. We presented the status quo of peer review efforts and had some interesting conversations about agile management and hr. In this post I'd like to share some thoughts we presented.</p>
<p><img src="http://luebken.com/content/images/2013/Dec/agile_hr_talk.jpg" alt=""></p>
<p>When you look at most implementations</p>]]></description><link>http://luebken.com/individual-feedback-with-peer-reviews/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b35820</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Thu, 09 May 2013 22:09:43 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Two weeks ago <a href="http://www.linkedin.com/profile/view?id=16004691">Anna</a> and myself were at the <a href="http://hr-pioneers.com/hrpevent/zweite-agile-hr-conference-2/">Agile HR Conference</a> in Cologne. We presented the status quo of peer review efforts and had some interesting conversations about agile management and hr. In this post I'd like to share some thoughts we presented.</p>
<p><img src="http://luebken.com/content/images/2013/Dec/agile_hr_talk.jpg" alt=""></p>
<p>When you look at most implementations of Scrum there are a great deal of feedback loops: Sprint-Reviews, Sprint-Retrospectives, Stand Ups, Pair Programming and even automatic Tests and <a href="http://https://help.github.com/articles/using-pull-requests">Pull Requests</a>. To these standard loops we have added department retrospectives every half year which we call offsites.</p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/19743008?rel=0&startSlide=6" width="512" height="421" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen="" mozallowfullscreen=""> </iframe>
<p>This is great so far and we still try to emphasize and improve on those since they give valuable feedback for teams. At the same time we noticed that we didn't improve on direct feedback and guidance for individual employees. In the last two years we grew from one team sitting in one room to four teams sitting in four rooms. Although we still work closely together the manager doesn't have as much time to get to know each and every developer.</p>
<p>For getting a grip on the problem we sat together for a couple of workshops. We wanted to define our context and find a concept that fits our current situation. We did this with external help from <a href="http://www.getcontext.de">Manuel Koelmann</a> whom we like to thank for his support!</p>
<p>After some discussions we defined <strong>our current context</strong> as follows:</p>
<ul>
<li>We want more direct feedback for every developer. </li>
<li>We want to stay with the existing hierachies and let the manager do the employee talks for now. </li>
<li>We want to keep our ability to changing teams. </li>
<li>We want to start with a focus on employee guidance and development. </li>
<li>We want concrete, more often and faster feedback.</li>
</ul>
<p>Setting our context helped us to define <strong>our concept</strong> we came up with a couple discussions later:</p>
<ul>
<li>Each employee fills out an online form per quarter. </li>
<li>The form contains role specific questions to all his peers he works with. </li>
<li>For a developer his main peers are currently: Other developers in his team, the product owner, the manager and a self percetion. </li>
<li>Almost all of the questions can be answered with a scaled answer. In addition we have one freetext feedback per role. </li>
<li>The form needs to be finished within 30 minutes. We hope to have higher acceptance and faster feedback cycles. </li>
<li>The results are not given to the employee directly but filtered through the manager or HR. The results are than anonymously communicated in an employee conversation.</li>
</ul>
<p>Please note that most of these steps reflect our current situation. Hopefully this differs to your setting ;-). We are a young company with even younger employees. We are still learning and want to with caution with this topic.</p>
<p>At the conference we also announced the availability of our implementation of the feedback form: The <a href="http://github.com/adcloud/peerreview">Adcloud PeerReviewApp</a>. This is a simple Rails app that has to self hosted. Please note that it's very alpha and still contains bugs. But you should get an idea how it works and maybe you like join in efforts!?</p>
<p>So what's next? We are currently starting with the first reviews and are learning. There is lots to follow and we hope to tackle them sooner than later. If you have questions or comments please do so in this post or send us a Email. We love a hearty discussion!</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Extending Trello for Sprint planning]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>We at <a href="http://adkla.us">Adcloud Dev</a> have started using <a href="http://trello.com">Trello</a> for our Sprint planning. Trello is a simple task management tool mimicking physical boards with columns known from Kanban boards. We especially like that it looks like our physical board. (Why we keep two boards? That's a topic for different blog post.</p>]]></description><link>http://luebken.com/extending-trello-for-sprint-planning/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b3581f</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Thu, 23 Feb 2012 20:45:06 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>We at <a href="http://adkla.us">Adcloud Dev</a> have started using <a href="http://trello.com">Trello</a> for our Sprint planning. Trello is a simple task management tool mimicking physical boards with columns known from Kanban boards. We especially like that it looks like our physical board. (Why we keep two boards? That's a topic for different blog post.)</p>
<p><img src="http://luebken.com/content/images/2013/Dec/Screen_Shot_2012_02_23_at_6_11_21_PM.png" alt=""></p>
<p>Now Trello doesn't come with a notion of card types (for bugs and user stories) or points per card (for estimating and tracking), but its a web application and it has an API. Hooray!</p>
<p>For the different card types we are using the Trello labels and a convention: Red=Bug, Yellow=Chore, Green=Feature. Our Sprint commitment goes only for features and chores but we also want to track bugs.</p>
<p>For the estimation we use a another convention: Put the points into simple brackets into the name of the card. E.g.: "Writing Blogpost (2)". The great thing is that there is already a Chrome Extension <a href="https://chrome.google.com/webstore/detail/jdbcdblgjdpmfninkoogcfpnkjmndgje">Trello Scrum</a> that extends Trello to assist you entering and reading these points!</p>
<p>Now there is one small piece left: How do you do your burndown chart? Well it turns out that Trello has an awesome API. It can fetch all the lists and cards from the board. And with the naming convention we can simply define our work in progress and our work done, grab it from Trello and put it into a chart. Since we are using Google Apps a lot and since they have their own scripting environment <a href="http://code.google.com/googleapps/appsscript/">Google Apps Script</a> we simple wrote a script and pull the data into a spreadsheet. In that spreadsheet is an embedded chart and via a trigger the data is fetched every morning.</p>
<p><img src="http://luebken.com/content/images/2013/Dec/Screen_Shot_2012_02_23_at_6_21_03_PM.png" alt=""></p>
<p>Unfortunately it's not easy to share and test Google Apps Script. I might work on that in the future. For now you can use the following script as a starting point. Just create a new spreadsheet. Open Tools > Script Editor and paste the script into it. Change the variables and give it a try.
<script src="https://gist.github.com/1893771.js?file=trello_points_to_google.js"></script></p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Cologne hacks]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>I&#8217;ve been talking to lot&#8217;s of developers lately. And most of them were surprised what kind of events are happening in Cologne. But the list is huge. On the one hand there (un)conferences like the famous <a href="http://nodecamp.eu/">Nodecamp</a> and the winning <a href="http://piratesummit.com/">Pirate Summit</a> or the upcoming</p>]]></description><link>http://luebken.com/cologne-hacks/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b3581e</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Thu, 22 Dec 2011 14:22:01 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>I&#8217;ve been talking to lot&#8217;s of developers lately. And most of them were surprised what kind of events are happening in Cologne. But the list is huge. On the one hand there (un)conferences like the famous <a href="http://nodecamp.eu/">Nodecamp</a> and the winning <a href="http://piratesummit.com/">Pirate Summit</a> or the upcoming <a href="http://www.nosql-matters.org/">NoSQLMatters</a>. But on the other hand there are tons of monthly meetups:</p>
<ul>
<li><a href="http://www.facebook.com/groups/likemind.cgn/">Likemind</a></li>
<li><a href="http://www.meetup.com/Hacker-News-Cologne/">HN Meetup</a></li>
<li><a href="http://devhousefriday.org/">DevHouseFriday</a></li>
<li><a href="http://rurug.de/">Ruby</a></li>
<li><a href="http://colognejs.de/">JavaScript</a></li>
<li><a href="http://wiki.python.de/pycologne/">Python</a></li>
<li><a href="https://sites.google.com/site/bonnagile/">BonnAgile</a></li>
<li><a href="http://www.meetup.com/cologne-germany-high-performance-website-optimization-group/">Cologne Web Performance</a></li>
<li><a href="http://limited-wip-society-cologne.grouply.com/">Limited WIP</a></li>
<li>&#8230;</li>
</ul>
<p>The site <a href="http://hcking.de/events">hcking.de</a> has a pretty good overview.</p>
<p>So <strong>Cologne Hacks</strong>. Developers get out there and network. There is tons to learn and nice people to meet!</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[I'm on Google+]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Find me here: <a href="http://luebken.com/+">luebken.com/+</a></p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></description><link>http://luebken.com/im-on-google/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b3581d</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Wed, 13 Jul 2011 08:43:57 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Find me here: <a href="http://luebken.com/+">luebken.com/+</a></p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Bye bye and Hello]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><blockquote>"I'm leaving it-agile". "You've gotta be kidding". </blockquote>
In the last six years I was lucky to be part of the <a href="http://it-agile.de">greatest agile shop</a> in Germany. We don't just sell agile in our products. We truly believe in them. You can see this in our daily work, in our communication with]]></description><link>http://luebken.com/bye-bye-and-hello/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b3581c</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Thu, 31 Mar 2011 19:36:49 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><blockquote>"I'm leaving it-agile". "You've gotta be kidding". </blockquote>
In the last six years I was lucky to be part of the <a href="http://it-agile.de">greatest agile shop</a> in Germany. We don't just sell agile in our products. We truly believe in them. You can see this in our daily work, in our communication with each other and especially in the type of our company: it-agile is an <a href="http://www.henningwolf.de/2010/03/softwarekolchose.html">employee owned company</a> and every single employee has the opportunity to play an important role.
<p>So why am I leaving? First of all I want to make sure that I am near my family. Although I was quite lucky, arranging the traveling with a healthy family life is quite a challenge. The second reason is the opportunity at my new company.</p>
<p>I would really like to thank <a href="http://www.it-agile.de/team.html">everybody at it-agile</a>. It was fun and exciting years. I learned a lot and it was great working with you! I wish you all the best. I know that you are going to stay the agile market leader. For a good reason.</p>
<p>So my new company is <a href="http://adcloud.com/">Adcloud</a>. An exciting advertising technology company which builds the worlds first open advertising ecosystem. I am going to join the team as the technical product manager and will help grow agile development. I am so looking forward to this exciting company and my new colleagues.</p>
<p>Hope to see you soon everybody. And keep coding.<br>
Matthias</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Slides from MobileTechCon]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Today is the last day of <a href="http://mobiletechcon.de/2011spring/">MobileTechcon</a>. Time to say thanks for all the great discussions and for meeting so many great people (Tobias, David, Stephan, Patrick, Sven, Henning, Peter, Paul, Sebastian ... ).</p>
<p>All of our ressources of our workshop are at Lanyrd: <strong><a href="http://lanyrd.com/scmzz/">lanyrd.com/scmzz/</a></strong></p>
<p>And <a href="http://yfrog.com/h3axmfyj">this mornings</a> presentation is</p>]]></description><link>http://luebken.com/slides-from-mobiletechcon/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b3581b</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Wed, 30 Mar 2011 13:09:04 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Today is the last day of <a href="http://mobiletechcon.de/2011spring/">MobileTechcon</a>. Time to say thanks for all the great discussions and for meeting so many great people (Tobias, David, Stephan, Patrick, Sven, Henning, Peter, Paul, Sebastian ... ).</p>
<p>All of our ressources of our workshop are at Lanyrd: <strong><a href="http://lanyrd.com/scmzz/">lanyrd.com/scmzz/</a></strong></p>
<p>And <a href="http://yfrog.com/h3axmfyj">this mornings</a> presentation is here:</p>
<div style="width:425px" id="__ss_7447096"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/luebken/mobile-webapps" title="Mobile WebApps">Mobile WebApps</a></strong> <object id="__sse7447096" width="425" height="355"> <param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mobilewebapps-mtc-110330075205-phpapp02&stripped_title=mobile-webapps&userName=luebken"> <param name="allowFullScreen" value="true"> <param name="allowScriptAccess" value="always"> <embed name="__sse7447096" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mobilewebapps-mtc-110330075205-phpapp02&stripped_title=mobile-webapps&userName=luebken" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"> </object> <div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/luebken">Matthias Luebken</a> </div> </div><!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Going to the Mobile TechCon]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>I just noticed that I haven't kept my keen readers updated on my conference participations:</p>
<p>End of march I will be at the <a href="http://mobiletechcon.de/2011spring/">MobileTechCon</a> in Munich. Together with my good friends from <a href="http://uxebu.com/">Uxebu</a> we will do a workshop about <a href="http://mobiletechcon.de/2011spring/workshop/#session-17268">creating mobile HTML5 apps</a>. Really looking forward to this workshop! And</p>]]></description><link>http://luebken.com/going-to-the-mobile-techcon/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b3581a</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Mon, 14 Mar 2011 16:16:15 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>I just noticed that I haven't kept my keen readers updated on my conference participations:</p>
<p>End of march I will be at the <a href="http://mobiletechcon.de/2011spring/">MobileTechCon</a> in Munich. Together with my good friends from <a href="http://uxebu.com/">Uxebu</a> we will do a workshop about <a href="http://mobiletechcon.de/2011spring/workshop/#session-17268">creating mobile HTML5 apps</a>. Really looking forward to this workshop! And lots of people too: it is sold out since weeks! On wednesday I'll be giving a talk about the <a href="http://entwickler.com/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=mobiletechcon2011spring&id=17267">same topic</a>.<br>
And my colleague Sven will be giving a talk about refactoring a <a href="http://entwickler.com/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=mobiletechcon2011spring&id=17299">Top 10 iPhone App</a>. He is going to give some great insights! So stop by our booth and lets chat about mobile, agile and beer in Bavaria.</p>
<p>There is another conference coming up in May. Details soon.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[WJAX recap]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>I had a great time at the WJAX. Here are my <a href="http://www.slideshare.net/luebken">slides</a>. And here are some more impressions. This time an interview with me:<br>
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/_fTwI7sT_Qs?fs=1&amp;hl=en_US&start=160"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/_fTwI7sT_Qs?fs=1&amp;hl=en_US&start=160" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></object></p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></description><link>http://luebken.com/wjax-recap/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b35819</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Thu, 18 Nov 2010 20:47:56 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>I had a great time at the WJAX. Here are my <a href="http://www.slideshare.net/luebken">slides</a>. And here are some more impressions. This time an interview with me:<br>
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/_fTwI7sT_Qs?fs=1&amp;hl=en_US&start=160"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/_fTwI7sT_Qs?fs=1&amp;hl=en_US&start=160" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></object></p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Agile Day WJAX 2010]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>I am the WJAX right now. Here are some impressions of the first day. Enjoy.<br>
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/zVx8_Ga7jCI?fs=1&amp;hl=en_US"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/zVx8_Ga7jCI?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></object></p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></description><link>http://luebken.com/agile-day-wjax-2010/</link><guid isPermaLink="false">5cf41e92cc3d9e0001b35818</guid><dc:creator><![CDATA[Matthias Luebken]]></dc:creator><pubDate>Mon, 15 Nov 2010 22:04:49 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>I am the WJAX right now. Here are some impressions of the first day. Enjoy.<br>
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/zVx8_Ga7jCI?fs=1&amp;hl=en_US"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/zVx8_Ga7jCI?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></object></p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>