• Rajat Talwar
    Rajat Talwar
    schedule 1 year ago
    Sold Out!
    45 mins
    Experience Report
    Intermediate

    As the industry is shifting towards an Agile (Continuous Delivery) style for developing products and services, (whether startups or large established organisation), everyone today has to thrive by innovating and adapting to the latest trends in technology. They have to keep themselves ahead in the race to delight customers. Full stack developers are key players in experimenting and delivering value consistently using varied tools and technologies throughout the stack.

    In this session I'll be share my journey of how I became a full-stack developer. Hopefully this will help others understand how they can target and plan to gradually become a full stack developer in their respective teams.

    Also I'll highlight the following topics:

    • What is the importance of a full stack dev?
    • What tools/resources/languages in my experience work best for full stack developers?
    • Downsides of being a full stack developer!
  • Naresh Jain
    Naresh Jain
    schedule 1 year ago
    Sold Out!
    90 mins
    Demonstration
    Intermediate

    Over the past decade, eXtreme Programming practices like Test-Driven Development (TDD) & Behaviour Driven Developer (BDD), Refactoring, Continuous Integration and Automation have fundamentally changed software development processes and inherently how engineers work. While TDD has seen a great adoption on server side, developers still find it hard to apply TDD for developing UI components.

    In this hands-on, live coding demo, Naresh will build a web commenting and discussion feature (like Disqus) in React.js, 100% test driven. He will also demonstrate how TDD will help us drive an object-functional design to strike a pragmatic balance between the Object-Oriented and Functional Programming paradigms.

  • Mukta
    Mukta
    schedule 1 year ago
    Sold Out!
    90 mins
    Tutorial
    Beginner

    Docker wave has changed the way we look at infrastructure today. Docker is like a lightweight VM which provides an isolated environment on your OS, without the need for a separate kernel. You can run your applications inside docker which offers the ease of deployment.

    However, docker requires some management. How do you configure and tune the OS that will host them? How can you ease the process of creating and managing the right dockerfiles? How do you manage docker images? How do you orchestrate docker containers? How do you manage configurations across the different environments of dev, test and prod?

    You can use Chef to provision and configure the machines which will host docker containers. Chef can create container images. Chef can configure docker containers when they boot and while they run. Chef can deploy, run and stop containers. Moreover chef can help you debug and analyse whats happening in your application that runs inside the docker container.

    This tutorial will run you through the way you can configure and manage Docker using Chef. It will be supported with a demo and a real business case.

     

  • Evan Leybourn
    Evan Leybourn
    schedule 1 year ago
    Sold Out!
    90 mins
    Workshop
    Beginner

    You’re probably here at this conference because you want to become a better developer, but I’m here to tell you that that you’re focusing on the wrong area. The difference between a good programmer and a great one isn’t the ability to write a kernel module in LISP, but the ability to communicate with your colleagues and customers. Skills sharing, collaboration and functional communication are critical for the success of any software project, and yet usually overlooked and undervalued.

    Developers who strive to be great, cannot afford to neglect their professional development in these areas. You don’t to reinforce the dreadful stereotype of the shy, stuttering, geek, do you?

    This interactive presentation will examine a few of the critical “soft skills” that are needed to thrive in corporate team environments. For example, how you can:

    • write effectively and speak clearly; i.e. get to the point,
    • move beyond your technical silo to work effectively as a team,
    • build trust and rapport with your project customers,
    • mentor, motivate and encourage others,
    • mediate or negotiate between competing points of view,
    • lead others and manage vendors
  • Liked Sean Dunn
    keyboard_arrow_down

    To Estimate or #NoEstimates, That is the Question

    Sean Dunn
    Sean Dunn
    Chris Edwards
    Chris Edwards
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    The #NoEstmates twitter hashtag was intended by Woody Zuill "..for the topic of exploring alternatives to estimates [of time, effort, cost] for making decisions in software development. That is, ways to make decisions with ‘No Estimates’."  Based on twitter traffic it has been successful at generating activity.  It's a bit debatable as to whether it has really spawned much exploration.  In this talk Todd will actually do some exploration using real data from over 50 projects at companies ranging from startups to large enterprises.  In addition to the analysis of the data, Todd was able to build a simulation model of the software development process to both replicate the data to and explore the conditions under which estimates add value and when they do not.  Based on the findings from the data and the simulations, along with an analysis of the types of business decisions that organizations need to make, Todd will provide some pragmatic advice for estimators and #NoEstimators alike.

  • Liked Chris Edwards
    keyboard_arrow_down

    The Agile Architect: A Case Study in Transformational Leadership

    Chris Edwards
    Chris Edwards
    schedule 1 year ago
    Sold Out!
    45 mins
    Case Study
    Intermediate

    The role of “Architect” is sometimes frowned upon in the Agile community as a central command-and-control authority who bottlenecks decisions and limits team empowerment. Or at least, that is what we thought. Follow the real-life journey of our teams as we discovered how the role of an architect is compatible with Agile principles. We will explore our failures, and how we learned that an Architect can bring immense value to the organization through a focus on transformational leadership. In this presentation you can see how an Architect as Leader can help a project scale and can help create a truly self-sustaining organization.

  • Anand Bagmar
    Anand Bagmar
    schedule 1 year ago
    Sold Out!
    45 mins
    Demonstration
    Intermediate

    Building a Test Automation Framework is easy - there are so many resources / guides / blogs / etc. available to help you get started and help solve the issues you get along the journey.

    However, building a "good" Test Automation Framework is not very easy. There are a lot of principles and practices you need to use, in the right context, with a good set of skills required to make the Test Automation Framework maintainable, scalable and reusable.

    Design Patterns play a big role in helping achieve this goal of building a good and robust framework. 

    In this talk, we will talk about, and see examples of various types of patterns you can use for:

    1. Build your Test Automation Framework
    2. Test Data Management
    3. Locators / IDs (for finding / interacting with elements in the browser / app)

    Using these patterns you will be able to build a good framework, that will help keep your tests running fast, and reliably in your CI / CD setup!

  • Liked Krishnan Nair
    keyboard_arrow_down

    A new way to prioritise your product backlog - funnel based product development

    Krishnan Nair
    Krishnan Nair
    Sneha Jain
    Sneha Jain
    schedule 1 year ago
    Sold Out!
    20 mins
    Talk
    Beginner

    You're starting up. You have brilliant ideas to implement. In-fact you have tons of brilliant features to build. And everyone has an opinion on what is priority and what will do well. How do you decide what to build? How can you not go with gut feel but have a well engineered prioritisation process that keeps your customer at the forefront? And at the same time keep the process light weight?

    This is the story of how we tackled this at our startup.

    Any product goes through a sales funnel - wide at the beginning and narrow towards the end. We saw a similar pattern for online B2C companies - someone lands on your site and they go through a funnel where at the end they make a purchase/finish a transaction. This talk is about how to apply a funnel based approach to prioritising featured for your product.

  • Liked Matteo Figus
    keyboard_arrow_down

    Components as Microservices in the Front-End World

    Matteo Figus
    Matteo Figus
    schedule 1 year ago
    Sold Out!
    90 mins
    Demonstration
    Intermediate

    Writing front-end code today is very challenging when you have to be resilient and robust in a big corporation. Working on a website that involves dozens of engineers based in three different continents, I learned that the complexity lies not only within the code itself. Allowing people to develop new features and deploy the code multiple times a day, keeping it up and running, is hard to achieve: we want small teams to be independent and not to interfere each other, in order to be quick and happy, but we also want to optimise cooperation when it is needed.

    In the front-end world components are very small units of code providing application functionality that are all connected in order to become a web-site.

    During this talk I’m going to speak about how we tried to approach to components at OpenTable. Following the SOA principles, we tried to elevate components as services, in order to make engineers able to create and consume them via clear and well-defined contracts and interfaces. This allowed us to put in place the infrastructure to optimise testing and to have hundreds of changes live every day without conflicts.

  • Liked Jez Humble
    keyboard_arrow_down

    Architecting for Continuous Delivery

    Jez Humble
    Jez Humble
    schedule 1 year ago
    Sold Out!
    45 mins
    Keynote
    Intermediate

    DevOps and Continuous Delivery represent a new paradigm for IT service delivery that promises higher quality and stability as well as faster time-to-market. However deploying this new paradigm requires changes to both organizational culture and architecture. In this talk, Jez will present the architectural principles and patterns that enable continuous delivery at internet scale, and discuss how to incrementally evolve existing systems in order to deploy them.

  • Liked Jutta Eckstein
    keyboard_arrow_down

    Increasing Productivity by Uncovering Costs of Delay

    Jutta Eckstein
    Jutta Eckstein
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Fred Brooks once stated so wisely "How does a project get to be a year late? … One day at a time." Lean Development and queuing theories offer help so that this won't happen. The suggested remedy is to implement a steady flow in order to achieve maximum productivity. However, most teams and organizations are far from reaching that goal and moreover it is often unclear which approach leads to what kind of delay. In-depth examination shows how generally accepted concepts such as Definition of Ready, Clean Code, or experts in a team can lead to costs of delay. In this session Jutta presents simple tools and methods for uncovering hidden costs of delay. These tools and methods can be applied in various contexts: In small and large teams as well as in co-located and distributed teams. Using an agile approach will help to make these cost visible.

  • Nicole Forsgren
    Nicole Forsgren
    schedule 1 year ago
    Sold Out!
    45 mins
    Keynote
    Beginner

    Sure, we have all thought that continuous delivery is important in software delivery... now we have data to back it up. Dr. Nicole Forsgren will present new research that shows the central role that CD plays in Agile and DevOps, the key processes that contribute to it, and how it can not only impact your IT teams and company success, but how it can also make your work feel better. This extends her prior research showing why investments in IT are now impacting teams and organizations, how we got here, and what’s next. The presentation includes the data to help you prove your case (to management or even yourself) about why CD and DevOps are essential to winning, as well as great stories and examples to really bring these concepts to life. Nicole invites all DevOps practitioners to build their teams up so they can lead high performing organizations, and think about what they can do to affect change beyond their teams and their organizations.

  • Raj Indugula
    Raj Indugula
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Beginner

    Ever solve a jigsaw puzzle?  Do you typically design and document all your pieces before assembling the puzzle or know anything about the kind of picture formed by the puzzle?  Hardly.  Usually, the specifics of the puzzle, as they emerge through the process of solving that puzzle, affect our tactics for solving it.  

    This analogy is at the heart of Exploratory Testing (ET) - a fun, focused and powerful approach to testing that has been gaining in popularity in recent years.  While not a new idea, it is often misconstrued as being a random, flailing at the keyboard approach to uncovering problems.  Not quite.  ET is a disciplined practice that involves simultaneously learning about the software under test while designing and executing tests, using feedback from the last test to design the next.  It leverages traditional test design analysis techniques and heuristics, but design and execution become a single inseparable activity.  Within the agile context, there is a need for agile teams to augment their scripted automated tests with a manual testing practice that is adaptable, and ET provides the right fit.

    In this session oriented towards beginning explorers, we will gain a deeper understanding of what ET is, what it isn't, and discuss the essential elements of the practice with practical tips and techniques for: learning the system under test and capturing our understanding to design tests; designing tests on the fly using heuristics; executing tests and observing results; and finally, integrating ET into the cadence of an agile process.

  • Liked Shane Hastie
    keyboard_arrow_down

    Interpreting the Unwritten Rules or are they Guidelines?

    Shane Hastie
    Shane Hastie
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    How many times has an innocent comment or statement resulted in unnecessary conflict and confusion in a team?  How unsettling is it when you make a suggestion which you think will improve some aspect of the work being undertaken and the reaction is explosive, almost violent - what did you say that was so wrong, how could you have been so badly misunderstood?

    Even in the most collaborative and communication intensive team there are lots of "rules" which people need to learn about how to work together. In distributed teams this gets magnified and intensified due to the myriad filters and layers of meaning we unwittingly apply to communication.

    In this talk Shane presents examples of how the most innocent of question or suggestion can send teams into a spin, and suggests a number of techniques to help create an environment where real communication can happen, irrespective is your team is co-located or distributed

  • Liked Howard Deiner
    keyboard_arrow_down

    How much unit testing is enough? Ask a Mutant Army to find out!

    Howard Deiner
    Howard Deiner
    schedule 1 year ago
    Sold Out!
    20 mins
    Demonstration
    Intermediate

    There's an old joke that goes something like this.  A tourist in New York City asks a resident how to get to a famous concert venue,  saying, "How do you get to Carnegie Hall?"  To which the resident replies, "Practice."  Aside from the slight difference in topic, this is almost the same as asking, "How do I get to high quality code that I can use Continuous Delivery on?"  You could easily say, "Practice."

    By this, what you mean is that you need to test early and often to ensure that you have high quality code.  Everyone knows that unit testing is a large part of that equation.  Managers (and others) have learned that you need to watch the code coverage metrics to see that you are testing every line of your code.  People feel comfortable that if you test all the code that you're never going to be blind-sided by a bug that you missed during development.  But, as most of us who have actually paid attention to code coverage know, that is misplaced comfort.

    That's because it's too easy to fall prey to one of two fallacies about code coverage.  First, it's too easy to game the metric, if you need to impress your management into complacency.  And second, it is a poor metric to judge quality by.  Unit testing is the answer for high quality code, but how much testing is enough?  There are qualitative metrics, such as you have enough unit tests when you don't have production problems, but that really begs the question.  There are static and dynamic code metrics that you can produce, but those also fall short of the goal.  However, there is one technique to use that goes a long way to answering the question unambiguously.  Mutation Testing.

    Mutation Testing assumes 100% code coverage.  It then takes your nice happy code and messes with it.  Negate a conditional.  The code now does something else.  Do your unit tests find that bug?  Good!  How about changing a conditional.  Oops.  The mutation survives, and the unit tests don't find it?  Bad!!

    This session describes the problem and one tool that can be used to fix it for good.  The tool is called PIT.  We look at the Java mututation tool called PIT.  We will see the results in a couple of small projects, and then see what it looks like in a not so small open source project.  We will see the role that mutation testing can have on quality,  and how we would use it in our build automation to get us further down the road to having successful deliveries all the time - not train wrecks at just the wrong time.

  • Liked Paul Stack
    keyboard_arrow_down

    The Quest for Infrastructure Management 2.0

    Paul Stack
    Paul Stack
    schedule 1 year ago
    Sold Out!
    90 mins
    Demonstration
    Intermediate
    The age old task of racking and stacking in a physical data centre is becoming more and more rare as more companies embrace the public cloud. Having the ability to chose between providers such as AWS, Azure, Digital Ocean and Google Cloud Platform makes creating infrastructure easy. It is better to spend time developing better services for our customers than managing infrastructure
     
    During this talk, Paul will demonstrate how building a scalable infrastructure on AWS becomes easy with Terraform. The talk will demonstrate how using configuration management, pre-baked AMIs and auto-scaling groups it gives the ability for developers to be able to launch their own infrastructure when needed. The demo’s will include the ability to launch instances, databases and manage user access
     
    By the end of the talk, Paul will have demonstrated that the creation of infrastructure now becomes part of the development lifecycle and that the old ways of system administration is fast moving to become infrastructure engineering. Paul will also demonstrate that the creation of new ‘environments’ are just a change of parameters in our infrastructure code
     
  • Liked Bridget Kromhout
    keyboard_arrow_down

    Containers will not fix your broken culture (and other hard truths)

    Bridget Kromhout
    Bridget Kromhout
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Containers will not fix your broken culture. Microservices won’t prevent your two-pizza teams from needing to have conversations with one another over that pizza. No amount of industrial-strength job scheduling makes your organization immune to Conway’s Law.

     

    Does this mean that devops has failed? Not in the slightest. It means that while the unscrupulous might try to sell us devops, we can’t buy it. We have to live it; change is a choice we make every day, through our actions of listening empathetically and acting compassionately.

     

    Making thoughtful decisions about tools and architecture can help. Containers prove to be a useful boundary object, and deconstructing systems to human-scale allows us to comprehend their complexity. We succeed when we share responsibility and have agency, when we move past learned helplessness to active listening. But there is no flowchart, no checklist, no shopping list of ticky boxes that will make everything better. “Anyone who says differently is selling something”, as The Princess Bride teaches us.


    Part rant, part devops therapy, this talk will explain in the nerdiest of terms why CAP theorem applies to human interactions too, how oral tradition is like never writing state to disk, and what we can do to avoid sadness as a service.

  • Kiruthika Samapathy
    Kiruthika Samapathy
    schedule 1 year ago
    Sold Out!
    90 mins
    Demonstration
    Intermediate

    No one has escaped the "Microservices" wave recently. As every architecture brings with it a lot of good practises, microservices brings success by helping us achieve a faster to market releases. Though the concept of "two-pizza" teams has been prevalent from early 2000’s, we now have many successful poster children to learn from. The success in this journey depends on infrastructure, automation, architecture and process elements. These includes good CI practises, different testing approaches, dynamic service registration & discovery, orchestration, logging and tracing. Though they are familiar, we all know that it is not as easy as it sounds, let us see what we need to consider from start to finish to make Microservices journey a real success in a 'show and tell' format.

    Sneak Peek of what to expect: A bit of many concepts with corresponding tools including CI, Microservices, Docker, Consumer Driven Contracts, Service discovery, Consul, Registator, Multihost deployments, Kibana, Elastic search, Prometheus

  • Jeff
    Jeff "Cheezy" Morgan
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Beginner

    It wasn't long ago that everybody thought "Continuous Deliver" was only for tech companies.  It is amazing how much things have changed over the past two years.  More and more enterprises are exploring what it will take to achieve Continuous Delivery and Continuous Deployment for their core customer facing applications.  The challenge for these companies is that many of the practices and processes they have put in place over the years stand in the way of achieving this goal. From rigorous engineering practices, to a very different view on product ownership, to organizational restructuring, to streamline the software development pipeline, Continuous Delivery .i.e. the ability to reliably release software at any time requires a significant shift in the mindset.

    Join Cheezy as points out several Continuous Deliver anti-patterns and how to avoid or eliminate these patterns within your organization in order to align your development value stream, operations, release management, and product owners.  If you want to know what it takes to achieve Continuous Deliver then this is one talk that you will not want to miss.

     

  • Liked Pratik Patel
    keyboard_arrow_down

    Continuous Integration for Web & JavaScript Projects

    Pratik Patel
    Pratik Patel
    schedule 1 year ago
    Sold Out!
    90 mins
    Workshop
    Intermediate

    Developers apply continuous integration practices for server-side projects, but are not consistent with this practice for Web and JavaScript projects. With the rise of Single Page Web Application style projects, doing continuous integration is even more necessary than before. In this workshop, we'll discuss software craftsmanship for Web/JavaScript projects, and gets hands-on with the tools needed to take a simple web project from ad-hoc builds to continuous integration.

    This session covers the basics of setting up a Web & JavaScript project for Continuous Integration. The goal is to apply the same engineering practices as for projects coded in Java. Topics covered:

    • Build tool for JS: Grunt
    • Integrating JSHint
    • Automated testing setup
    • Hooking into a CI tool like Travis
    • Other tools as part of a build process: Webpack, transpiliation

    This is a hands-on workshop! Basic knowledge of these technologies is required to have a successful workshop experience:

    * Basic command line

    * Basic JavaScript knowledge

    * Basic Web and CSS knowledge

    Attendees will be required to have their own laptop with the ability to install software (node.js, specifically).

Sorry, no proposals found under this section.