The document discusses eXtreme Programming (XP) and Scrum practices for agile software development. It explains that software is a craft rather than something that can be purely engineered. It outlines the XP values of communication, feedback, simplicity, courage, and respect. It then describes a typical XP project structure with a 1 year project broken into 3 month releases, 2 week iterations, 1 day sprints, and 15 minute test-code-refactor cycles. Stories are the fundamental unit of work in XP and the document outlines how stories evolve from initial to release to iteration lists.
"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.
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
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.
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.
"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.
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
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.
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.
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.
"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
Чингис Санданов - Что такое DevOps (What is DevOps)DrupalSib
I will explain what is DevOps in the simple possible fashion. Will review popular DevOps practices and tools. Present NoOps concept and present popular Drupal platforms such as Acquia Cloud, Pantheon, Platform.sh and Wodby
Я расскажу, что такое DevOps простыми словами. Сделаю обзор существующих практик и инструментов. Я презентую концепцию NoOps и проведу демо самых популярных решений по автоматизации DevOps: Acquia Cloud, Pantheon, Platform.sh и Wodby.
Подробнее о докладчике: http://goo.gl/4JdYjf
Видео презентации: https://youtu.be/TQwSGuvC1kw
Подписывайтесь на нас!
VK: https://vk.com/drupalsib
FB: https://facebook.com/groups/drupalsib
Twitter:
https://twitter.com/SibDrupalCamp
https://twitter.com/DrupalSib
Instagram: https://instagram.com/drupalsib
About Agile Programmer's skill sets
Ultimate Agilist Tokyo 2012
This presentation will be used tomorrow. after that session I have a plan to update this slide.
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.
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.
"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
Чингис Санданов - Что такое DevOps (What is DevOps)DrupalSib
I will explain what is DevOps in the simple possible fashion. Will review popular DevOps practices and tools. Present NoOps concept and present popular Drupal platforms such as Acquia Cloud, Pantheon, Platform.sh and Wodby
Я расскажу, что такое DevOps простыми словами. Сделаю обзор существующих практик и инструментов. Я презентую концепцию NoOps и проведу демо самых популярных решений по автоматизации DevOps: Acquia Cloud, Pantheon, Platform.sh и Wodby.
Подробнее о докладчике: http://goo.gl/4JdYjf
Видео презентации: https://youtu.be/TQwSGuvC1kw
Подписывайтесь на нас!
VK: https://vk.com/drupalsib
FB: https://facebook.com/groups/drupalsib
Twitter:
https://twitter.com/SibDrupalCamp
https://twitter.com/DrupalSib
Instagram: https://instagram.com/drupalsib
About Agile Programmer's skill sets
Ultimate Agilist Tokyo 2012
This presentation will be used tomorrow. after that session I have a plan to update this slide.
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.
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.
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
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
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
Agile software development has proven to be more successful than traditional methods. However there are many Agile methodologies (Scrum, Kanban, Lean, XP). It is difficult to make a right choice.
Do you want to know the differences between Scrum and Lean? Perhaps you struggle with your existing Scrum implementation and looking for a better methodology. So did I. I spent many hours looking for continuous improvement beyond Retrospectives and Sprint Reviews. And I found my answer in applying Lean Principles.
This session will help you to increase your understanding of Lean and Scrum. It will also give you some practical examples of implementing Lean in Scrum teams.
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/
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
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
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.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
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.
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
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.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
12. A typical XP Project
Licensed Under Creative Commons by Naresh Jain
5
13. A typical XP Project
Project 1 year
Licensed Under Creative Commons by Naresh Jain
5
14. A typical XP Project
Project 1 year
Releases 3 months
Licensed Under Creative Commons by Naresh Jain
5
15. A typical XP Project
Project 1 year
Releases 3 months
Iterations 2 weeks
Licensed Under Creative Commons by Naresh Jain
5
16. A typical XP Project
Project 1 year
Releases 3 months
Iterations 2 weeks
Days 1 day
Licensed Under Creative Commons by Naresh Jain
5
17. A typical XP Project
Project 1 year
Releases 3 months
Iterations 2 weeks
Days 1 day
Tasks 2 hrs
Licensed Under Creative Commons by Naresh Jain
5
18. A typical XP Project
Project 1 year
Releases 3 months
Iterations 2 weeks
Days 1 day
Tasks 2 hrs
Test-Code-Refactor Cycles 15 min
Licensed Under Creative Commons by Naresh Jain
5
20. Stories are fundamental unit of activity
Initial Story List
As a ____, I
want to be able
to ____ so that
____
Might have an initial
estimate (perhaps for
both analysis and
development), and an
expression of technical
and business
confidence that this is
real and achievable
Licensed Under Creative Commons by Naresh Jain
6
21. Stories are fundamental unit of activity
Initial Story List
Release planning
As a ____, I
want to be able
to ____ so that
____
Might have an initial
estimate (perhaps for
both analysis and
development), and an
expression of technical
and business
confidence that this is
real and achievable
Licensed Under Creative Commons by Naresh Jain
6
22. Stories are fundamental unit of activity
Initial Story List Release Story List
Release planning
As a ____, I As a ____, I
want to be able want to be able
to ____ so that to ____ so that
____ ____
I will know this is
Might have an initial done when
estimate (perhaps for _______
both analysis and
development), and an
expression of technical More detailed
and business estimate, and a
confidence that this is specific acceptance
real and achievable test – low confidence
stories might be
“spiked” or prototyped
Licensed Under Creative Commons by Naresh Jain
6
23. Stories are fundamental unit of activity
Initial Story List Release Story List
Release planning Iteration planning
As a ____, I As a ____, I
want to be able want to be able
to ____ so that to ____ so that
____ ____
I will know this is
Might have an initial done when
estimate (perhaps for _______
both analysis and
development), and an
expression of technical More detailed
and business estimate, and a
confidence that this is specific acceptance
real and achievable test – low confidence
stories might be
“spiked” or prototyped
Licensed Under Creative Commons by Naresh Jain
6
24. Stories are fundamental unit of activity
Initial Story List Release Story List Iteration Story List
Release planning Iteration planning
As a ____, I As a ____, I As a ____, I
want to be able want to be able want to be able
to ____ so that to ____ so that to ____ so that Possible
____ ____ ____ automation of
the acceptance
I will know this is I will know this is test
Might have an initial done when done when
estimate (perhaps for _______ _______
both analysis and Development
development), and an team breaks
To do this I
expression of technical More detailed out the detail
must:
and business estimate, and a of work needed
1) _____
confidence that this is specific acceptance to pass test
2) _____
real and achievable test – low confidence
stories might be
“spiked” or prototyped
Licensed Under Creative Commons by Naresh Jain
6
26. XP Practices
Planning
Game
Small
Releases
Stories
Planning
Licensed Under Creative Commons by Naresh Jain
7
27. XP Practices
Designing
Simple
Design
Refactoring
Metaphor
Licensed Under Creative Commons by Naresh Jain
7
28. XP Practices
Coding
Onsite
Pair Continuous Customer
Programming Integration
Licensed Under Creative Commons by Naresh Jain
7
29. XP Practices
Test First
Testing
Acceptance
Tests
Automation
Licensed Under Creative Commons by Naresh Jain
7
30. XP Practices
Informative Collective
Workspace Ownership Coding
Standards
Sustainable
Pace
Team
Licensed Under Creative Commons by Naresh Jain
7
31. XP Practices
Planning Informative Collective
Game Workspace Ownership Coding
Standards
Small
Releases
Sustainable
Pace
Stories
XP Test First
Incremental Practices
Design Acceptance
Tests
Refactoring
Automation
Onsite
Metaphor
Pair Continuous Customer
Programming Integration
Licensed Under Creative Commons by Naresh Jain
8
32. XP - Concluding Thoughts
Very good at accommodating change
Has really strong Engineering practices
Greatly improves Quality
Eliminates a lot of waste from the process
Very heavy focus on KISS and YAGNI
Automation is the key
Brings back the power into the developer’s hand
Licensed Under Creative Commons by Naresh Jain
9
34. Controlled Chaos
Scrum emphasizes on project management
De-emphasis command-and-control management approach
There is a strong emphasis on monitoring (features delivered) and
adjusting according to the results
The aim is to find a balance between allowing the business to change
their mind and the development team to be able to get work done on a
stable scope
Licensed Under Creative Commons by Naresh Jain
11
35. Scrum Values
Commitment. Be willing to commit to a goal. Scrum provides
people all the authority they need to meet their commitments
Focus. Do your job. Focus all of your efforts and skills on doing the
work that you have committed to doing. Don’t worry about anything
else
Openness. Scrum keeps everything about a project visible to
everyone
Respect. Individuals are shaped by their background and their
experience. It is important to respect the different people who
comprise a team.
Courage. Have the courage to commit, to act, to be open and to
expect respect
Licensed Under Creative Commons by Naresh Jain
12
36. Scrum in a Nutshell
Courtesy of Ken Schwaber
Licensed Under Creative Commons by Naresh Jain
13