Background

A variety of branching strategies exist in the delivery universe as of date. Having worked with multiple of these, in my personal experience, I have explored the pains and gains that each of these strategies have to offer. While there are certain situations or delivery patterns that might make a certain strategy a better fit, in my experience, Trunk Based development usually is the most sane way of writing, maintaining and delivering production code.

Approach

Trunk Based development is a source-control branching model where developers push code ( of all possible features that are in development ) on to a single remote branch, referred to as the trunk. Developers at all costs try and resist the urge to create other long-lived development branches. This is important because developers, including myself, are mostly lazy. So if there is something that can ease their lives off today, they would rather do that knowing that they are up for a hard day in the future. This is mostly the paradigm of not developing on the trunk. Branching by features makes it easy for development teams in the shorter run. However a developer is well aware that he is going to stay up late in office the moment his project manager says that the code he has written on the trunk has to be released. What follows is merge hells, integration nightmares, bugs, angry developers and divorces.

Findings

In my career, I have worked with a bunch of branching strategies up and until now. While it is indeed easier in the shorter run to create feature or team-specific branches, it is almost always a painful and tedious job to bring things back into the master in order to release. Also in my opinion, other branching strategies defeat the entire purpose of Continuous integration since not ALL the code that is being written is being tested in unison.

 
 

Outline/Structure of the Talk

A rough outline of the talk -

  • Continuous Integration and Continuous Delivery - What and Why ?
  • Version Control Systems
  • What exactly is Trunk Based Development? Why all the fuss ?
  • Other branching strategies and the clichéd analogy of building a house
    • I intend to go a little deeper into a few branching strategies and explore their pains and gains
  • Some advantages of other branching strategies and how they can be attained by TBD as well
  • Other advantages that TBD provides ( no merge-hell, no integration nightmares, no angry developers )
  • Trunk Based Development Economics
  • Some success stories ( Google, Facebook having 25k+ developers pushing code on the trunk )

Learning Outcome

When it comes to the topic of Trunk Based Development, I see three sections of people -

1. Those who are too used to other branching strategies and consider the mere prospect of Trunk Based Development an overhead, something that would drastically slow down delivery or make it harder to deliver software.

2. Those who have worked with other branching strategies, and are well versed with the pain points that they have to offer. They can acknowledge the positives that Trunk Based development has to offer but might be shot down by their colleagues.

3. People who are actively using trunk based development, are well aware of its boons and banes.

This talk would address all three of the above-mentioned categories.

This talk would have something to take home for all the afore-mentioned three sections of people. For the folks who are too used to other branching strategies, I intend to give them an insight into how the things that they aspire can be achieved even while developing primarily on the trunk. For the second set of people, I intend to show how trunk based development is actually a means of delivering faster by not getting into merge hells and integration nightmares. Finally for the third section of folks, it would offer insights as to how their practiced branching strategy fares against the other strategies that are followed in the industry.

Target Audience

Everyone who is actively involved in delivering a project.

Prerequisites for Attendees

It would be good to have hands-on experience of delivering a project and some very high level knowledge of the branching mechanism that was in place. This would help the attendee relate better to the content and what advantages TBD has to offer.

schedule Submitted 4 years ago

  • Tathagat Varma
    keyboard_arrow_down

    Tathagat Varma - The impact of "Triple A: AI, Analytics and Automation" on the Future of Work

    Tathagat Varma
    Tathagat Varma
    Country Manager
    NerdWallet
    schedule 5 years ago
    Sold Out!
    30 Mins
    Keynote
    Intermediate

    Coming Soon!

  • Mahesh Lal
    keyboard_arrow_down

    Mahesh Lal - Hidup Tanpa Batas - Building products that are changing the economy

    Mahesh Lal
    Mahesh Lal
    Product Engineer
    GoJek
    schedule 4 years ago
    Sold Out!
    30 Mins
    Keynote
    Intermediate

    When I joined GoJek 2 years ago, I was given the title of Product Engineer. And my job description was one a one liner -- "Solve hard problems?"
    Ambiguous? Yes.

    What ensued was a hypergrowth story in Indonesia that is still interesting and growing.

    We have had multiple tech issues and yet we have an uptime of 99.99% Even in cases of downtime, we hardly lose transactions. We handle more food orders in a day than all food companies in India put together. We are the largest food delivery service anywhere in the world outside of China. Our teams are lean, with sizes typically one tenth of what most Indian product companies have. As a company with dev centres in Singapore, Bangalore and Jakarta; there are bound to be confusions, and challenges with language. Yet we constantly manage to overcome it. It is here that I truly saw that titles mean nothing.

    All this requires some constant work and re-evaluation. Some lean XP principles. In this talk, I want to share how we do what we do.

    What we are building is basically "Hidup Tanpa Batas" - A Life without Limits

  • Vishal Prasad
    Vishal Prasad
    General Manager
    Thoughtworks
    schedule 4 years ago
    Sold Out!
    30 Mins
    Keynote
    Intermediate

    "Why are you doing this to me?" - said the weeping Product Owner while shackled around the chains of a virtual conference where the hysteria of a development team built a mountain of expectations that crumpled on the shoulders of an individual who merely wished for happiness. Isn't this real?

    The intention of this talk is not to demean the profession of Product Ownership and I'm definitely not saying that killing them is a solution; in fact, the opposite. I wish to highlight the dysfunctions around this (cool) profession and make ourselves realise how development teams may hijack the Product Owner's responsibilities which may end up killing the credibility and the value chain driven by product ownership.

    This talk is based on this article: https://www.linkedin.com/pulse/killing-thy-product-owner-vishal-prasad

  • vinaya muralidharan
    vinaya muralidharan
    Agile Coach
    Fiserv
    schedule 5 years ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Product Owners and others responsible for creating and maintaining the Product Backlog often focus on functional items.

    With good engagement in the Backlog Management process from the Development Team and Architects, technical and architectural items also find their way into the Product Backlog.

    But what about the human-centric items related to accessibility, inclusivity, internationalization and sustainability?

    Through the talk and with the help of several supporting examples and a short exercise, I would like to highlight the importance of addressing these aspects in the Product Backlog. The examples will include examples of good and bad backlog items and design decisions.

    I will also share some tips on how Product Owners and supporting roles can work these aspects into the Backlog Management process. These will include some ideas from Design Thinking but will not be limited to that.

  • srinivas chillara
    keyboard_arrow_down

    srinivas chillara / Dan R Greening / Payal Dev - ScrumMaster Master Class

    90 Mins
    Workshop
    Advanced

    ScrumMaster who take their role seriously are beset with difficulties. As a process Owner and problem solver, the issues are many and systemic fixes needed. So what can/should they do? As with many other competencies, problem solving needs practice. Here we confront a fictitious case-study (based on two real projects) with help from India's first Scrum coach. As he takes you through the thicket of a complex situation (aren't all real situations complex, and not just "complicated"?) you will get a series of in-depth example SM situations. Further a moderated discussion on how to handle them. Some will be your own. This will be different from a Certified Advanced ScrumMaster class, this doesn't have much coaching content, but a strong problem solving slant.

    NOTE: Case study here is of a "cummulative" type, which allows drawing wider lessons based on familiar common experience. The situation is meant to illustrate common (and one or two not so common) problems and their treatment.

  • Nilesh Kulkarni
    keyboard_arrow_down

    Nilesh Kulkarni - How to get more out of your agile transformation journey.

    120 Mins
    Hands on Session
    Intermediate

    Many organizations are introducing agile transformation programs or maturing their existing programs. However overall business outcome of the transformation journey is not substantially high. While there could be many reasons for this, one of the major reason is focus on transformation of one small unit in entire organization - called product development. This session will help the attendees to understand what is business agility and how to rethink your enterprise agile transformation strategy for greater business outcomes.

  • Vishal Prasad
    keyboard_arrow_down

    Vishal Prasad - The Grand White Elephant One Day Project Kick-off

    Vishal Prasad
    Vishal Prasad
    General Manager
    Thoughtworks
    schedule 5 years ago
    Sold Out!
    45 Mins
    Talk
    Advanced

    One of the most widely used Scrum anti-patterns is the infamous Sprint Zero. This iteration is used by many teams across the globe as a period for homework activities before kicking off a project. Activities may typically include backlog refinement with the product owner, setting up development environments, reading deployment pipelines, applying logging frameworks, etc.

    It has been mentioned multiple times by the innovators of the Scrum Guide that it shouldn't take more than a day to begin a project, alas as the Scrum Guide mentions, Scrum is simple to understand, difficult to master; and the difficulty increases exponentially as we scale. So here's a workshop to master a one-day project kick-off using an extension of the white elephant exercise which I like to call - the Grand White Elephant for scaled teams.

  • Sharmila Patwardhan
    keyboard_arrow_down

    Sharmila Patwardhan - Entrepreneur mindset for Agile teams

    45 Mins
    Talk
    Intermediate

    While most of the agile teams struggle to have "ownership" from their team members, how can we establish Entrepreneur mindset and how will it really benefit the teams is the real question.

    This session is to explain what Entrepreneur mindset is and how it can help Agile teams

  • 45 Mins
    Case Study
    Intermediate

    Every organisation hopes / expects / demands high performance from their employees and teams. It's not very long ago when most effective organisations in the world had a ritual called yearly goal - setting. Many organisations still continue with this where the HR cascades a set of goals set by the organisation's leaders for their employees. This is usually followed by a quarterly to yearly review cycle which with most organisations are linked with incentives. In general terms, there ain't any flaw with this system; goal setting is an efficient way to continuously improve oneself. However, the execution of this process may be flawed and may lead to unoptimized results.

    With the advent of business agility, this focus shifted towards continuously learning & improving organisations. This meant that faster feedback was highly recommended for performance improvement and the idea of year-long goal setting seemed a talk of the yesteryears. Many organisations embraced this change by completely abolishing the yearly goal setting practice and instead relying on mentor relationships for an individual's performance improvement. This did improve relationships at the same time hindered transparency since the organisation goals were no longer directly accessed by every employee.

    When seen from the perspective of game theory, it's evident that optimum results are obtained when employees achieve goals which are highly beneficial to them at the same time aligned with the organisation's goals. With the former approach explained above, it's pretty clear that the employees in the first case were aware of the organisation's goals, even if the goals were not aligned with their personal goals. Whereas in the latter case, the lack of transparency meant that the individual's goals were highly focused and may not be in-line with the organisation's objectives.

    This is where Performance Kaizen aligns these two systems with a flavour of Management 3.0 in order to create an optimum setup where high performing individuals, teams, and organisations can thrive. In this session, we present a case study of this implementation at Springer Nature along with our results and learnings; followed by a brief hands-on exercise for the attendees.

  • Chandan Lal Patary
    keyboard_arrow_down

    Chandan Lal Patary - AGILE COACH AS A PSYCHOLOGIST OR BECOMING A PSYCHOLOGIST

    Chandan Lal Patary
    Chandan Lal Patary
    Agile Coach
    H&M
    schedule 5 years ago
    Sold Out!
    45 Mins
    Talk
    Advanced

    We are in business of building software with the people, by the people and for the people.

    We need to build expertise to know people, understand people (Consumer behavior).

    How? We as an agile coach, what skills we should have to acquire such level of mastery through which we can be effective in change management.

    Coaching, is meant to help “healthy” clients, but instead of helping them solve problems, coaching focuses on helping persons utilize their abilities more effectively than they have previously.

    In my journey of Agile coach role for last 7 years I have read most of the materials related to Psychology. If we read more about Psychology the resultant outcome is enormous. It is advantage for self-development and developing others also.

    I have been coaching from last 7 years, I have coached more than 200+ team members, I have interacted with more than 400 + agile coaches, and I have taken more 100 + hrs. of Agile training. All these experience inspiring me that more and more we are maturing, we are becoming a Psychologist. We are becoming life coach where team members comes to us and share their challenges, personal challenges, they are trusting us. Most of the time various psychological techniques helping coaches to connect with the team members at much deeper level.
    I will be happy to share various models and techniques which is working for me and they are proven and should be work for anyone. We will talk more about positive psychology and its effect on team coaching.

  • Mukta Aphale
    keyboard_arrow_down

    Mukta Aphale - The adverse impact of mind-set on CI/CD.

    Mukta Aphale
    Mukta Aphale
    VP Cloud, Devops
    Velotio
    schedule 4 years ago
    Sold Out!
    45 Mins
    Case Study
    Advanced

    CI/CD are crucial practices to adopt for agile delivery success. The effective usage of continuous integration is contingent upon the average programmers state of mind under pressure. Replication of build-server environment and bringing forward as many steps of error-checking (verification) as possible can lead to huge saving of re-work. Conversely a good CI set up introduced mid-stream in a project has the social side effect of diluting the power of the very CI facilities which can bring about benefits in terms of increased quality and quick delivery.

    In this talk the overall interplay between CI set up and the developer's mind-set is analysed. In-depth examples of SCA on Java/JavaScript code with alternate configurations to demonstrate the effect. We also touch upon Definition of Done for a wider context. We draw a handful of conclusions on how to configure SCA.

  • Dhiren
    keyboard_arrow_down

    Dhiren / Prachi Shah - Autonomics - Listen to your Machine - Achieve infrastructure agility

    45 Mins
    Talk
    Intermediate

    Automation is driving a radical shift in the delivery, infrastructure agility will improve predictability and achieve to reduce operational cost, enhance service levels, nowhere is this more apparent than in IT infrastructure management, where companies across industries are adopting various automation solutions

    Autonomic computing is a self-managing computing model named after, and patterned on, the human body's autonomic nervous system. An autonomic computing system would control the functioning of computer applications and systems without input from the user, in the same way that the autonomic nervous system regulates body systems without conscious input from the individual. The goal of autonomic computing is to create systems that run themselves, capable of high-level functioning while keeping the system's complexity invisible to the user.

    Large-scale systems, such as mega data centers, computer clouds, cyber-physical systems, Internet of Things, are becoming increasingly complex and burdensome for people to manage.

    The goal of autonomic computing is to create self-regulating, self-healing computer systems. If you’ve ever had to troubleshoot your own computer problems, you can imagine what time and energy could be saved if the computer could troubleshoot itself.

  • Vijay Wade
    keyboard_arrow_down

    Vijay Wade - Combinatorial Array based Testing : Agile Testing - Way to reduce your test set

    45 Mins
    Talk
    Intermediate

    Almost all products in this world are not entirely tested only because -

    • They can not wait for exhaustive tests to happen
    • They do not know how to get the 100 exhaustive test suits.

    Combinatorial Array is the new breakthrough in the Testing Algorithm. It reduces your test suit by 10 times or more. This Presentation will take you deep in to what Orthogonal Array based Testing is , its limitations, the solutions by CT.

    This is one way you can make your testing Agile and also makes your test coverage 100%

  • Shijo Paul
    keyboard_arrow_down

    Shijo Paul / Ashish Kumar / Manjunatha M S Rao - Creating Purposeful Scrum Teams via Awesome Backlog

    120 Mins
    Hands on Session
    Intermediate
    Scrum is a practical framework to build products, provided you identified in advance what to build. However, even after a successful product discovery phase, you may struggle to make the right thing in the right way if your product backlog is not up to the job. Garbage in, garbage out — as the saying goes.
    Managing the product backlog is a full-time and continuous evolution. In this session, we will share Simple techniques that can help change what can be an overwhelming, time-consuming process to an interactive, iterative process that effectively engages team members, customers, and stakeholders. It is essential, therefore, to learn solid techniques to help you build, prioritize, and maintain your product backlog.
  • Siddharth Kulkarni
    keyboard_arrow_down

    Siddharth Kulkarni - Dr Culture Shock - Or How I stopped worrying and embraced Org Culture

    45 Mins
    Talk
    Intermediate

    The org culture mantra is usually considered a silicon valley mumbo jumbo. Although many companies and teams rant about culture, very few in my opinion take it seriously. In this talk I would like to discuss the importance of Org culture and how it makes or breaks businesses and teams. I will lay out some key pointers that will help the influencers in the audience make decisions about their org or team culture. The talk will be in the context of culture in tech companies.

  • Dan R Greening
    Dan R Greening
    Managing Director
    Senex Rex
    schedule 4 years ago
    Sold Out!
    180 Mins
    Workshop
    Beginner

    Agile isn't just for software, it's for your thing, whatever that is. In my keynote talk, Agile for Everything, I introduced six fundamental patterns that comprise Agility. They apply not just to software, but to virtually any situation where rapid adaptation can improve success.

    In this workshop, I'll teach and coach you to apply those six principles to your thing. "Your thing" might be marketing, UX design, software, finance, hardware, business development, product management, your company, your family, your career, a classroom, your education, your kids' education, an art project, or building a house. Or it might be something else.

    You gain two ways attending this workshop: First, you will get coaching help in achieving "your thing," whatever that is. Second, you will gain an intuitive, visceral understanding of agility—its strengths and limitations, its nuances and quirks. That understanding will help you rapidly assess agile opportunities and dangers, and will help you teach and coach in more fruitful ways.

  • Rucha Ramchandra Kapare
    keyboard_arrow_down

    Rucha Ramchandra Kapare / Ankit - Manas Ayurved and Agility

    15 Mins
    Lightning Talk
    Intermediate

    Agile is not limited to our office or project work. This talk is on a small experiment we performed while we were helping my sister Dr. Dipti to plan, set up her Clinic. Starting with working on the rented space interiors to the Inauguration ceremony and pre and post marketing.

    With not much planning, Dipti jumped into execution looking at the numbers of days in a hand, which was 3 weeks then. Beginning with execution, 'A Classic mistake' and a sure 'Recipe to Failure' as we would term in the IT world. At the end of week 1, things were all over places and needless to say she was in a soup as she had invested good enough already and was working on a tight budget.

    Week 2 -Day 1, I was back in town from a Business trip, she tensed not able to sleep and me jet lagged, we started chatting, I could sense the feeling of misery in her voice and thought to myself why not try something new; after all, given the situation she was in there was nothing to lose. Thus it all began, an experiment of bring Agile concepts to set up 'Manas Ayurved' - Counseling and psychotherapy Clinic.

    We started with identifying high level themes like Interior decoration, Branding, Inauguration ceremony etc. Below each theme were identified the tasks which on completion would mark the task complete. Eg : For Branding as a theme the tasks were Getting quotations from graphic designers, Finalizing a designer, Designing a logo, Designing Branding material (Brochure, leaflets, visiting cards, etc), Printing the branded material and Stationery, Deciding on Modes of advertisement, etc

    Post all the tasks were identified, we assumed that we have only half the time of the original duration, i.e. we had 2 weeks for inauguration but we assumed it to be just one week. Now considering we just have one week in hand we only picked the bare minimum required to make a decent inauguration successful.

    Post identifying the bare minimum required, we created a countdown timeline from day 14 to day 1, with day 0 being the inauguration day, this time considering the original 2 weeks in hand.

    On this time all the bare minimum tasks were posted with the most important tasks starting day 14 in a decreasing priority towards day 1. The tasks which were ‘Nice to Have’ were accommodated in week 2 only after the bare minimum tasks in week 1 were over. This was to ensure we have the basic necessities in place before the delighters and even if we are not able to complete the last few days tasks we can still have a successful inauguration as we have all the required things in place

    Later the tasks were assigned to individuals and all of us met everyday post dinner to discuss the progress and impediments and strike of the completed tasks. A physical wall not only helped all of us to get an idea of what was remaining but it also gave us confidence and motivation to look at the remaining work and try and stick to the schedule.

    The inauguration is next week and this experiment is still work in progress, but it was a fun way to implement something in a planned way along with tracking it daily. The idea was such a hit among my family members that we now have a Kanban board in our Dining room which has a ‘To Do’, ‘In Progress’ and ‘Completed’ column with all our upcoming tasks like - charging inverter battery, Pest Control, Monthly grocery shopping, etc mentioned on this it. We have brought agile to our day to day lives… Would you like to try it too?

  • Atulya Krishna Mishra
    keyboard_arrow_down

    Atulya Krishna Mishra - Thinking Tester- Re-inventing the ‘Role’ and ‘Relation’

    45 Mins
    Talk
    Intermediate

    This talk is exploratory in nature. It's not mere theoretical in nature.It's my personal experience working as a Test Lead. In our world teams work under ambitious deadlines, in turbulent business environment , discovering what needs to be done and how to do it. All working styles and approaches differ significantly based on the circumstances.

    This session will help the attendees to understand the essense of Testing 'Role' and many 'Relations' affecting either this 'Role' or other.

    I'll take you to this journey through some of the great insights from , Vedas, Mimansa, Srimad Bhagwat Gita.

  • Sunil Mundra
    keyboard_arrow_down

    Sunil Mundra - The Elephant Can Dance

    45 Mins
    Case Study
    Beginner

    Agile Transformation Journeys are difficult, long and uncertain. They need patience, perseverance, conviction, commitment and an unwavering focus on outcomes. It is therefore not surprising that as of now there are few known instances of successful Agile Transformation. For organization which are intending to commence a Transformation and also those who are doing it, the lessons learned from successful and not so successful transformations should prove highly valuable.

    The speaker will showcase 2 contrasting case studies, one a failure and the other a success in agile transformation, to bring out the key variables that determine success or failure in Agile Transformation. The speaker will offer practical recommendations on enablers for successful Agile Transformation.

  • Ankita Mathur
    keyboard_arrow_down

    Ankita Mathur - Creating a successful product for the emerging IPTV platforms

    45 Mins
    Talk
    Intermediate

    Ever wondered how Netflix works? And what it takes to create a successful video streaming platform from scratch? How to create a full fledged product for the emerging IPTV platforms, create a brand value and earn as well.

    There are various aspects which we can touch, starting from the notion of creating such a product, how data is collected and streamed, how Machine Learning and Artificial Intelligence change the entire landscape, and how to measure.

    It will be a mix of technical aspects and business details, so to make everyone aware of a great opportunity that exists for developers and for companies!

help