location_city Bengaluru schedule Mar 10th 11:30 AM - 12:15 PM IST place Mysore Hall 2 people 18 Interested

By working with some of the most successful tech-product companies, I realised that code is NOT an asset, it's a liability. We should strive hard to minimise code. In 2011, when I started to hack on ConfEngine, I questioned my belief in TDD. I had also started playing around with APL style Array-Programming and Functional Programming. I felt, may be, I was getting a bit too dogmatic about TDD and automated tests in-general. As a thought experiment, I decided to build ConfEngine without ANY automated test. At first, it was really scary not to have the safety-net of automated test (something I took for granted for almost a decade.)

As I scaled ConfEngine without any automated tests, I had certain interesting realisations:

  • How to embrace Simplicity and Minimalism WITHOUT automated tests
  • Why Throwing Away Code frequently helps you achieve a better decoupled-design and how this helps in better experimentation
  • Fear of Refactoring WITHOUT Tests is over-rated (Good IDE and safe-refactoring techniques can take you a long way)

ConfEngine grew from a pet-project to a 8 member product team. It has over 60K users and has done financial transactions worth over half-million USD. And we continue to push forward without ANY automated tests. Its not perfect, but it has certainly helped me challenge my dogma around TDD.

Background: In 2001, I stumbled upon the Test Infected paper. For the next 2 years, I struggled to really apply the test-first concept on real projects. Finally in 2003, I felt that I had fully internalised TDD and was able to apply on almost all projects. Then I started playing around with FIT and FitNesse, using ATDD on some of the projects. In 2006 I published "Avatars of TDD" paper in which I explained various styles of TDD and its design implications. Until 2011, I was a very big advocate of TDD, ATDD and BDD. I still like those practices, however I would not recommend it in all projects.

 
 

Outline/Structure of the Experience Report

  • Context/Background - 5 mins
  • Programming WITHOUT Automated Tests - 5 mins
  • Functional Programming and APL Style Array Programming - 5 mins
  • Impact of this style of programming - 10 mins
  • Lessons learned - 10 mins
  • Drawbacks/Limitations of this approach  - 5 mins
  • Next Steps - 5 mins

Learning Outcome

  • How to embrace Simplicity and Minimalism WITHOUT automated tests
  • Why Throwing Away Code frequently helps you achieve a better decoupled-design and how this helps in better experimentation
  • Fear of Refactoring WITHOUT Tests is over-rated (Good IDE and safe-refactoring techniques can take you a long way)

Target Audience

TDD Practitioners, Programmers, Architects

schedule Submitted 6 years ago

  • Dave Thomas
    keyboard_arrow_down

    Dave Thomas - Value Driven Development - Maximum Impact, Maximum Speed

    Dave Thomas
    Dave Thomas
    Chief Scientist
    CSO Kx Systems
    schedule 6 years ago
    Sold Out!
    45 Mins
    Keynote
    Executive

    Agile, OOP... are like good hygiene in the kitchen, it results in meals with consistent quality and predictable prep and service times. It doesn't result in great meals nor substantially impact the ROI! Lean Thinking clearly shows that the only way to make a significant impact is to improve the value chain by improving flow. If everyone is following best practices no one has competitive advantage. Major improvements in the value chain depend on continued disruptive innovations. Innovations leverage people and their ideas. We use case studies to illustrate the different business and technical innovations and their impact. We conclude with a discussion of how to build and leverage an innovation culture versus a sprint death march when dealing with high value time to market projects.

  • Joshua Kerievsky
    keyboard_arrow_down

    Joshua Kerievsky - Modern Agile

    Joshua Kerievsky
    Joshua Kerievsky
    CEO
    Industrial Logic Inc.
    schedule 6 years ago
    Sold Out!
    45 Mins
    Keynote
    Executive

    Genuine agility is enormously effective in helping us achieve our dreams. The trouble is, Agile has grown into a complex tangle of roles and rituals, frameworks and tools, processes and certifications. We need a return to simplicity. Modern Agile is here to help.

    Designed for people in many domains (not just IT), Modern Agile is defined by four guiding principles:

    • Make People Awesome,
    • Make Safety a Prerequisite,
    • Experiment & Learn Rapidly and
    • Deliver Value Continuously.

    Understanding and deeply practicing these four principles will help you get better results faster.

    In this talk I’ll share how these four principles power world-famous companies and how they can help you work with greater speed, simplicity, safety and success.

  • Naresh Jain
    keyboard_arrow_down

    Naresh Jain - Rapid User Validation using MVP Hacks

    Naresh Jain
    Naresh Jain
    Founder
    Xnsio
    schedule 6 years ago
    Sold Out!
    105 Mins
    Workshop
    Intermediate

    You have a great idea and you want to build the product and launch it in market as soon as possible. Before anyone else can launch it. Great! But building the product takes time, money and opportunity cost. While building and launching a successful product, several things can go wrong:

    • Have you really understood the core problem from the user's point of view?
    • Will your users like the user experience?
    • Have you validated your core-loop which makes your product very engaging?
    • Is your business model flushed out and validated?
    • And so on...

    So how do you minimise these risks? 

    In this 90 mins workshop, you will run some real tests with real users to de-risk yourself and gain validated learning.

  • Fennande van der Meulen
    keyboard_arrow_down

    Fennande van der Meulen / Maartje Wolff - The Power of Purpose - workshop on How purpose drives employee happiness and company results

    90 Mins
    Workshop
    Beginner

    Having a clear purpose in both life and work is essential to happiness. And, science and business support this view. Companies with a clear purpose perform better than companies without. Purpose is increasingly seen as the key to navigate the volatile and complex world we live in. And, people with a purpose in their live longer and are healthier. However, finding your purpose, your personal and companies purpose, is not an easy task. In this workshop we discuss what purpose means and key elements of a sustainable and meaningful purpose. We elaborate the four steps to identify the company purpose and how to build your business around it.

  • Tathagat Varma
    keyboard_arrow_down

    Tathagat Varma - Design Thinking Vs. Lean Startup: Friends or Foes?

    Tathagat Varma
    Tathagat Varma
    Country Manager
    NerdWallet
    schedule 6 years ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    In recent years, two similar-sounding but distinct approaches to product discovery have emerged: Design Thinking and Lean Startup. Most of the literature and experience reports refer to one of them, with similar frequency, without really giving much guidance on when to use which one of these approaches. This creates a confusion whether one is using the right approach. While a method must not be used for the sake of using a method, it is important to understand why, if at all, a given approach is likely to be more effective in a given context.

    In this talk, I will compare and contrast these two approaches and address the following key questions:

    1. Why do we have two (or more) approaches to product discovery?
    2. What, if any, are the fundamental differences between these two approaches? 
    3. How can I decide which approach is likely to work better in a given situation?

    The talk will focus on contemporary literature, expert guidance, industry data points, and author's own experiences, and will provide action guidance for the practitioners to apply in their daily work. 

  • 45 Mins
    Talk
    Intermediate

    As we reflect back on our numerous struggles with making Agile Teams more efficient and operate like well-oiled machines, we are often overwhelmed with wondering how we didn’t learn the lessons faster or earlier.  Life is too short to learn from just our own mistakes – we have to learn from others’ mistakes as well.

    In this session, Dipesh will be drawing upon more than a decade of Agile experiences in multiple organizations across nine countries to share stories and challenges of transitioning into an Agile Leader, while also focusing on what we in the Agile community are struggling with most.

    There has been a lot written about techniques for creating great Agile teams.  Dipesh will take these theories a bit further, and look into how Leaders can build great teams, not by using a new method or management style, but rather by understanding their own Agile team dynamics and behaviour.  

    You will learn about the assumptions and challenges surrounding self-organizing Agile teams and how to build a stronger team of Servant Leaders.

    If you are a leader or an aspiring leader of an Agile team, this session will provide clear implications for where to focus your efforts so that you do not worry about the wrong things. You will be inspired by knowing how to establish trust within the teams that is required to embrace uncertainty and ambiguity while confidently making better decisions.

  • Bas Vodde
    Bas Vodde
    Consultant, Speaker, Trainer
    Odd-e
    schedule 6 years ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    This talk is based on story-telling, where Bas will share the creation of LeSS and within that side-track on explaining better how LeSS works.

    LeSS is a lightweight (agile) framework for scaling Scrum to more than one team. It was extracted out of the experiences of Bas Vodde and Craig Larman while Scaling Agile development in many different types of companies, products and industries over the last ten years. There are several case studies available and an upcoming book describing LeSS in detail.

    LeSS consists of the LeSS Principles, the Framework, the Guides and a set of experiments. The LeSS framework is divided into two frameworks: basic LeSS for 2-8 teams and LeSS Huge for 8+ teams. All of these are also available on the less.works website.

    LeSS is different with other scaling frameworks in the sense that it provides a very minimalistic framework that enables empiricism on a large-scale which enables the teams and organization to inspect-adapt their implementation based on their experiences and context. LeSS is based on the idea that providing too much rules, roles, artifacts and asking the organization to tailor it down is a fundamentally flawed approach and instead scaling frameworks should be minimalistic and allowing organizations to fill them in.

  • Jez Humble
    Jez Humble
    Technology Advocate
    Google LLC
    schedule 6 years ago
    Sold Out!
    480 Mins
    Workshop
    Intermediate

    Getting software released to users is often a painful, risky, and time-consuming process. The practice of continuous delivery sets out the principles and technical practices that enable rapid, low-risk delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers and IT operations, teams can get changes released in a matter of hours—sometimes even minutes—no matter what the size of the product or the complexity of the enterprise environment.

    In this workshop, Jez Humble presents an in-depth guide to the principles and practices behind continuous delivery and the DevOps movement, along with case studies from real companies and ideas to help you adopt continuous delivery and DevOps within your organization. You’ll start by learning the value proposition and the foundations that enable continuous delivery, followed by an introduction to the pattern at the heart of continuous delivery–the deployment pipeline. The training then dives into the key development practices of continuous integration and comprehensive test automation. These lessons cover change management, agile infrastructure management, managing databases, architecture, and the patterns that enable low-risk releases. They conclude by discussing the culture and organizational change patterns of high performing companies. After taking this training, you will understand not just the principles and practices that enable continuous delivery and devops, but also how they are implemented in high performing organizations. With this knowledge you’ll be ready to transform your organization’s software delivery capability to get high quality solutions to market fast, while reducing the risk of the release process.

  • Naresh Jain
    keyboard_arrow_down

    Naresh Jain / Bas Vodde / Chris James / Jez Humble / Jutta Eckstein / Kurt Bittner / Scott Ambler - Agile Scaling Frameworks and their Eco-System - Boon or Bane?

    45 Mins
    Panel
    Intermediate

    Over the last few years, as agile has gained traction inside the enterprises, we've seen many scaling frameworks have sprung up. These scaling frameworks claim to retain the core agile values & principles and aim to provide a simple yet comprehensive way to scale agility across the organisation. There have been several success case-studies that have been published. We also hear and see many horror stories of failed scaling attempts. 

    In this panel, let's have a critical view of the entire scaling framework eco-system.

  • Scott Ambler
    keyboard_arrow_down

    Scott Ambler - The Disciplined Agile Enterprise: Harmonizing Agile and Lean

    90 Mins
    Talk
    Advanced

    An agile enterprise increases value through effective execution and delivery in a timely and reactive manner. Such organizations do this by streamlining the flow of information, ideas, decision making, and work throughout the overall business process all the while improving the quality of the process and business outcomes.   This talk describes, step-by-step, how to evolve from today’s vision of agile software development to a truly disciplined agile enterprise. It argues for the need for a more disciplined approach to agile delivery that provides a solid foundation from which to scale. It then explores what it means to scale disciplined agile strategies tactically at the project/product level and strategically across your IT organization as a whole. Your disciplined agile IT strategy, along with a lean business strategy, are key enablers of a full-fledged disciplined agile enterprise. 

  • Julian
    keyboard_arrow_down

    Julian - The Gamification of the on-boarding and Engaging People

    45 Mins
    Case Study
    Advanced
    According to Glassdoor.com that counts over 18 million users per month (15 millions are in USA) one new employee out of 6 quits his new job in the first 3 months. 1/3 of employees quit their job within the first 6 months. Out of this 1/3, 1 in 3 cited insufficient on-boarding services. Nearly 1/4 said that a properly managed on-boarding process would have helped persuade them to stay in their positions. Considering the average recruitment costs (the Head Hunter, the total hours dedicated to the candidates’ screening, the interviews, the tests, the final interview, the stress of the Team waiting for the new colleague or boss…), why are companies not paying attention to this very crucial moment in people’s careers? It is like going to a travel agency, book the trip of your dreams, the travel agent has promised you to send you to the most beautiful resort ever and when you land, the guy forgot to tell you it is rain season…
    Maybe we can offer a better plan after all.
     
    Learn how Etix Everywhere solved the issue of a high pace recruiting, correct on boarding and quick integration and engagement of new comers.
  • Naresh Jain
    Naresh Jain
    Founder
    Xnsio
    schedule 6 years ago
    Sold Out!
    480 Mins
    Tutorial
    Beginner

    As developers, we often shy away from making changes to existing (legacy) code base due to the fear of breaking existing functionality. While we've enough industry wisdom on how to refactor large monolithic applications, its usually hard to find team members, who can champion the cause. For many folks, refactoring code without having automated tests can be scary. And quite often, it ends up being an egg-and-chicken problem, .i.e. to write tests one needs to refactor the code. But to refactor the code, we first need tests. Even if we break the egg-and-chicken problem, where do we start and how do we visualise the progress, becomes a big challenge.

    This hands-on workshop will equip you with the necessary tools, technique and skills to confront legacy code. It teaches you how to use various safe-refactoring strategies, while breaking dependencies and writing first few scaffolding tests to guide your excavation. These techniques are very useful to get existing code safely under test for refactoring. You will also learn how to use these techniques in conjunction with TDD to breathe new life into large existing code bases.

help