"Release Early, Release Often" is a proven mantra, but what happens when you push this practice to it's limits? .i.e. deploying latest code changes to the production servers every time a developer checks-in code.
At Industrial Logic, developers are deploying code dozens of times a day, rapidly responding to their customers and reducing their "code inventory".
In this talk I explained the approach, deployment architecture, tools and culture needed for CD and how at Industrial Logic, we have gradually got there.
You can walk away with some good ideas of how your company can practice CD too.
ATDD - Acceptance Test Driven DevelopmentNaresh Jain
Acceptance test driven development tutorial. This tutorial explains how to take user stories and convert them into working software. Details about Acceptance Criteria and Acceptance tests using FitNesse and FitLibrary are described in this presentation. Also Patterns and Anti-Patterns associated with this are described in this presentation.
This is supposed to be an introductory presentation on Agile.
In this presentation I give some examples of heavy weight methods and their implications on your project. Then I give a quick overview of Agile methods, the rationale behind it, its origin, its values and principles. I move on to describe that what I see happening today in the industry is really waterfall in the name of Agile. I give some reasons why this is happening and then I give some pointers to move away from this flawed thinking.
Bottom line, Agile is not a Silver Bullet and don't fall pray to marketing gimmicks. Question dogmatic claims. Adapt Agile to your needs and take baby steps.
Naresh and Shyam's experience report how teams and their interactions evolved at various large enterprise thru their agile transition in the last 5-6 years.
ATDD - Acceptance Test Driven DevelopmentNaresh Jain
Acceptance test driven development tutorial. This tutorial explains how to take user stories and convert them into working software. Details about Acceptance Criteria and Acceptance tests using FitNesse and FitLibrary are described in this presentation. Also Patterns and Anti-Patterns associated with this are described in this presentation.
This is supposed to be an introductory presentation on Agile.
In this presentation I give some examples of heavy weight methods and their implications on your project. Then I give a quick overview of Agile methods, the rationale behind it, its origin, its values and principles. I move on to describe that what I see happening today in the industry is really waterfall in the name of Agile. I give some reasons why this is happening and then I give some pointers to move away from this flawed thinking.
Bottom line, Agile is not a Silver Bullet and don't fall pray to marketing gimmicks. Question dogmatic claims. Adapt Agile to your needs and take baby steps.
Naresh and Shyam's experience report how teams and their interactions evolved at various large enterprise thru their agile transition in the last 5-6 years.
You've heard about limiting WIP (Work-In-Progress) but how good are you at limiting red time? Red time is when you have compilation errors and/or failing tests. A growing group of practitioners have learned how to effectively reduce red time while test-driving and refactoring code. To understand how to limit red time, it helps to visualize it.
In this talk, Naresh Jain demonstrates various strategies to limit your time in Red. He analyzes live programming sessions using graphs that clearly visualize red time. You'll learn what programming processes help or hurt our ability to limit red time and you'll gain an appreciation for the visual cues that can help make you a better programmer and fellow member of the Limited Red Society.
The objectives of this workshop are the following:
Use two 45 min activities to simulate the software development cycle. One will make use of a Waterfall approach, while the other will make use of an Agile approach to help participants experience the different outcomes of each methodology.
Introduce Agile as an adaptive, intuitive learning experience while cautioning participants that it is not a silver bullet. (People OVER Process.)
Demonstrate and emphasize the importance of communication and feedback on software projects. (Collaboration OVER Throw-It-Over-The-Wall.)
Assign participants to different roles that exist within a development team to help them look at software development from different perspectives and gain better understanding of and respect for team work.
Intent of this tutorial is to provide the participants with a hands-on-experience of real world refactoring by taking an open source project and refactoring it.
Benefits
After attending this session, the participants should be able to:
Build a common vocabulary in the refactoring space
Identify code smells
Eliminate code smells by applying the simple refactoring techniques explained in Martin Fowler‘s “Refactoring”
Write better unit/functional tests for legacy code
Understand some of the techniques and pitfalls in refactoring legacy code in the absence of unit and functional tests [”Working effectively with legacy code “]
Take existing code and refactor it to standard design patterns [Refactoring to patterns]
Learn about the internals of the open source project chosen to refactor
Know where to look to continue learning the techniques of refactoring
"Before you write any code, make sure you have a failing test." This was a revolutionary idea, when it was first pitched in the late 90’s. Many successful entrepreneurs have been practicing a similar approach – "Before you build a product/service, make sure you have paying customers." In this talk, Naresh Jain shares his approach of finding effective MVPs to validate his Educational Product. Recently Naresh's article title "Sell before you build" was published by InfoQ http://www.infoq.com/articles/sell-before-you-build
Value Driven Development by Dave Thomas Naresh Jain
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.
More details: https://confengine.com/agile-india-2017/proposal/3608/value-driven-development-maximum-impact-maximum-speed
Agile India 2017 Conference is Asia's Largest and Premier Conference on Agile, Scrum, eXtreme Programming, Lean, Kanban, DevOps, Enterprise Agile, Lean Startup, Continuous Delivery, Research and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 6 - 12 March 2017 at ITC Gardenia, Bangalore. More details: http://2017.agileindia.org
Towards FutureOps: Stable, Repeatable environments from Dev to ProdNaresh Jain
Modern human history is a story of humans inventing new tools to do more with less. "Doing more" has allowed most of us to no longer worry about producing our own food, collecting water, planning long journeys, etc. Instead, we’re able to specialize, buy what we need for less, and to some extent explore ourselves a lot more.
We're far from done, and of course humanity is far from perfect. In this talk, Mitchell Hashimoto discusses the role that automations and computers play in building a brighter future.
More details: https://confengine.com/agile-india-2017/proposal/3618/towards-futureops-stable-repeatable-environments-from-dev-to-prod
A challenging presentation about Scrumban as an evolution from Scrum. Rethink your way of working (Iterations?, Estimations? Joy?) and initiate changes to your current working environment.
Problem Solving Techniques For Evolutionary DesignNaresh Jain
In this workshop, Naresh Jain explains what are the core techniques one should master to effectively practice evolutionary design while solving real-world problems. To summarize:
1. Eliminate Noise - Distill down the crux of the problem
2. Divide and Conquer to prioritize and focus on the most important part
3. Add constraints to future simplify the problem
4. Come up with a simple design to incrementally build your solution
5. Refactor: Pause, look for a much simpler alternative
6. Be ready to throw away your solution & start again
Agile India 2019 Conference Welcome NoteNaresh Jain
We are super excited to announce the 15th edition of Agile India 2019, Asia's Largest and Premier International conference on Leading Edge Software Development Methods. Agile India is hosted by Agile Alliance and organized by Agile Software Community of India, a non-profit registered society founded in 2004 with a vision to evangelize new, better ways of building products & services that delight the users.
Over the last 15 years, we've organized 57 conferences across 13 cities in India. We've hosted 1,000+ speakers from 38 countries, who have delivered 1,200+ sessions to 10,000+ attendees. We continue to be a non-profit, volunteer-run community conference.
Agenda
* Agile Coach Camp - March 17th
* Pre-Conference Workshops – March 18th
* Conference Days
** Agile Mindset Day - March 19th
** Business Agility Day - March 20th
** Design Innovation Day - March 21st
** Continuous Delivery and DevOps Day - March 22nd
* Post-Conference Workshops – March 23rd and 24th
More details: https://2019.agileindia.org
A resilient organizational can not only adapt and respond to incremental change but more importantly, can respond to sudden disruptions and also, be the source of disruption in order to prosper and flourish.
The traditional risk management approach focuses too much on defensive (stopping bad things happen) thinking versus a more progressive (making good things happen) thinking. Being defensive requires consistency across the organization and this is where methodologies like Plan-Do-Check-Act (PDCA) come in. However, PDCA approach does not bake in the required progressive thinking and flexibility required for a fast company organization which operates in a volatile environment.
Professor David Denyer of Cranfield University has recently published a very interesting research report on Organizational Resilience. He has identified the following four quadrants across to help us think about organizational resilience:
* preventative control (defensive consistency)
* mindful action (defensive flexibility)
* performance optimization (progressive consistency)
* adaptive innovation (progressive flexibility)
In this talk, I'll share my personal experience of using this thinking to help an organization to scale their product to Millions of users. I've dive deep into how we structured our organization for Structural Agility and how we set-up a very lightweight governance model using OKRs to drive the necessary flexible and progressive thinking.
More details: https://confengine.com/agile-india-2019/proposal/8216/organisational-resilience-design-your-organisation-to-flourish-not-merely-survive
Conference Link: https://2019.agileindia.org
Looking to move to Continuous Delivery? Worried about the quality of your the code? Helping your developers understand clean-code practices and getting the right testing strategy in place can take a while. What should you do to control the quality of the incoming code till then? This talk shares our experience of using PRRiskAdvisor to gradually educate and influence developers to write better code and also help the code reviewer to be more effective at their reviews.
Every time a developer raises a pull-request, PRRiskAdvisor analyzes the files that were changed and publishes a report on the pull request itself with the overall risk associated with this pull request and also risk associated with each file. It also runs static code analysis using SonarQube and publishes the configured violations as comments on the pull request. This way the reviewer just has to look at the pull request to get a decent idea of what it means to review this pull request. If there are too many violations, then PRRiskAdvisor can also automatically reject the pull request.
By doing this, we saw our developers starting paying more attention to clean code practices and hence the overall quality of the incoming code improved, while we worked on putting the right engineering practices and testing strategy in place.
More details: https://confengine.com/last-conference-canberra-2018/proposal/7294/improving-the-quality-of-incoming-code
Conference Link: https://2019.agileindia.org
You've heard about limiting WIP (Work-In-Progress) but how good are you at limiting red time? Red time is when you have compilation errors and/or failing tests. A growing group of practitioners have learned how to effectively reduce red time while test-driving and refactoring code. To understand how to limit red time, it helps to visualize it.
In this talk, Naresh Jain demonstrates various strategies to limit your time in Red. He analyzes live programming sessions using graphs that clearly visualize red time. You'll learn what programming processes help or hurt our ability to limit red time and you'll gain an appreciation for the visual cues that can help make you a better programmer and fellow member of the Limited Red Society.
The objectives of this workshop are the following:
Use two 45 min activities to simulate the software development cycle. One will make use of a Waterfall approach, while the other will make use of an Agile approach to help participants experience the different outcomes of each methodology.
Introduce Agile as an adaptive, intuitive learning experience while cautioning participants that it is not a silver bullet. (People OVER Process.)
Demonstrate and emphasize the importance of communication and feedback on software projects. (Collaboration OVER Throw-It-Over-The-Wall.)
Assign participants to different roles that exist within a development team to help them look at software development from different perspectives and gain better understanding of and respect for team work.
Intent of this tutorial is to provide the participants with a hands-on-experience of real world refactoring by taking an open source project and refactoring it.
Benefits
After attending this session, the participants should be able to:
Build a common vocabulary in the refactoring space
Identify code smells
Eliminate code smells by applying the simple refactoring techniques explained in Martin Fowler‘s “Refactoring”
Write better unit/functional tests for legacy code
Understand some of the techniques and pitfalls in refactoring legacy code in the absence of unit and functional tests [”Working effectively with legacy code “]
Take existing code and refactor it to standard design patterns [Refactoring to patterns]
Learn about the internals of the open source project chosen to refactor
Know where to look to continue learning the techniques of refactoring
"Before you write any code, make sure you have a failing test." This was a revolutionary idea, when it was first pitched in the late 90’s. Many successful entrepreneurs have been practicing a similar approach – "Before you build a product/service, make sure you have paying customers." In this talk, Naresh Jain shares his approach of finding effective MVPs to validate his Educational Product. Recently Naresh's article title "Sell before you build" was published by InfoQ http://www.infoq.com/articles/sell-before-you-build
Value Driven Development by Dave Thomas Naresh Jain
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.
More details: https://confengine.com/agile-india-2017/proposal/3608/value-driven-development-maximum-impact-maximum-speed
Agile India 2017 Conference is Asia's Largest and Premier Conference on Agile, Scrum, eXtreme Programming, Lean, Kanban, DevOps, Enterprise Agile, Lean Startup, Continuous Delivery, Research and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 6 - 12 March 2017 at ITC Gardenia, Bangalore. More details: http://2017.agileindia.org
Towards FutureOps: Stable, Repeatable environments from Dev to ProdNaresh Jain
Modern human history is a story of humans inventing new tools to do more with less. "Doing more" has allowed most of us to no longer worry about producing our own food, collecting water, planning long journeys, etc. Instead, we’re able to specialize, buy what we need for less, and to some extent explore ourselves a lot more.
We're far from done, and of course humanity is far from perfect. In this talk, Mitchell Hashimoto discusses the role that automations and computers play in building a brighter future.
More details: https://confengine.com/agile-india-2017/proposal/3618/towards-futureops-stable-repeatable-environments-from-dev-to-prod
A challenging presentation about Scrumban as an evolution from Scrum. Rethink your way of working (Iterations?, Estimations? Joy?) and initiate changes to your current working environment.
Problem Solving Techniques For Evolutionary DesignNaresh Jain
In this workshop, Naresh Jain explains what are the core techniques one should master to effectively practice evolutionary design while solving real-world problems. To summarize:
1. Eliminate Noise - Distill down the crux of the problem
2. Divide and Conquer to prioritize and focus on the most important part
3. Add constraints to future simplify the problem
4. Come up with a simple design to incrementally build your solution
5. Refactor: Pause, look for a much simpler alternative
6. Be ready to throw away your solution & start again
Agile India 2019 Conference Welcome NoteNaresh Jain
We are super excited to announce the 15th edition of Agile India 2019, Asia's Largest and Premier International conference on Leading Edge Software Development Methods. Agile India is hosted by Agile Alliance and organized by Agile Software Community of India, a non-profit registered society founded in 2004 with a vision to evangelize new, better ways of building products & services that delight the users.
Over the last 15 years, we've organized 57 conferences across 13 cities in India. We've hosted 1,000+ speakers from 38 countries, who have delivered 1,200+ sessions to 10,000+ attendees. We continue to be a non-profit, volunteer-run community conference.
Agenda
* Agile Coach Camp - March 17th
* Pre-Conference Workshops – March 18th
* Conference Days
** Agile Mindset Day - March 19th
** Business Agility Day - March 20th
** Design Innovation Day - March 21st
** Continuous Delivery and DevOps Day - March 22nd
* Post-Conference Workshops – March 23rd and 24th
More details: https://2019.agileindia.org
A resilient organizational can not only adapt and respond to incremental change but more importantly, can respond to sudden disruptions and also, be the source of disruption in order to prosper and flourish.
The traditional risk management approach focuses too much on defensive (stopping bad things happen) thinking versus a more progressive (making good things happen) thinking. Being defensive requires consistency across the organization and this is where methodologies like Plan-Do-Check-Act (PDCA) come in. However, PDCA approach does not bake in the required progressive thinking and flexibility required for a fast company organization which operates in a volatile environment.
Professor David Denyer of Cranfield University has recently published a very interesting research report on Organizational Resilience. He has identified the following four quadrants across to help us think about organizational resilience:
* preventative control (defensive consistency)
* mindful action (defensive flexibility)
* performance optimization (progressive consistency)
* adaptive innovation (progressive flexibility)
In this talk, I'll share my personal experience of using this thinking to help an organization to scale their product to Millions of users. I've dive deep into how we structured our organization for Structural Agility and how we set-up a very lightweight governance model using OKRs to drive the necessary flexible and progressive thinking.
More details: https://confengine.com/agile-india-2019/proposal/8216/organisational-resilience-design-your-organisation-to-flourish-not-merely-survive
Conference Link: https://2019.agileindia.org
Looking to move to Continuous Delivery? Worried about the quality of your the code? Helping your developers understand clean-code practices and getting the right testing strategy in place can take a while. What should you do to control the quality of the incoming code till then? This talk shares our experience of using PRRiskAdvisor to gradually educate and influence developers to write better code and also help the code reviewer to be more effective at their reviews.
Every time a developer raises a pull-request, PRRiskAdvisor analyzes the files that were changed and publishes a report on the pull request itself with the overall risk associated with this pull request and also risk associated with each file. It also runs static code analysis using SonarQube and publishes the configured violations as comments on the pull request. This way the reviewer just has to look at the pull request to get a decent idea of what it means to review this pull request. If there are too many violations, then PRRiskAdvisor can also automatically reject the pull request.
By doing this, we saw our developers starting paying more attention to clean code practices and hence the overall quality of the incoming code improved, while we worked on putting the right engineering practices and testing strategy in place.
More details: https://confengine.com/last-conference-canberra-2018/proposal/7294/improving-the-quality-of-incoming-code
Conference Link: https://2019.agileindia.org
Here is a quick summary of Agile India 2018 Conference, Asia's Largest and Premier Conference on Business Agility, Design Innovation, Digital Transformation, Continuous Delivery, DevOps, Agile, Scrum, eXtreme Programming, Lean, Kanban, Enterprise Agile, Lean Startup, Research, and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 4 - 11 March 2018 at Taj West End, Bangalore. More details: https://2018.agileindia.org
We are very excited to announce the 14th edition of Agile India Conference (https://2018.agileindia.org/) with brand new themes and a fabulous lineup of speakers. Agile India is Asia's Largest & Premier International conference on Leading Edge Software Development Methods.
Meet:
* Alan Cooper - The Father of Visual Basic, Creator of Goal-directed Design methodology and inventor of the Persona concept
* Steve Denning - Author of several books on Management, Leadership, Innovation and Organizational Storytelling
* Linda Rising - Author of four books, most recently the Fearless Change
* Gregor Hohpe - Author of Enterprise Integration Patterns. Technical Director at Google Cloud Computing
* James Stewart - Co-founder of the Government Digital Service and x-Deputy CTO of the UK Government
* Bjarte Bogsnes - Author of Implementing Beyond Budgeting, Chairman of Beyond Budgeting Roundtable and Senior Advisor Performance Framework at Statoil
* Dr. Denis Bauer - Team Leader and Research Scientist in Cloud Computing in Transformational Bioinformatics at CSIRO
* Jeff Patton - Author of User Story Mapping and the person responsible for bringing user-centered design thinking to Agile world
* Peter Jacobs - Chief Information Officer and board member of ING Bank Netherlands
* Nils Kappeyne - VP & CIO for Integrated Gas & New Energies at Shell
* And 70 more thought leaders from 16 countries - https://2018.agileindia.org/speakers/
The program spreads across 8 days (March 4-11th 2018, Bengaluru) with two pre-conference plus two post-conference workshop days and four days of conferences in between:
* March 4-5th: Pre-Conference Workshops from our international experts
* March 6th: Business Agility Day - Hosted by Agile Alliance
* March 7th: Design Innovation Day - Hosted by Cooper
* March 8th: Digital Transformation Day
* March 9th: DevOps and Continuous Delivery Day - Hosted by Red Hat
* March 10-11th: Post-Conference Workshops from our international experts
Schedule
========
Check out conference schedule for the lineup of workshops and speakers. https://confengine.com/agile-india-2018/schedule
Tickets
=======
Conference registration is now open and Smart Price offers are going away soon. Register now for best deals!! https://confengine.com/agile-india-2018/register
Check out the exciting offers for bulk registrations - https://2018.agileindia.org/agile-india-2018-bulk-booking-offers/.
Sponsors
========
We thank Agile Alliance, Cooper, RedHat, Scrum.org, Shell, AddTeq/Atlassian, Scaled Agile, ICAgile and Scrum Alliance for sponsoring the conference. If your organization wants to support this non-profit, volunteer-run conference, please check out sponsorship options https://confengine.com/agile-india-2018/sponsor#guide
Agile India 2018 Conference is Asia's Largest and Premier Conference on Business Agility, Design Innovation, Digital Transformation, Continuous Delivery, DevOps, Agile, Scrum, eXtreme Programming, Lean, Kanban, Enterprise Agile, Lean Startup, Research, and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 4 - 11 March 2018 at Taj West End, Bangalore. More details: https://2018.agileindia.org
Agile India 2018 Conference is Asia's Largest and Premier Conference on Business Agility, Design Innovation, Digital Transformation, Continuous Delivery, DevOps, Agile, Scrum, eXtreme Programming, Lean, Kanban, Enterprise Agile, Lean Startup, Research, and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 4 - 11 March 2018 at Taj West End, Bangalore. More details: https://2018.agileindia.org
Pilgrim's Progress to the Promised Land by Robert VirdingNaresh Jain
When migrating to Elixir/OTP from other languages and systems a number of issues will always crop up. The trick is to make sure that these issues don't become problems. This talk will look at some of the more common ones and what to do about them to make sure they don't become problems.
More details: https://confengine.com/functional-conf-2017/proposal/5138/pilgrims-progress-to-the-promised-land
Conference: https://functionalconf.com
Concurrent languages are Functional by Francesco CesariniNaresh Jain
The functional paradigm has been influencing mainstream languages for decades, making developers more efficient whilst helping reduce software maintenance costs. As we are faced with a programming model that needs to scale on multi-core architectures, concurrency becomes critical. In these concurrency models, the functional programming paradigm will become even more evident. To quote Simon Peyton Jones, future concurrent languages will be functional; they might not be called functional, but the features will be.
Using his 20 years of programming and teaching Erlang/OTP, Francesco will walk through the functional programming features that make implementations of the actor model viable in the Erlang ecosystem. These are features we might take for granted or do not think about, but have laid the foundation of multi-core and distributed programming, influencing programming languages, old and new.
More details: https://confengine.com/functional-conf-2017/proposal/4774/concurrent-languages-are-functional
Erlang from behing the trenches by Francesco CesariniNaresh Jain
Erlang is a programming language designed for the Internet Age, although it pre-dates the Web. It is a language designed for multi-core computers, although it pre-dates them too. It is a “beacon language”, to quote Haskell guru Simon Peyton-Jones, in that it more clearly than any other language demonstrates the benefits of concurrency-oriented programming. In this talk, I will introduce Erlang from behind the trenches. By introducing the major language constructs, describe their benefits and discuss the problems Erlang is ideal to solve. I will be doing so from a personal prospective, with anecdotes from my time as an intern at the Ericsson computer science lab at a time when the language was being heavily influenced and later when working on the OTP R1 release.
More details: https://confengine.com/functional-conf-2017/proposal/4787/an-introduction-to-erlang-from-behind-the-trenches
Anatomy of an eCommerce Search Engine by Mayur DatarNaresh Jain
In this talk, the chief Data scientist of Flipkart will uncover the various challenges in running an e-commerce search platform like scale, recency, update rates, business shaping etc. He will also explain the overall system architecture of the search platform and get into the details of some of the sub-systems, including the query understanding and rewriting sub-system.
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
Hike is a mobile-first, messaging platform that is used by 100 million users to exchange 40 billion messages/month. Hike app is available on Android, iOS and Windows phone. On the back-end, we’ve 100+ macro-services in Java, Python, Ruby, Go and Elixir. While setting up a Continuous Delivery pipeline, we ran into a series of technical challenges. However it was more important to address the organisational/behavioural challenges to ensure a sustainable culture shift in the company.
In this talk, I cover how we went about:
* Setup a trunk-based development model
* Decentralised our build & test environments using Docker and Jenkins
* Segregated and containerised our macro-services
* Refactored the mobile apps to be more container friendly
* Setup a mobile device farm using STF
* Improved the quality of code-reviews using PRBuilder & PRRiskAdvisor
* Created different kinds of automated tests to align with our CI Pipeline and get rapid feedback
* Finally how we used C3 to visualise the health of our code-base
No Silver Bullets in Functional Programming by Brian McKennaNaresh Jain
We are constantly presented with trade-offs when writing software. What are the trade-offs when applying functional programming? What costs arise? When is it not worth doing? When should pragmatism kick in and when should we start using side-effects?
This talk will give you some tools to be able to answer the above questions for both functional programming and types. The tools have been refined over many professional years of both doing and not doing purely functional programming.
More details: https://confengine.com/functional-conf-2016/proposal/3137/no-silver-bullets-in-functional-programming
For over 35 years, functional programming has been a hot research topic. However in the last 5 years, driven by the need to build massively concurrent systems and to handle big-data, we have experienced a rapid adoption of functional programming concepts by diverse companies, ranging from tech start-ups to financial institutes.
These days, functional programming is at the heart of every, new generation programming technologies. Companies are employing functional programming to enable more effective, robust, and flexible software development. This has given birth to a very vibrant community of functional programmers, who are constantly exploring ways to bring functional programming concepts to the world of enterprise software development.
Functional Conf is designed to bring the growing community of functional programmers together under one roof. At Functional Conf:
participants can understand the fundamentals concepts behind functional programming,
they can learn how others are using functional programming to solve real world problems,
practitioners can meet peers and exchange their experience,
experts can share their expertise on practical usage and gotchas in functional programming concepts.
More details: http://functionalconf.com/ or https://confengine.com/functional-conf-2016
This talk will explain the secret of the success of the Eclipse Platform team. The Eclipse Way is an agile software development process that we started right at the beginning when we started to develop Eclipse back in 1999. It was and is used by the Eclipse Platform team and got continuously improved over time. During the session you will hear about all our practices, like milestones, early and iterative planning, continuous integration and the endgame. I will also reveal some of the history behind the Eclipse top-level project.
More details: https://confengine.com/eclipse-summit-2016/proposal/2386/the-eclipse-way
Unleashing the Power of Automated Refactoring with JDTNaresh Jain
Refactoring is a series of small steps, each of which changes the program’s internal structure without changing its external behaviour. Refactoring, as a tool, to automate behaviour-preserving transformations to source code are not only very popular in agile development environments, but have been widely established as a cornerstone of the daily software development process, regardless of the methodology being used. Most major development environments such as Eclipse offer a set of powerful refactoring to substantially increase development productivity.
In this live demo, I’ll show
* the real value of refactoring,
* how we practice it safely,
* when and why we refactor,
* the power of refactoring tools and
* when we avoid refactoring.
I’ll be using two real-world examples of refactoring and sharing what I’ve learned about this important practice of the last 15 years.
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo KimNaresh Jain
Do you want to harness the deeper power of games – the power to drive long-term engagement? Are you ready to look beyond the silver bullets & Skinner boxes – and learn to think like a game designer? In this talk, you’ll learn the foundations of Game Thinking - brought to life with front-line stories from eBay, Ultima Online, The Sims, Rock Band, Covet Fashion, Happify, Lumosity and Slack. You’ll come away with a smarter approach to innovative product design - and practical, actionable design tips you can use right away to turbo-charge your path towards product/market fit.
More details: https://confengine.com/agile-india-2016/proposal/1961/getting2alpha-turbo-charge-your-product-with-game-thinking
A successful startup/product company needs to master the art of validating early product ideas quickly and effectively. Whether you are building a product, service or a new feature, the two most important questions to find out early are:
* are we solving the right problem?
* if yes, how do we pitch the idea to the target customer to generate a favourable action?
During this session, we'll focus on various safe-fail experimentation techniques used by Lean Startups for quickly identifying and validating the customer's value hypothesis, without having to build the real product. You will leave this session equipped with various MVP design techniques, that will allow you to rapidly discover a viable product/service that delights your customers, without spending a lot of time and effort.
Traditionally, entrepreneurs believed that the only way to test their product/service hypothesis was to build the best-in-class product/service in that category, launch it, and then pray. Most often, products/services fail, not because they cannot be built or delivered. But because, they lack the market-fitment and customer appeal.
To avoid these risks, these days startups are focusing on building a "Minimum Viable Product" (MVP), a product that includes just enough core features to allow useful feedback from early adopters. This reduces the time to market and allows the company to build subsequent customer-driven versions of the product. Hence mitigating the likelihood of wasting time on features that nobody wants. MVPs are typically deployed to a subset of customers, such as early adopters that are more forgiving, more likely to give valuable feedback.
However the problem with MVPs is that companies still spend too much time building stuff and very little time learning. Don't forget the purpose of MVP is validated learning NOT building. This session will give you ideas on how to quickly formulate and test your value and growth hypothesis in a scientific framework using extremely cheap MVP techniques collectively referred to as MVP Design Hacks.
More details: http://agilefaqs.com/services/training/crafting-out-mvps and http://agilefaqs.com/services/training/product-discovery
For over 35 years, functional programming has been a hot research topic. However in the last 5 years, driven by the need to build massively concurrent systems and to handle big-data, we've experienced a rapid adoption of functional programming concepts by diverse companies, ranging from tech start-ups to financial institutes.
These days, functional programming is at the heart of every, new generation programming technologies. Companies are employing functional programming to enable more effective, robust, and flexible software development. This has given birth to a very vibrant community of functional programmers, who are constantly exploring ways to bring functional programming concepts to the world of enterprise software development.
Functional Conf is designed to bring the growing community of functional programmers together under one roof. At Functional Conf:
* participants can understand the fundamentals concepts behind functional programming
* they can learn how others are using functional programming to solve real world problems
* practitioners can meet peers and exchange their experience
experts can share their expertise on practical usage and gotchas in functional programming concepts
More details: http://functionalconf.com/
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
6. re nt!
diffe
re us? ?
Too e a or
W F h ere
mu em
ch probl
Ch re a
aos he
Wh
o? W
? Is t
hen
?
ROI?
Pro
duc
tivit
y?
Licensed Under Creative Commons by Naresh Jain
4
18. Back in the Stone-age
Licensed Under Creative Commons by Naresh Jain
16
19. Happiness/Excitement
Time/Money/Opportunity Cost
Licensed Under Creative Commons by Naresh Jain
17
20. Plan
Happiness/Excitement
Time/Money/Opportunity Cost
Licensed Under Creative Commons by Naresh Jain
17
21. Plan
Design
Happiness/Excitement
Time/Money/Opportunity Cost
Licensed Under Creative Commons by Naresh Jain
17
22. Plan
Design
Happiness/Excitement
Distribute
Time/Money/Opportunity Cost
Licensed Under Creative Commons by Naresh Jain
17
23. Plan
Design
Happiness/Excitement
Distribute
Work in
Isolation
Time/Money/Opportunity Cost
Licensed Under Creative Commons by Naresh Jain
17
24. Plan
Design
Happiness/Excitement
Distribute
Work in
Isolation
Integrate
Time/Money/Opportunity Cost
Licensed Under Creative Commons by Naresh Jain
17
29. CI Helped Us Learn That...
Life can Suck a lot Less!
Licensed Under Creative Commons by Naresh Jain
22
30. CI Helped Us Learn That...
Life can Suck a lot Less!
Collaboration Feedback Quality
Delivery Time Wastage
Licensed Under Creative Commons by Naresh Jain
22
31. If people are afraid to
check-in frequently...
your CI process is
NOT working.
Licensed Under Creative Commons by Naresh Jain
23
32. We already do CI.
What’s next?
Licensed Under Creative Commons by Naresh Jain
24
33. Multi-Stage CI Process
Scaling CI using Build Promotion
Licensed Under Creative Commons by Naresh Jain
25
37. CD is quite natural for
companies delivering
content via Web
Licensed Under Creative Commons by Naresh Jain
29
38. Freeset - In Business for Freedom
Licensed Under Creative Commons by Naresh Jain
30
39. Stage 1
Static
Files
DB
freesetglobal.com
s
Vie
te
da
w
Up
Freeset - In Business for Freedom
Licensed Under Creative Commons by Naresh Jain
30
40. Stage 1
Stage 2
Static Static Static
Files Files Files
DB DB DB
Structural
Changes Sync
freesetglobal.com dev.freesetglobal.com freesetglobal.com
s
Updates
Vie
te
View
da
w
Up
ck
li
-C
oy
le
pl
ng
De
Si
Freeset - In Business for Freedom
Licensed Under Creative Commons by Naresh Jain
30
52. Can we embrace CD
for eLearning?
Rich Multi-Media Content
Video, Screencasts, Quizzes, Images, Personas, etc.
Programming Exercises
Java, C#, C++, C & Python
Mac OS, Windows, Linux, Solaris
Different IDE Plugins
Server side code analysis (Java, C#, C++, C & Python)
Licensed Under Creative Commons by Naresh Jain
42
53. This is what we did...
Licensed Under Creative Commons by Naresh Jain
43
54. Deploy build to inactive
production servers
Licensed Under Creative Commons by Naresh Jain
44
55. Inactive joins the cluster
Licensed Under Creative Commons by Naresh Jain
45
56. Delivery tests verify
inactive release
Licensed Under Creative Commons by Naresh Jain
46
57. Reverse proxy swaps
inactive with active
Licensed Under Creative Commons by Naresh Jain
47
59. CD Requires Zero Downtime
Licensed Under Creative Commons by Naresh Jain
49
60. Zero Downtime Requires
Performing updates without interrupting users is
essential for Zero Downtime deployments.
• The application code
• Database schema
• Data files
• Web Server
• Application Server or Servlet Container
• Database Server
• OS upgrades and patches
Licensed Under Creative Commons by Naresh Jain
50
61. What about DB
Upgrades?
Will Continuous Deployment work?
Licensed Under Creative Commons by Naresh Jain
51
62. Hibernate
• hbm2ddl.auto = update
• Rarely we need to go in and update DB
manually
Licensed Under Creative Commons by Naresh Jain
52
63. Zero-downtime DB Updates
012_rename_login_id_to_user_name
012_add_user_name_column 02_remove_login_id_column
expansion contraction
Src: Owen Rogers http://exortech.com/blog/
Licensed Under Creative Commons by Naresh Jain
53
64. Zero-downtime DB Updates
Src: Owen Rogers http://exortech.com/blog/
Licensed Under Creative Commons by Naresh Jain
54
65. Zero-downtime DB Updates
• expansion
Src: Owen Rogers http://exortech.com/blog/
Licensed Under Creative Commons by Naresh Jain
54
66. Zero-downtime DB Updates
• expansion
• preserves backwards compatibility
Src: Owen Rogers http://exortech.com/blog/
Licensed Under Creative Commons by Naresh Jain
54
67. Zero-downtime DB Updates
• expansion
• preserves backwards compatibility
• contract
Src: Owen Rogers http://exortech.com/blog/
Licensed Under Creative Commons by Naresh Jain
54
68. Zero-downtime DB Updates
• expansion
• preserves backwards compatibility
• contract
• clean up
Src: Owen Rogers http://exortech.com/blog/
Licensed Under Creative Commons by Naresh Jain
54
73. Breaks work into micro-pieces,
thereby enabling micro-deliveries
Licensed Under Creative Commons by Naresh Jain
59
74. Limited Work In Progress
Licensed Under Creative Commons by Naresh Jain
60
75. Knows when to hide or
reveal work in progress
Licensed Under Creative Commons by Naresh Jain
61
76. Team takes shared ownership of the
entire software development lifecycle
Licensed Under Creative Commons by Naresh Jain
62
77. The product is in a
always-working-state
No developer is blocked because they can't get stable code
Licensed Under Creative Commons by Naresh Jain
63
78. Stop the Line Culture
Team catches issues at the source and avoid last
minute integration and deployment nightmares
Licensed Under Creative Commons by Naresh Jain
64
79. Team crave for rapid feedback
Licensed Under Creative Commons by Naresh Jain
65
80. Complete Traceability
Version Control, Project & Requirements
Managements tool, Bug Tracking and Build
system are completely integrated
Licensed Under Creative Commons by Naresh Jain
66
81. Questions?
Naresh Jain
@nashjain
naresh@agilefaqs.com
http://blogs.agilefaqs.com
Licensed Under Creative Commons by Naresh Jain
67