Naresh Jain

Naresh Jain

Founder
ConfEngine.com
location_on  India
Twitter Personal Profile Website

Member since 2 years

Naresh Jain

Geek...Consultant...Conference Producer...Startup Founder…struggling to stay up-to-date with technology innovation. Null Process Evangelist.

Naresh Jain is an internationally recognized Technology & Product Development Expert. Over the last decade, he has helped streamline the product development practices at many Fortune 500 companies like Google, Amazon, HP, Siemens Medical, GE Energy, Schlumberger, EMC, CA Technologies, to name a few clients. These days, he is more focused on engineering excellence and product innovation. In a nutshell, hire him as a consultant/mentor, if your entire organization wants to move beyond the Agile and Lean mindset. Learn more about his expert services.

Naresh Jain's Startup Icons

Currently Naresh is building two tech-startup and mentoring various other startups in India. Part of his time is also dedicated to help Software companies as an Agile/Lean Coach/Consultant. From Organizational Transformation to enhanced Developer productivity, Naresh helps organizations embrace, scale, sustain and go beyond the essential Agile and Lean thinking.

Agile Software Community of India

Naresh founded the Agile Software community of India, a registered non-profit society to evangelize Agile, Lean and other Light-weight Software Development methods in India. He is responsible for creating and organising 50+ international conferences including the Functional Conf, Simple Design And Testing Conference (SDTConf), Agile Coach Camp, Selenium Conf India, jQuery and Open Web Conference and Eclipse Summit India. He started many Agile User Groups including the Agile Philly User Group and groups in India.

In recognition of his accomplishments, in 2007 the Agile Alliance awarded Naresh with the Gordon Pask Award for contributions to the Agile Community.

Learn more about Naresh at http://nareshjain.com 

 
  • 1 favorite_border Naresh Jain 0forum

    Q & A with the Selenium Committee

    Naresh Jain
    Naresh Jain
    schedule 1 week ago
    45 mins
    Keynote
    Intermediate

    Q & A with the Selenium Committee

     
  • 2 favorite_border Abhishek Gaur 0forum

    Performance Testing a Mobile App Used by 100M Users

    45 mins
    Case Study
    Intermediate

    Hike is used by 100 Million users and many of our users have cheap smart phone (~ $120 USD) that can install no more than 3 mobile apps.

    So the questions is: Should testing of app be limited to its functionality? At Hike, we believe "Performance is Queen!" For our users, if we misuse the critical resources such as Battery, CPU, Network and Memory, its a deal-breaker. Hence pref-testing is very important.

    During the initial days of Hike, we were very reactive and only did (manual) perf testing, when our users reported issues.

    Now, every Sprint (2 weeks) and every public release (monthly), we run our automated perf tests. We measure our app's performance using several app specific use-cases on 4 key areas:

    • CPU,
    • Memory,
    • Battery and
    • Network (data consumption.)

    Hike's CPU Utilization

    We also benchmark the following scenarios for app latency:

    • App launch time upon Force Stop
    • App launch time upon Force Kill
    • App's busiest screen openning time
    • Scrolling latency in different parts of the app
    • Contact loading time in Compose screen

    Hike App Benchmark

    We still have a long way to go in terms of our pref-testing journey at Hike. But we feel, we've some key learnings, which would be worth while to share with the community. Join us, for a fast paced perf-testing session.

     
  • 3 favorite_border Vivek Upreti 0forum

    Cross-platform, Multi-device Instant Communication Testing in Parallel using Appium and Docker

    Vivek Upreti
    Vivek Upreti
    Naresh Jain
    Naresh Jain
    schedule 3 weeks ago
    45 mins
    Demonstration
    Intermediate

    Today over 100 million users share over 40 billion messages per month on Hike. Its not just simple 1:1 chat messages. Users can do a VoIP call or share rich multi-media content in 8 different languages in group chats with hundreds of members. User can transfer large (upto 100 MB) file using Wifi-Direct .i.e. device to device file transfer without using Internet. And many more features. How do you ensure that you can roll out a release every month without breaking any of these features?

    With such a large user based, which is very sensitive to frequent upgrades due to data consumption cost, rigorously testing the app becomes extremely critical.

    When we started our automation journey in 2014, we were looking for a device lab which can simplify our testing effort. However we gave up and ended up building our own setup. The reason being, we require multiple devices that can communicate with each other for a single test. And we have 6000+ such tests, which we want to run in parallel. While many device labs allow you to run tests in parallel, they don't allow the devices to communicate with each other. Also its not possible to run the same test across multiple devices. Imagine testing a group-chat flow with photo sharing or imagine the device to device file transfer using hotspot. How would you test these features?

     

    If this interests you, join us and we'll share our learning trying to achieve this at Hike.

     
  • 3 favorite_border Naresh Jain 0forum

    Test Driving a React.js UI Component with Jasmine

    Naresh Jain
    Naresh Jain
    schedule 2 months ago
    45 mins
    Demonstration
    Intermediate

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

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

     
  • 1 favorite_border Naresh Jain 0forum

    The Decline and Fall of Agile - Antifragile Mindset to Rescue

    Naresh Jain
    Naresh Jain
    schedule 2 months ago
    45 mins
    Talk
    Intermediate

    What started off as a trial-and-error approach to improve the state of software development by a bunch of tinkerers, is today dominated by management consultants, "Thou-Shall" codified frameworks and rigid, expensive tools. Over the last 20 years, we've gone from, "I'm not sure, let's try this in a small-safe environment" to "you/your-team sucks; you guys have a very poor agile maturity because you are not doing _x_y_z_ (not conforming to the standards)." Along the way, we've lost the purpose of being agile .i.e. to embrace uncertainty and simplicity. Instead we've been forced to believe that consistency via top-down standardisation and predictability by increasing the rigour on process is our eternal quest. Anything that sounds simple and works 80% of the cases is discarded as being naive. What once drove thought-leader into agile, is now driving them insane. This is the unfortunate fate of Agile.

    Luckily there has been some fresh perspectives from Nassim Taleb, author of Antifragile. His work explains how some things benefit from shocks; they thrive and grow when exposed to volatility, randomness, disorder, and stressors and love adventure, risk, and uncertainty. More importantly why antifragility is beyond resilience or robustness.

    In this talk, I'll use some of Nassim's thoughts (and some of my own) to explain what is wrong with our current approach to Agile and how we can bring life back into Agile. Particularly how we can leverage Volatility, Uncertainty, Complexity, and Ambiguity to make product development more antifragile.

     
  • 8 favorite_border Naresh Jain 0forum

    Dark Side of Collaboration

    Naresh Jain
    Naresh Jain
    schedule 2 months ago
    45 mins
    Talk
    Advanced

    On Agile teams, collaboration is the way of life. Our leaders want their team members to work closely with each other, have shared goals and even think as one entity. Why? Because we believe that collaboration leads to happier, more productive teams that can build innovative products/services.

    It's strange that companies use the word collaboration very tightly with innovation. Collaboration is based on consensus building, which rarely leads to visionary or revolutionary products/services. Innovative/disruptive concepts require people to independently test out divergent ideas without getting caught up in collaborative boardroom meetings.

    In this presentation, Naresh Jain explores the scary, unspoken side of collaboration and explains in what context, collaboration can be extremely important; and when it can get in the way or be a total waste of time.

     
  • 3 favorite_border Naresh Jain 0forum

    Dark Side of Collaboration

    Naresh Jain
    Naresh Jain
    schedule 5 months ago
    45 mins
    Keynote
    Advanced

    On Agile teams, collaboration is the way of life. Our leaders want their team members to work closely with each other, have shared goals and even think as one entity. Why? Because we believe that collaboration leads to happier, more productive teams that can build innovative products/services.

    It's strange that companies use the word collaboration very tightly with innovation. Collaboration is based on consensus building, which rarely leads to visionary or revolutionary products/services. Innovative/disruptive concepts require people to independently test out divergent ideas without getting caught up in collaborative boardroom meetings.

    In this presentation, Naresh Jain explores the scary, unspoken side of collaboration and explains in what context, collaboration can be extremely important; and when it can get in the way or be a total waste of time.

     
  • 2 favorite_border Naresh Jain 0forum

    MVP Design Hacks

    Naresh Jain
    Naresh Jain
    schedule 5 months ago
    45 mins
    Talk
    Intermediate

    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.

     
  • 4 favorite_border Naresh Jain 0forum

    Agile Testing

    Naresh Jain
    Naresh Jain
    schedule 5 months ago
    45 mins
    Talk
    Intermediate

    As more and more companies are moving to the Cloud, they want their latest, greatest software features to be available to their users as quickly as they are built. However there are several issues blocking them from moving ahead.

    One key issue is the massive amount of time it takes for someone to certify that the new feature is indeed working as expected and also to assure that the rest of the features will continuing to work. In spite of this long waiting cycle, we still cannot assure that our software will not have any issues. In fact, many times our assumptions about the user's needs or behavior might itself be wrong. But this long testing cycle only helps us validate that our assumptions works as assumed.

    How can we break out of this rut & get thin slices of our features in front of our users to validate our assumptions early?

    Most software organizations today suffer from what I call, the "Inverted Testing Pyramid" problem. They spend maximum time and effort manually checking software. Some invest in automation, but mostly building slow, complex, fragile end-to-end GUI test. Very little effort is spent on building a solid foundation of unit & acceptance tests.

    This over-investment in end-to-end tests is a slippery slope. Once you start on this path, you end up investing even more time & effort on testing which gives you diminishing returns.

    In this session Naresh Jain will explain the key misconceptions that has lead to the inverted testing pyramid approach being massively adopted, main drawbacks of this approach and how to turn your organization around to get the right testing pyramid.

     
  • 1 favorite_border Naresh Jain 0forum

    MVP Design Hacks

    Naresh Jain
    Naresh Jain
    schedule 6 months ago
    45 mins
    Tutorial
    Intermediate

    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.

     
  • 3 favorite_border Naresh Jain 1forum

    The Decline and Fall of Agile - Antifragile Mindset to Rescue

    Naresh Jain
    Naresh Jain
    schedule 6 months ago
    45 mins
    Talk
    Intermediate

    What started off as a trial-and-error approach to improve the state of software development by a bunch of tinkerers, is today dominated by management consultants, "Thou-Shall" codified frameworks and rigid, expensive tools. Over the last 20 years, we've gone from, "I'm not sure, let's try this in a small-safe environment" to "you/your-team sucks; you guys have a very poor agile maturity because you are not doing _x_y_z_ (not conforming to the standards)." Along the way, we've lost the purpose of being agile .i.e. to embrace uncertainty and simplicity. Instead we've been forced to believe that consistency via top-down standardisation and predictability by increasing the rigour on process is our eternal quest. Anything that sounds simple and works 80% of the cases is discarded as being naive. What once drove thought-leader into agile, is now driving them insane. This is the unfortunate fate of Agile.

    Luckily there has been some fresh perspectives from Nassim Taleb, author of Antifragile. His work explains how some things benefit from shocks; they thrive and grow when exposed to volatility, randomness, disorder, and stressors and love adventure, risk, and uncertainty. More importantly why antifragility is beyond resilience or robustness.

    In this talk, I'll use some of Nassim's thoughts (and some of my own) to explain what is wrong with our current approach to Agile and how we can bring life back into Agile. Particularly how we can leverage Volatility, Uncertainty, Complexity, and Ambiguity to make product development more antifragile.

     
  • 2 favorite_border Naresh Jain 5forum

    Test Driving a React.js UI Component with Jasmine

    Naresh Jain
    Naresh Jain
    schedule 7 months ago
    90 mins
    Demonstration
    Intermediate

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

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

     
  • 30 favorite_border Naresh Jain 1forum

    Dark Side of Collaboration

    Naresh Jain
    Naresh Jain
    schedule 9 months ago
    45 mins
    Keynote
    Advanced

    On Agile teams, collaboration is the way of life. Our leaders want their team members to work closely with each other, have shared goals and even think as one entity. Why? Because we believe that collaboration leads to happier, more productive teams that can build innovative products/services.

    It's strange that companies use the word collaboration very tightly with innovation. Collaboration is based on consensus building, which rarely leads to visionary or revolutionary products/services. Innovative/disruptive concepts require people to independently test out divergent ideas without getting caught up in collaborative boardroom meetings.

    In this presentation, Naresh Jain explores the scary, unspoken side of collaboration and explains in what context, collaboration can be extremely important; and when it can get in the way or be a total waste of time.

     
  • 4 favorite_border Naresh Jain 0forum

    Live Code Jugalbandi

    Naresh Jain
    Naresh Jain
    Dhaval Dalal
    Dhaval Dalal
    schedule 9 months ago
    90 mins
    Event
    Beginner

    In Indian classical music, we have Jugalbandi, where two lead musicians or vocalist engage in a playful competition. There is jugalbandi between Flutist and a Percussionist (say using Tabla as the instrument). Compositions rendered by flutist will be heard by the percussionist and will replay the same notes, but now on Tabla and vice-versa is also possible.

    In a similar way, we will perform Code Jugalbandi to see how the solution looks using different programming languages and paradigms.

    During the session, conference attendees will take turns at coding the same problem using different languages and paradigms. There would be multiple such attempts by different participants during the Jugalbandi.

     
  • 1 favorite_border Naresh Jain 0forum

    Balancing Object-Functional Design Guided by Tests

    Naresh Jain
    Naresh Jain
    schedule 9 months ago
    120 mins
    Demonstration
    Intermediate

    When we think of OO, most people think of modeling THE real world in software by mapping every real world object (nouns) to entities in software. These entities are then modeled using Is-A-Has-A relationship to build complex, polymorphic hierarchies with deep object graphs. State is stored and mutated in-place inside the object to achieve the desired functionality. This paradigm leads to a fairly convoluted design and encourage imperative style of programming.

    Not everyone who has designed large complex systems, think of OO the same way. For instance, people who Test Drive, do not have the luxury of a big-up-front design, instead they focus on small and incremental design. IME, TDD facilities a design that is side-effect free and encourages a declarative style of programming. While decoupling and composing objects in a functional style with the right granularity of abstraction.

    Let's assume we've to build a web commenting and discussion feature (like Disqus). And we've a requirement to implement this as a jQuery Plugin. Can we apply pure functional principles to design this? Or will the design be better if we try a classical OO JS approach? In this live demo, we'll build this plugin from scratch and see how TDD will help us drive an object-functional design to strike a pragmatic balance between the 2 paradigms.

     
  • 1 favorite_border Naresh Jain 0forum

    Aap Ki Adalat with jQuery Foundation

    45 mins
    Keynote
    Beginner

    Aap Ki Adalat is the longest running talk show in the history of Indian television. In this show, the anchor, Mr. Rajat Sharma has grilled over 500 personalities on various sensitive and personal issues. We would like to put the key members of the jQuery Foundation through a similar session, where participants will ask them hard questions around various technical and non-technical choices made by the Foundation and the future direction of the foundation.

     
  • 1 favorite_border Naresh Jain 0forum

    Agile Testing

    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    45 mins
    Talk
    Intermediate

    As more and more companies are moving to the Cloud, they want their latest, greatest software features to be available to their users as quickly as they are built. However there are several issues blocking them from moving ahead.

    One key issue is the massive amount of time it takes for someone to certify that the new feature is indeed working as expected and also to assure that the rest of the features will continuing to work. In spite of this long waiting cycle, we still cannot assure that our software will not have any issues. In fact, many times our assumptions about the user's needs or behavior might itself be wrong. But this long testing cycle only helps us validate that our assumptions works as assumed.

    How can we break out of this rut & get thin slices of our features in front of our users to validate our assumptions early?

    Most software organizations today suffer from what I call, the "Inverted Testing Pyramid" problem. They spend maximum time and effort manually checking software. Some invest in automation, but mostly building slow, complex, fragile end-to-end GUI test. Very little effort is spent on building a solid foundation of unit & acceptance tests.

    This over-investment in end-to-end tests is a slippery slope. Once you start on this path, you end up investing even more time & effort on testing which gives you diminishing returns.

    In this session Naresh Jain will explain the key misconceptions that has lead to the inverted testing pyramid approach being massively adopted, main drawbacks of this approach and how to turn your organization around to get the right testing pyramid.

     
  • 1 favorite_border Naresh Jain 0forum

    IAmA (I Am A ... Ask Me Anything)

    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    60 mins
    Keynote
    Beginner

    On Reddit, IAmA stands for "I am a" and AMA stands for "ask me anything".

    In an IAmA post, a person will post what they are, and other people will ask the original poster some questions to gain insights about the experience the person has had.
     
    Ex: I'm Jeff Patton, creator of Story Mapping, Ask Me Anything... OR I'm Diana Larsen, co-creator of the Fluency Model and co-author of Agile Retrospectives, Ask Me Anything...

    We plan to take this concept and apply it to the Agile context. We've few luminaries at the conference and we plan to do an live interview with them using this format.

     
  • 2 favorite_border Naresh Jain 0forum

    Test Driving a jQuery Plugin

    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    90 mins
    Demonstration
    Intermediate

    Over the past decade, eXtreme Programming practices like Test-Driven Development (TDD), Behavior Driven Developer (BDD), Refactoring and Continuous Integration have fundamentally changed software development processes and inherently how engineers work. Practitioners claim that it has helped them significantly improve their development speed, design quality and responsiveness to changing requirements. Software professionals across the board, from Internet startups to medical device companies to space research organizations, today have embraced these practices. But can these practices be applied to front-end development? Especially jQuery plugin development?

    This demo will show how we can test drive a jQuery plugin with the help of various patterns, strategies, tools and techniques. Participants will understand how they can apply this approach for testing any jQuery code.

     
  • 2 favorite_border Dhaval Dalal 0forum

    The Tao of Transformation

    Dhaval Dalal
    Dhaval Dalal
    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    90 mins
    Workshop
    Beginner

    "To know, is good. To live, is better. To be, that is perfect." - The Mother

    During the Agile adoption, its a common complain that many team in many organizations get caught up in the ceremonies or mechanics of Agile and fail to understand/appreciate the true value and spirit of Agile. And because of this, the original intent of the Agile movement itself is lost. This is a serious issue!

    This workshop will highlight, a well-proven approach to transformation (not adoption) and show the distinct steps in this journey that an individual or a collective goes through when learning anything new. Activities, serving as examples, in the workshop, will focus to show the journey - that is, how to begin with rituals, then gradually move to practices, arriving at principles and eventually internalizing the values. Witnessing this gradual process of transformation will help participants discover for themselves their current progression. We hope this will serve as a guiding light during their Agile journey.

    Finally, we will leave the participants to ponder upon and discover for themselves their ideals in life and work as this is not only applicable to software development, but also to any discipline where humans are involved, including life itself.

     
  • 2 favorite_border Abhishek Gaur 0forum

    Performance Testing a Mobile App Used by 100M Users

    45 mins
    Case Study
    Intermediate

    Hike is used by 100 Million users and many of our users have cheap smart phone (~ $120 USD) that can install no more than 3 mobile apps.

    So the questions is: Should testing of app be limited to its functionality? At Hike, we believe "Performance is Queen!" For our users, if we misuse the critical resources such as Battery, CPU, Network and Memory, its a deal-breaker. Hence pref-testing is very important.

    During the initial days of Hike, we were very reactive and only did (manual) perf testing, when our users reported issues.

    Now, every Sprint (2 weeks) and every public release (monthly), we run our automated perf tests. We measure our app's performance using several app specific use-cases on 4 key areas:

    • CPU,
    • Memory,
    • Battery and
    • Network (data consumption.)

    Hike's CPU Utilization

    We also benchmark the following scenarios for app latency:

    • App launch time upon Force Stop
    • App launch time upon Force Kill
    • App's busiest screen openning time
    • Scrolling latency in different parts of the app
    • Contact loading time in Compose screen

    Hike App Benchmark

    We still have a long way to go in terms of our pref-testing journey at Hike. But we feel, we've some key learnings, which would be worth while to share with the community. Join us, for a fast paced perf-testing session.

     
  • 3 favorite_border Vivek Upreti 0forum

    Cross-platform, Multi-device Instant Communication Testing in Parallel using Appium and Docker

    Vivek Upreti
    Vivek Upreti
    Naresh Jain
    Naresh Jain
    schedule 3 weeks ago
    45 mins
    Demonstration
    Intermediate

    Today over 100 million users share over 40 billion messages per month on Hike. Its not just simple 1:1 chat messages. Users can do a VoIP call or share rich multi-media content in 8 different languages in group chats with hundreds of members. User can transfer large (upto 100 MB) file using Wifi-Direct .i.e. device to device file transfer without using Internet. And many more features. How do you ensure that you can roll out a release every month without breaking any of these features?

    With such a large user based, which is very sensitive to frequent upgrades due to data consumption cost, rigorously testing the app becomes extremely critical.

    When we started our automation journey in 2014, we were looking for a device lab which can simplify our testing effort. However we gave up and ended up building our own setup. The reason being, we require multiple devices that can communicate with each other for a single test. And we have 6000+ such tests, which we want to run in parallel. While many device labs allow you to run tests in parallel, they don't allow the devices to communicate with each other. Also its not possible to run the same test across multiple devices. Imagine testing a group-chat flow with photo sharing or imagine the device to device file transfer using hotspot. How would you test these features?

     

    If this interests you, join us and we'll share our learning trying to achieve this at Hike.

     
  • 8 favorite_border Bret Pettichord 1forum

    Checking as a Service

    Bret Pettichord
    Bret Pettichord
    schedule 2 months ago
    45 mins
    Keynote
    Beginner

    This talk suggests a reframe in how we understand the business value of automated testing. One shift is to see automation as "checking" rather than "testing". Another is the shift from software delivery to service delivery, including fully embracing DevOps. The resulting approach could be called Checking as a Service or CheckOps, and forces us to rethink traditional automation priorities. In this talk, Bret will explain how change in approach has affected teams he's worked with and how you can use it to improve your ability to deliver valued services.

     
  • 4 favorite_border Rajat Talwar 2forum

    Pains and Gains of being a Full Stack Developer

    Rajat Talwar
    Rajat Talwar
    schedule 6 months ago
    45 mins
    Experience Report
    Intermediate

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

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

    Also I'll highlight the following topics:

    • What is the importance of a full stack dev?
    • What tools/resources/languages in my experience work best for full stack developers?
    • Downsides of being a full stack developer!
     
  • 23 favorite_border Vishal Prasad 7forum

    Learning from Anemic Reviews - Improving your Agile Feedback Loop

    Vishal Prasad
    Vishal Prasad
    schedule 7 months ago
    20 mins
    Experience Report
    Intermediate

    Consider an agile utopia executing a lean build-measure-feedback loop for software development. How would you feel if your biggest strength of receiving early feedback from your end-users turns out to be your Achilles heel? Recently I faced this dilemma where my end-users unfortunately were a group of introvert individuals. This led to Monger project’s MVP almost declared as a failure since it did not fulfill the end-user’s requirements. 

    Many a times, projects transform their delivery mechanism from traditional models to agile with a myth that agile is a recipe for success. In reality many projects fail since agile is not well understood by the teams. A few times (like in this case) the agile process falters not due to incorrect implementation but due to incorrect participants responsible to execute a part of the process.

    Experience with me what happens when your end-users falter your feedback loop just because of the nature of individuals. If you’ve ever been a part of a group (or may be in the future) where your end-users are introverts, learn from this experience report how we overcame this problem on the Monger project by strengthening our anemic reviews. At the same time, if you as a participant have been there and done that, I would love to hear about it.

     
  • 2 favorite_border Dhaval Dalal 0forum

    DRYing to Monads in Java8

    Dhaval Dalal
    Dhaval Dalal
    schedule 9 months ago
    45 mins
    Demonstration
    Beginner

    If you thought Monads are a mystery, then this demonstration would show you how to evolve your code towards a Monad without knowing about it. This demo will neither go into any Category Theory nor begin with monadic laws.  Instead, we will start with typical code that you see in your daily life as a developer, attempt to DRY (Don't Repeat Yourself) it up and eventually use Monad to remove duplication and verbosity. You'll also see how Monads make your code more declarative and succinct by sequencing the steps in your domain logic.

    Also, we know in Java8 Checked Exceptions + λ == Pain!  To be more precise, we will evolve a Try (exception handling monad) which is missing in Java8, similar to one found in Scala.  Finally, map back Try to the 3 monad laws.

     
  • 7 favorite_border Morten Kromberg 0forum

    Parallel Programming in Dyalog using Futures and Isolates

    Morten Kromberg
    Morten Kromberg
    schedule 1 year ago
    45 mins
    Keynote
    Beginner

    Dyalog is an array first multi-paradigm language based on an APL language kernel. In APL, it is common for the application of primitive functions to arrays of conforming shape to imply a map; the function is applied item-wise to corresponding elements of the arguments, producing a result of the same shape. APL also provides a variety of explicit operators that provide different mappings of user-defined functions, or more generally functional compositions, to multi-dimensional and nested arrays.

    One might expect that such language features would provide a complete framework for parallel programming. In practice, writing programs that can be efficiently executed in parallel on current hardware is extremely difficult, if implicit or explicit maps are the only parallel language feature available and an interpreter or compiler needs to deduce where to introduce the asynchronicity that is required in order to take advantage of the hardware.

    This talk will present Futures and Isolates, and related parallel operators constructed upon them, which were added to Dyalog version 14.0 in 2014. The goal has been to provide explicit forms of deterministic asynchronous execution, designed to be very familiar to APL users, and continue to allow them to view the language as an executable mathematical notation, while taking advantage of parallel hardware that is now readily available.

     
  • 2 favorite_border Dhaval Dalal 0forum

    The Tao of Transformation

    Dhaval Dalal
    Dhaval Dalal
    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    90 mins
    Workshop
    Beginner

    "To know, is good. To live, is better. To be, that is perfect." - The Mother

    During the Agile adoption, its a common complain that many team in many organizations get caught up in the ceremonies or mechanics of Agile and fail to understand/appreciate the true value and spirit of Agile. And because of this, the original intent of the Agile movement itself is lost. This is a serious issue!

    This workshop will highlight, a well-proven approach to transformation (not adoption) and show the distinct steps in this journey that an individual or a collective goes through when learning anything new. Activities, serving as examples, in the workshop, will focus to show the journey - that is, how to begin with rituals, then gradually move to practices, arriving at principles and eventually internalizing the values. Witnessing this gradual process of transformation will help participants discover for themselves their current progression. We hope this will serve as a guiding light during their Agile journey.

    Finally, we will leave the participants to ponder upon and discover for themselves their ideals in life and work as this is not only applicable to software development, but also to any discipline where humans are involved, including life itself.

     
  • 5 favorite_border Scott González 0forum

    Building Up the Community

    Scott González
    Scott González
    schedule 1 year ago
    45 mins
    Keynote
    Beginner

    Over the past seven years, jQuery UI has identified and solved many common problems for web developers. Often times, the problems don't apply just to users of jQuery UI, or even jQuery Core. In these cases, we try to solve the problem in the best way for the largest audience, rather than creating an isolated solution within jQuery UI. We're able to do this by working with the community and bringing together various groups to collaborate on solutions. In this talk, I'll discuss how this concept is at the heart of the jQuery Foundation and explain some of the projects that have been born out of jQuery UI.

     
  • 3 favorite_border Aslak Hellesøy 0forum

    How BDD can save agile

    Aslak Hellesøy
    Aslak Hellesøy
    schedule 1 year ago
    60 mins
    Keynote
    Intermediate

    As lead developer of Cucumber and author of The Cucumber Book, Aslak gets asked to consult with organisations who want to introduce Behaviour-Driven Development (BDD). Time after time, he meets teams who are trapped doing half-arsed agile. They do the easy, obvious, visible agile practices, and none of the powerful, hard-to-master, hard-to-see ones.

    When these teams ask for help learning BDD, we get a chance to remind them how important conversations and collaboration are in software development. We teach them to write tests before they write code, as a way to explore and discover the hidden details of a requirement just before they dive in and start building it. This talk will make you wince with recognition, laugh with despair, and finally inspire you with stories of teams that have finally, after years of flaccid scrumming, discovered the true collaborative heart of agile software development. You’ll see patterns you recognise from your own teams, and gain insights about how to fix them.

     
  • 11 favorite_border Prasad Kunte 6forum

    Implementing Agile Engineering Practices in Legacy Codebases

    Prasad Kunte
    Prasad Kunte
    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    45 mins
    Case Study
    Intermediate

    Afraid of legacy code? Don't be!!!

    Most successful product companies are confronted with the problem of legacy code.

    What is a legacy code?

    • A code which is in production for several years.
    • A super-complex, hard to understand code base, written by different set of developers. 
    • Outdated Technology stack.

    But the most hurting reality is:

    Lack of confidence in the code due to zero or poor test coverage.

    Due to this reality, developers are often scared to touch it. They have very little confidence that "their code change wouldn't break the existing application in production."

    Recently at IDeaS, we came across such situation, where we needed to enhance one of our products containing legacy code. We started looking into the code and soon figured out that it was developed in 2007, hardly ever touched (& still working in production :)). The original team, which has worked on this product, could not be traced anymore.

    As this product has expanded to attract new customers, we had to change it significantly in order to support new customer's specifications. We had to make sure that the product was backward compatible and supported the earlier specifications, while we enhance the new specification.

    One simple option was to COPY PASTE every single method which needs to be modified and use an if-statement to decide which method to call. This certainly seems like an easy method, since the chances of breaking existing code is very little. 

    Today we all know this is a BAD option!!!

    Instead, our team decided to refactor the existing code to support plug-and-play approach for different specification. But before we started refactoring code, we had to build a safety net of tests around the existing code.

    How do we put the safety net? Ideal way would be to implement the Test Pyramid first. But, that would have taken significant time to be ready with the pyramid before we start touching the legacy code. And obvious, we would have missed the business goals.

    What do we do?

    Instead of building the entire test pyramid, we decided to attack different layers of the test pyramid, one at a time. Along the way, we followed the following approach:

    1. Re-structuring the Project code-base
    2. Establishing a baseline database: After taking a dump from the production database, we cleared out surplus data from the DB and setup a seed database with automed scripts
    3. Creating/fixing the build script 
      1. Setting up an auto DB deploy tool and integrating it with build scripts
    4. Set up basic CI pipeline
    5. Write a few work-flow tests to capture the system's flow from user's point of view
      1. Find the inception point in the code from where we can exercise the code
      2. Restify the application at the inception point (one service at a time)
      3. Setup authorization for production and test environment
      4. Build minimal test-data set for different environment 
      5. Create a few work-flow tests via the inception point (Test itself should not be coupled with the underlying database or implementation level components)
    6. Write business logic acceptance test to capture various complicated business rules
    7. Test drive the new enhancement or bug fixes
    8. Every time we touch legacy code, refactor the code and improve test coverage at unit level

    This really helped us test driven the new code and implement all the layers of the test pyramid.

    If you've a similar situation, join us, as we share our experience on how to confront legacy code.

     
  • 11 favorite_border Sachin Natu 7forum

    Death of Inspection: Reincarnation of the Testing Community

    Sachin Natu
    Sachin Natu
    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    60 mins
    Case Study
    Intermediate

    Adopting agile development practices and continuous delivery is becoming a norm in the software industry. Time to market and frequent releases have drastically reduced time available for regression testing. Inspection is considered wasteful. Faster feedback cycles during development is crucial. These have created lot of challenges for testing community, which traditionally relies on manual testing assisted by UI based test automation.

    This is an experience report of transforming testing practices across organization, which decided to embrace Agile. Today our testers are not trying to find defects, instead they collaborate with product management and developers to prevent them in the first place. In fact, during the appraisal process, the defects found by them is ignored, instead we focus on how much time they are able to dedicate to collaboration and exploratory testing. The boundaries between developers and testers have faded away and today quality is whole team's responsibility.

    We started with less than 20% of our testers with automation skills (mostly UI automation) and rest of them relying on manual testing. However, today, all our testers practice BDD. They have picked up Java & Groovy programming skills. They are able to contribute Workflow tests, Integration tests and Business Logic Acceptance Tests. Early collaboration and pairing is the norm. By the time developers are done with their tasks, all checks are already automated and hence we are able to deploy software every fortnight to production.

    Are your testers finding it hard to make this transition to an Agile mindset? This session will give you some concrete ideas based on our transition at IDeaS.  

     
  • 4 favorite_border Ashish Parkhi 3forum

    Techniques to Speed Up your Build Pipeline for Faster Feedback.

    Ashish Parkhi
    Ashish Parkhi
    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    45 mins
    Experience Report
    Intermediate

    We would like to share our experience and journey on how we brought down our Jenkins build pipeline time down from over 90 minutes to under 12 minutes. In the process, we would share specific techniques which helped and also some, which logically made sense, but actually did not help. If your team is trying to optimize their build times, then this session might give you some ideas on how to approach the problem.

    Development Impact - For one of our build job, below graph shows how the number of builds in a day have increased over a period of time as the build time has reduced. Frequency of code check-in has increased; Wait time has reduced; failed test case faster to isolate and fix.

    Business Impact - More builds leading to quicker feedback and faster story acceptance and less story spill over.

     
  • 5 favorite_border Ashish Parkhi 12forum

    Gamifying Agile Adoption - An Experiment

    Ashish Parkhi
    Ashish Parkhi
    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    45 mins
    Case Study
    Intermediate

    While having a chat with Naresh Jain, he suggested me to go through the Ted Talk – “Gaming can make a better world” by Jane McGonigal. I found the title very weird and was wondering how is that possible? After going through the talk though, I was amazed. I started wondering if I can use the gamification technique in Agile Adoption, in our Products, in Performance Management Systems, in Employee Engagement Programs?

    Dhaval Dalal introduced me to Prof. Kevin Werbach’s definition of Gamification – “The use of game elements and game design techniques in non-game contexts.

    For our 4th ShipIt Day, organized on 25th/26th Sept 2014 at IDeaS, I decided to explore the idea of using game elements and game design techniques in the context of Agile Adoption. The idea was to create a gaming system which will automatically collect data, i.e. without explicit user intervention,  from multiple sources like Jenkins, Rally and manually from individuals and offer Star’s for positive behavior and deduct Star’s otherwise.

    The aim was to help the team get continuous visual feedback on how they are doing, adopt agile practices, visualize sense of accountability, visualize sense of achievement, drive positive behavior, create healthy competition, create a culture of appreciation, help performance tracking and create transparency.

     

    Landing Page

    User Profile

     

     

     Update - 

    1. Deducting points seems to be bothering the individuals. Now we are experimenting with getting rid of negative points and introducing short lived badeges instead e.g. "Build Breaker". 
    2. We have now added more badges to recognize individual efforts in various categories.
    3. Working on open sourcing the core app at https://github.com/IDeaSCo/rockstar
     
  • 7 favorite_border Prafulla Girgaonkar 1forum

    eXtreme Programming for ETL and Data Analytics

    45 mins
    Experience Report
    Intermediate

    Over the last decade, eXtreme Programming practices like User Stories, Evolutionary Design, Test-Driven Development (TDD), Behavior Driven Developer (BDD), Refactoring, Continuous Integration and Automation have fundamentally changed software development processes and inherently how engineers work.

    Having experienced various benefits from XP practices on our J2EE stack, our team started to apply these practices to extract, transform, and load (ETL) and Data Analytics side of our product. Unfortunately, there is very little guidance available in this context, esp. for the SAS Platform. Right from finding the unit testing framework to structuring the code to designing our modules and setting up a Continuous Integration builds, our team had to figure out everything, the hard way.

    Join us to understand the challenges we faced during this process and how we resolved these challenges.

     
  • 5 favorite_border Dhaval Dalal 0forum

    The Tao of Transformation

    Dhaval Dalal
    Dhaval Dalal
    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    90 mins
    Workshop
    Beginner

    "To know, is good. To live, is better. To be, that is perfect." - The Mother

    During the Agile adoption, its a common complain that many team in many organizations get caught up in the ceremonies or mechanics of Agile and fail to understand/appreciate the true value and spirit of Agile. And because of this, the original intent of the Agile movement itself is lost. This is a serious issue!

    This workshop will highlight, a well-proven approach to transformation (not adoption) and show the distinct steps in this journey that an individual or a collective goes through when learning anything new. Activities, serving as examples, in the workshop, will focus to show the journey - that is, how to begin with rituals, then gradually move to practices, arriving at principles and eventually internalizing the values. Witnessing this gradual process of transformation will help participants discover for themselves their current progression. We hope this will serve as a guiding light during their Agile journey.

    Finally, we will leave the participants to ponder upon and discover for themselves their ideals in life and work as this is not only applicable to software development, but also to any discipline where humans are involved, including life itself.

     
  • 12 favorite_border Prafulla Girgaonkar 1forum

    The Art of SQL Database Refactoring

    45 mins
    Experience Report
    Intermediate

    "We've tested this feature thoroughly and it worked really well. But for some weird reason, it's really slow in production today...must be a network issue...or may be the server is having a bad day..."

    Do you often hear these kinds of comments in your development team? Let us guess, your application is very data-centric and churns big blocks of data on every user request. And under the hood, your application is most probably heavily dependent on long/complex queries with joins, temp-tables, case-statements, nested queries, etc.

    These SQL queries probably started-out very simple. But as your requirements evolved, iteration after iterations, the queries also grew in complexity. And most often, even if you test-drove your newer stories, the performance of these complex queries is not evident until you run them in production. 

    Given that our requirements will evolve and so will our database, how do you deal with the above problems?

    There are TWO essential parts to evolutionary database design:

    1. The art of refactoring your SQL queries.
    2. Figuring out the right balance of what processing is done in SQL on the DB sides and what is done on your service side in your App/Web Server.

    Join us as we take a tour of how we refactored our complex, non-performant queries and overall DB without hurting our time-to-market.

     
  • 5 favorite_border Alexey Ilyichev 1forum

    Skype goes agile: don't repeat our mistakes

    Alexey Ilyichev
    Alexey Ilyichev
    schedule 1 year ago
    45 mins
    Case Study
    Intermediate

    In 2011, I worked for Qik, a startup that got aqcuired by Skype. At that time Skype was in the middle of an agile transition. Аfter aquisition, Qik team was told to adopt the Agile process used by Skype. I worked with the team as an agile coach. After adopting Skype's "agile" process, our ability to deliver was brought down to almost zero. In this talk, I'll tell you the story as it happened, analyze the key problems that we faced and describe how we finally solved them. Come to this talk, if you want to avoid similar mistakes. If you are already through with your transition, I would be interested to know if you see any patterns. 

     
  • 5 favorite_border Thomas Gazagnaire 0forum

    Compile your own cloud with Mirage OS v2.0

    Thomas Gazagnaire
    Thomas Gazagnaire
    schedule 1 year ago
    60 mins
    Talk
    Intermediate

    Most applications running in the cloud are not optimized to do so. They make assumptions about the underlying operating system, resulting in larger footprints with increased costs and risks.  The open source Mirage OS represents a new approach where the application code is combined with the specific components of the operating system it needs into a single-purpose unikernel appliance. With Mirage OS, developers can create lean and efficient unikernels for secure, cost-effective and high-performance network applications. Mirage OS unikernels run directly on the Xen Project hypervisor, which allows them to be quickly deployed to many leading cloud platforms.

    Mirage OS is fully written in OCaml, from the device drivers and network stack to higher-level synchronisation protocols and databases. In this presentation I will explain how we developed Mirage OS and why we choose to do so in a strongly typed functional language with a powerful module langage. I will then present some of the new features of Mirage OS v2.0 such as: support for ARM devices, Irmin: a Git-like distributed database and OCaml-TLS: a comprehensive implementation of the TLS protocol in pure OCaml. 

     
  • 13 favorite_border Sachin Natu 5forum

    Inverting Test Pyramid - A First Hand Experience Report

    Sachin Natu
    Sachin Natu
    Naresh Jain
    Naresh Jain
    schedule 1 year ago
    45 mins
    Experience Report
    Intermediate

    Test automation is extremely crucial in adoption of an agile delivery. However, it can take one for a ride, if the approach is not correct. In this sensational, heart throbbing, experience report, we'll share our story of how we turned around an inefficient, expensive automation style to lean, efficient style. In addition to sharing a real-world example, we'll also share some of the key challenges we faced and how we solved them. If you are convinced about the Testing Pyramid, but are struggling to invert it, then this session is for you.

    Business Impact:

      Earlier Defect Detection - Higher test coverage at Unit/Intermediate layers lead to earlier defect detection. Reduced number of issues found on higher test environments/Production. Reduced cost of defect fixing.

      Reduced maintenance cost - UI tests are fragile and costlier to maintain Vs backend tests. No of changes in services layer are comparatively less.

      Reduced test execution time - Backend tests are much faster. Almost 7-10  times faster than UI Tests - improved build certification time.

      Test feedbacks are naturally distributed across layers of application. Test feedbacks are more pin pointed/ granular.

     
  • 1 favorite_border Dakshinamurthy Karra 2forum

    Java Swing, Java FX application testing using Selenium WebDriver

    Dakshinamurthy Karra
    Dakshinamurthy Karra
    schedule 3 weeks ago
    45 mins
    Demonstration
    Intermediate

    Marathon is a open source test automation suite for Java Swing and Java/FX applications. Marathon provides Selenium/WebDriver bindings for executing test scripts agains Java application.

    In this workshop we explore steps by which you can set up an environment for testing a Java/Swing application.

     
  • 1 favorite_border Leo Laskin 2forum

    Anyone Can Cook -- Is the Same True for Test Automation?

    Leo Laskin
    Leo Laskin
    schedule 2 weeks ago
    45 mins
    Case Study
    Beginner

    Manual testing is becoming less needed as more companies realize the time and money saved from automating testing. But let’s face it: Test automation is scary and still new to many QA departments. Many are unclear about where to begin: Do you need a degree or significant development training to write automated tests? What are the programming basics and required tools that a tester needs to know?

     

    Leo Laskin illustrates data sets of untrained Selenium and non-technical users and the time it took them to learn Selenium. Hear about the programming basics needed to be successful in QA automation and how easy it is to pick them up, the best development tool kits for Selenium and IDE programs, as well as a preview of more advanced QA topics, including CI/CD and virtualization of test environments.

     

    Learn the challenges moving from manual to automated testing, best programming techniques and development tools needed to excel in test automation, and how any engineer can cook up their own automated tests using Selenium.

     
  • 1 favorite_border Felipe Rubim 5forum

    Business Complexity Points - A framework for normalizing software complexity and reaching consensus on requirements

    Felipe Rubim
    Felipe Rubim
    schedule 1 month ago
    45 mins
    Talk
    Advanced

    What if you had a framework for building the right things better and faster?

     We know scope management issues in software projects always have the potential to impact business outcomes and also severely damage a good rapport with stakeholders. The majority of challenges in scope management are consequences of inefficient communication, poor management of expectations and weak scope assumptions to support estimates & planning and, consequently, negotiations with clients.

     Although this is not exclusive to agile projects, it has always been vigorously debated within the global Agile Community. In order to support fair agreements, effective planning and the delivery of better solutions without giving up the agile mindset, people have always been eager for better ways to understand and reach consensus on business requirements and scope in agile projects.

    In this session, I’ll share a technique we've developed to normalize scope and requirements comprehension. It has been proven effective not just to overcome all those challenges but also to determine software size in terms of functional complexity and enable a data-driven foundation for continuous improvement. We’ll share details of this framework including: how it was conceived, why its useful to address such challenges, how it works and how to apply it.  See real case examples where the method has been successfully applied as well as further benefits such as support for estimates and the foundation for data-driven performance demonstration and continuous improvement. Finally, we’ll invite you to engage and support this framework.

     
  • 5 favorite_border G Bhanu Prakash 3forum

    JDK-9 Developers Arsenal: Insight into new JDK-9 Tools and Eclipse JDT

    G Bhanu Prakash
    G Bhanu Prakash
    schedule 1 month ago
    45 mins
    Talk
    Intermediate

    Java 9 is going to provide several developer tools which complement the modular system and enhance developer productivity. 

    Tools assisting modular development include "jlink" which assembles and optimizes a set of modules and their dependencies and "jmod" for creating modular packages with class files and resources.

    Tools also include new compression utility called "jimage" which is 5x more performant than zip or jar formats, "jshell" an interactive development environment. JDK-9 also include new version of smart java compilation tool which is enhanced for performance and large scale projects.

    I plan to give an overview of of Eclipse JDT w.r.t tools along with upcoming "cool" features of Eclipse for JDK-9 features like Eclipse JDT/Core, JDT Platform Debug option and integration points. 

    I shall give insights on tools usage and internals which would help developers in decision making along with benchmark results.

     

     
  • 7 favorite_border Sargis Sargsyan 4forum

    Better Page Object Handling with Loadable Component Pattern

    Sargis Sargsyan
    Sargis Sargsyan
    schedule 2 months ago
    45 mins
    Talk
    Advanced

    One of the painful problems in Selenium automated testing is determining whether a HTML page has been loaded. This is especially the case when web application uses a JS  heavy framework such as the popular AngularJS.

    During this talk we will discuss how to handle Selenium Page Object pattern better with Loadable Component.

    The Loadable Component helps test case developers make sure that the page or a component of the page is loaded successfully. I will share my experience about the concept of the Loadable Component and Page Object patterns.

     

     

     
  • 2 favorite_border Jutta Eckstein 3forum

    Sociocracy – A means for true agile organizations

    Jutta Eckstein
    Jutta Eckstein
    schedule 1 month ago
    45 mins
    Talk
    Intermediate

    Sociocracy is a way for groups and organizations to self-organize. Based on four principles only (self-organizing teams, shared decision making based on consent, double-linking, and electing people to functions and tasks), sociocracy provides a path for existing organizations toward empowerment and self-responsibility on all levels. It enables managers to become agile leaders. Different to comparable models, sociocracy allows companies to start where they are – with their existing organizational structures and the like. It seems to be a perfect fit for organizations which are in the need to be agile truly (due to market pressure), beyond their IT departments and software teams.

    Moreover, on the team level - sociocracy provides a means for the Scrum Master and/or coach to enable self-organization.

     
  • 1 favorite_border Vinay Krishna 3forum

    DevOps or Devops - Living in silos with Tools or Living as one team

    Vinay Krishna
    Vinay Krishna
    schedule 2 months ago
    45 mins
    Talk
    Intermediate

    The moment I ask about Devops, I start hearing about lots of tools and automation. While working with various organizations I observed that we read about importance of communication and collaboration for Devops. However we ignore that and focus more on tool adoption and automation as learning new tool is easy and more interesting to any technical person. In this session I’m going to talk about how we could make communication and collaboration between two teams, Dev and Ops, more effective. How we could break down the silos between these two teams so that they can work as a single team for same goal and reach the state of Devops in reality.

     
  • 4 favorite_border Dr Ganesh Iyer 2forum

    Agile Testing: Practical tips and best practices to ship high quality products

    Dr Ganesh Iyer
    Dr Ganesh Iyer
    schedule 2 months ago
    45 mins
    Talk
    Intermediate

    With Agile software development methodology followed by most companies in the recent past, software development focus has been changed to deliver faster releases. This also affect the way we test within the sprint. This talk aims to deliver some of the basic principles of agile testing, highlighting challenges that QA teams face with agile methodology (such as short releases, frequent changes in requirements etc) and best practices that are followed by industry. This session will also cover how QA teams in Progress are prepared for shorter releases through various new processes and test approaches. These include practices such as same sprint automation, 24x7 testing, exploratory testing, end to end business scenarios testing, Go-Live testing and Go-Live automation. We intend to showcase our approaches stressing upon the importance of automation and continuous integration. We will also explain how thinking about customers and developing customer apps helps complement the testing that QA teams do for delivering better quality software.

     
  • 1 favorite_border Dipanjan Haldar 3forum

    Continuous performance testing and test automation made easy with Taurus, Jenkins and Jmeter

    Dipanjan Haldar
    Dipanjan Haldar
    schedule 3 months ago
    45 mins
    Demonstration
    Intermediate


    When it comes to performance testing, JMeter is awesome but may not be complete. In this session,
    we'll take a look at Taurus which is a free and open source automation framework, which is basically
    an abstraction layer over JMeter (or Grinder or Gatling or Selenium, with more tool support
    upcoming). The taurus  tests can be easily integrated with jenkins using the available plugins and helps us in running the tests seamlessly.


    Making Test Automation Simple with Taurus and Jmeter and integration with jenkins:
    • Extremely simple setup and upgrading
    • Ability to execute existing JMeter (or Grinder or Gatling or Selenium) tests
    • The ability to create new tests from scratch using user-defined files
    • Real-time reporting
    • Ability to integrate with Jenkins for Continuous integration of performance tests
    • Multiple test output formats
    • Native results format of the underlying testing tool
    • Console statistics and pseudo-graphic charts during the test execution
    • Easy way to define flexible pass/fail criteria. In case the results exceed a threshold, it is possible to
    automatically mark test(s) as failed
    • platform-independent- runs where Python and Java can run

     

    Business Benefits:

     

    • The entire implementation is based on open-source tools so no additional investment for tools.
    • The Taurus files are easy to understand, so no expertise is required in Jmeter for performance test development and maintenance. Can be handled easily by any team.
    • Daily reporting of the metrics helps to make concise decision about the overall quality of the product under test.
    • Highly suitable for agile based environment.

     

     

    This will be followed by a live -demo.

     
  • 1 favorite_border Krishnan Nair 4forum

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

    Krishnan Nair
    Krishnan Nair
    Sneha Jain
    Sneha Jain
    schedule 3 months ago
    20 mins
    Talk
    Beginner

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

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

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

     
  • 1 favorite_border Neema Cheriyath 1forum

    THE QA AGILE JOURNEY

    Neema Cheriyath
    Neema Cheriyath
    KANU ARAVIND
    KANU ARAVIND
    schedule 3 months ago
    45 mins
    Experience Report
    Intermediate

    Agile is a cultural journey complemented with the skills and expertise of a cross functional team. All departments – Dev, QA and Business has to mould their outlook and supplement it with respective technical and domain skills to give them an agile makeover. For QA, the transformation involves several other changes as well and the adoption curve is mostly rough. Most often, the Development and Business groups are observed to gel faster to agile world compared to the Quality Engineering department. This, perhaps could be because the challenges and outlook change associated with Quality Engineers’ transformation is of much higher degree compared to other units. There are higher chances that QA misses the bus or picks up late. The agile transformation of a company cannot be termed complete if QA transformation is incomplete.  In this presentation, Neema Cheriyath attempts to evaluate the various challenges that transforming companies and their QA is bound to experience in their agile journey. Neema narrates the lessons and experiences from her company’s endeavour with QA agile transformation and guides the audience with how QA could be better prepared for this journey and what could be done to ease and accelerate the QA agile adoption curve.

     
  • 1 favorite_border Pranay Chanda 6forum

    Transform Enterprise Finance Functions based on Lean-Agile budgeting Models

    Pranay Chanda
    Pranay Chanda
    schedule 3 months ago
    60 mins
    Talk
    Advanced

    We find that as enterprises drive business agility using lean agile methods, it faces friction and quickly hits against wall of rigid traditional budgeting methods and project based cost accounting.

    Traditional cost accounting believes in long horizon planning, it values plan accuracy with frequent variance analysis against original estimates rather than accept uncertainty, respond quickly to market trends. We notice frequent delays on re-approvals of changing budgets; a big WASTE. How can we transform finance functions to enable lean agile software and systems development?

    We can address this conflict with new Lean-Agile budgeting models that cater to the need of both the worlds: allowing empowered lean agile development programs for rapid decision making that are responsive to market, align with professional accountable management of dollar spends.

    Traditional cost center based investment planning is based on deliverables, but the content of such deliverables are changing rapidly that require flexible resourcing across projects.

    We all agree that agile portfolios need to execute and deliver value within an approved operating budget which is an outcome of strategic planning process at enterprise level. This paper describes the nuts and bolts around how to establish, administer and govern agile portfolio budgets

     
  • 1 favorite_border Prasanna Kumar Jagannathan 4forum

    Scaling Agile via the Spotify Model - A Case Study

    Prasanna Kumar Jagannathan
    Prasanna Kumar Jagannathan
    schedule 3 months ago
    45 mins
    Case Study
    Intermediate

    Spotify model is widely known model for scaling agile to get to fast releases and to promote creativity and innovation. In this session, we discuss about how Spotify model has been adapted outside Spotify in a major organization wide transformation to agile.   The session begins with a brief overview about the Spotify model. Then we discuss about the case study of implementing Spotify model across three continents in an onshore-offshore model.

    Spotify model encourages team independence from outside forces to promote new ideas. It encourages a marketplace of ideas to float in the organization so that the best ideas can be generated from the bottom instead of the top. Any dependencies between teams are well known by public contracts.

    We will discuss, how the team structure changed along with their responsibilities? How the change in the software team affected the organization?  How did leaders contribute value? Which changes were successful and what were not? What were the effects on software development team itself?

    PS: Participants can learn more about Spotify model at the link http://ucvox.files.wordpress.com/2012/11/113617905-scaling-agile-spotify-11.pdf

     
  • 1 favorite_border sripriya thinagar 6forum

    Forget Agile, Welcome Swiftly

    sripriya thinagar
    sripriya thinagar
    schedule 4 months ago
    45 mins
    Case Study
    Intermediate

    Picture this - You see a bunch of disgruntled developers, who haven't yet had their caffeine and stumble for what is the daily standups and provide a nice long winded update and never want to ask for help in front of their peers. They are then dragged once or twice a week to a grooming session and some details are given while they are still thinking about the work they are doing for the current iteration. If thats not sufficient, they are asked for estimates and they wonder what makes them go unnoticed. Then there is the planning day when they yawn and wonder why we do the retro every two weeks and do nothing about them or why they are asked to plan when they just finished the last piece of work yesterday.  All of this seems unnecessary if only someone told them what they are driving towards and how to leave them alone and get them to be productive.

    Come join me as i share some techniques that i have used with the teams i am part of, in helping build high performing culture while focusing on engaging customer experiences and delighting your customers.  

    Stop by, sit back, relax and enjoy the show

     
  • 1 favorite_border Mukta 6forum

    DevOps: Doing it right!

    Mukta
    Mukta
    schedule 3 months ago
    15 mins
    Talk
    Beginner

    DevOps is a trending buzz word. What is DevOps all about? DevOps is not just another name for infrastructure automation or system administration. It is a lot more.

    DevOps is about getting your development to delivery process done right. DevOps is more of a methodology than a tool chain. DevOps lets you leverage technology to build innovative business solutions.

    DevOps helps you build better software, software which can guarantee a long term survival in the unknown future world - it helps you adopt changes by following the Agile methodology.

    DevOps space is the most dynamic today with hundreds of new tools being talked about everyday. The debate has shifted from "Do we really need DevOps" to "How can I do it right?"

    I have contributed to development of DevOps tools, to operations and also in DevOps consultation to a wide range of clients where I got to see the real use cases of how DevOps needs to be adopted!

    Join me in my session where I would like to cover the entire spectrum of DevOps and the buzz around it.

     
  • 2 favorite_border Prasad 6forum

    Speed to Innvoation via pretotyping

    Prasad
    Prasad
    schedule 8 months ago
    20 mins
    Talk
    Intermediate

    Most of the Enterprise today are in a state where the business need to look beyond the aesthetics of a product or the nuts & bolts of a service…
    Where consumer engagement and loyalty count far more than features and benefits alone,  where consumer expect to interact with or even influence suppliers. The new Global Enterprise paradigm is increasingly shifting power into the hands of the end consumers. This empowerment will make consumers more connected, intelligent, more capable of taking good decisions, and certainly more demanding. More connected consumers, automated processes, and sophisticated analytics place unprecedented demands on IT functions.  Only by connecting all the dots between people, ideas, and data can a business drive consumer loyalty, engagement and value.  
    In this session I am going to brief on 'Pretotyping ' concept and techniques to learn on building the right 'it'. Recently I did session on same topic at Digital India conclave.

     
  • 1 favorite_border Mayur Shah 5forum

    Enabling SaaS Based Agile Delivery using Docker Containers

    Mayur Shah
    Mayur Shah
    schedule 4 months ago
    20 mins
    Case Study
    Intermediate

    SaaS platforms are here to stay. They provide number of advantages to the service provider as well as to the service consumer. For the service provider it offers a new way of delivering applications over the Internet—as a service. There is no need to manage complex environments at the end users end. SaaS applications are Web-based software, on-demand software, or hosted software. These run on a Service Provider's servers. The provider manages access to the application, including security, availability, and performance. For the end user, there is no hassle to install anything. Launch a browser and sign up and you are ready to go. Also there is no upfront cost, you pay as you go. and you pay only for how much you need.

    For SaaS Providers there is a big challenge to make sure, the Hosted Application is available always, can be accessed from anywhere, is secure and scalable to meet elastic demand from end users. Docker is a new container based virtuailization technology. Docker is extremely light weight, high density, and supports portable containers.

    Now lets consider an Enterprise creating a SaaS based web platform. There are many challenges for the Enterprise. Right from making sure the Platform or Service is always up and running, meets the needs of a highly dynamic user base, is constantly updated so users get benefit of new features, can be provisioned super fast, etc 

    In this session 20 minutes duration, we will only focus on a real world case study, on Docker can be leveraged to scale, manage and host thousands of users on a single SaaS platform using minimal Docker Containers.

    In this session participants can learn on how to use Docker to minimize on Cost while hosting a large user base SaaS Platform.

     
  • 3 favorite_border Pracheta 5forum

    Lessons learnt from Animal Kingdom to embrace Agility

    Pracheta
    Pracheta
    schedule 5 months ago
    20 mins
    Talk
    Intermediate

    There are several technologies that could enable an organization to build Agile platform & systems, however that's not the end of story. Agility & DevOps can only operate in it full potential if people participate with vigor. In this talk, you will learn how few ideas that I drew inspiration from. Oh yeah, you can absolutely learn from Animal Kingdom & master life skills that would enhance your work culture to another notch.

     

    Few glimpses.. will delve into few very useful traits of bears, monkeys, elephants to start with !

    Expect laughter, surprise & fun while you learn some tips & tricks on Agile way of doing stuff.

     
  • 1 favorite_border Brij Raj Singh 1forum

    Deploying a CoreOS cluster over cloud

    Brij Raj Singh
    Brij Raj Singh
    schedule 5 months ago
    20 mins
    Demonstration
    Advanced

    CoreOS is a lightweight version of Linux designed to support rapid creation of potentially very large clusters of VMs that use Linux containers as the only packaging mechanism, including Docker containers. This session describes the basics of CoreOS, and discusses why one should be using the CoreOS if you are using the Linux Containers.

    Audience will get to learn running/deploying a CoreOS cluster and also how the Container story fits well with the CoreOS.

     
  • 40 favorite_border Hugo Messer 8forum

    How to manage distributed teams successfully

    Hugo Messer
    Hugo Messer
    schedule 5 months ago
    45 mins
    Workshop
    Intermediate

    In Hugo’s workshop, participants will create a best practice board in teams of 5-6 people. The teams go through each block of ‘The Bridge Canvas’. The goal is to share best practices, ideas and experiences. Per block, each team selects the ‘best best practice’. At the end of the workshop, each team will present the best best practices for each block.

     

    At the start of the workshop, Hugo shares a few best practices (personal ones + from other distributed agile experts). Each person gets a handout with clear instructions. This includes some questions to stimulate thinking within the team + some best practice examples per block.