This document discusses the differences between a working group and a team. A working group has a clear leader, individual responsibilities and goals that align with the larger organization's mission. Performance is indirectly assessed based on impact to other areas. A team shares leadership, has collective responsibility and goals determined by the team. Performance is directly assessed based on results. Effective teams encourage open discussion to actively solve problems together. The definition of a team is provided as a small group with complementary skills committed to a common purpose, goals and mutual accountability. Examples of successful fictional teams are shown to illustrate.
Slides used at Get Out of the Frying Pan session at Evergreen Conference, 2009 by Lori Ayre and Cheryl Gould. Unfortunately, you don't get the benefit of the great activities we did during this fast-moving, fun, 45 minute session!
Slides used at Get Out of the Frying Pan session at Evergreen Conference, 2009 by Lori Ayre and Cheryl Gould. Unfortunately, you don't get the benefit of the great activities we did during this fast-moving, fun, 45 minute session!
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx UK 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016Matt Raible
Microservices are all the rage and being deployed by many Java Hipsters. If you’re working on a large team that needs different release cycles for product components, microservices can be a blessing. If you’re working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain. Share your knowledge and experience about microservices in this informative and code-heavy talk.
We’ll use JHipster (a Yeoman generator) to create Angular + Spring Boot apps on separate instances with a unified front-end. I’ll also show you options for securing your API gateway and individual applications using JWT. Heroku, Kubernetes, Docker, ELK, Spring Cloud, Stormpath; there will be plenty of interesting demos to see!
Comparing JVM Web Frameworks - February 2014Matt Raible
My Comparing JVM Web Frameworks talk as presented at Denver's Open Source User Group (@dosug) and vJUG (@virtualjug). Covers the history of web frameworks as well as various methods for choosing one. Video on YouTube at https://www.youtube.com/watch?v=ygW8fJVlDxQ.
Getting rid of agile in a few simple stepsHanno Jarvet
How to get rid of Agile, Lean, Kanban and Scrum. If you know how to get rid of Agile, you are better at protecting it. All change initiatives have to compete with the status quo. How to take a systems/hacker view of change initiatives to find weaknesses you can exploit.
Scrum Master Lessons from my 4 Year Old SonRyan Ripley
At a recent cookout, my 4 year old son, Dawson, ran for the back yard and easily joined a game of hide and seek. Watching this unfold, I realized that these kids are naturally agile. They got straight to playing (the value) and didn’t need a lot of ceremony to get there. They kids all did a quick hello, told Dawson what game they were playing, and invited him to join in (daily scrum). Then they played.
He and his friends self-organize, self-manage, and solve problems on the fly. They naturally exhibit the agile values and scrum practices that many adults struggle with daily.
For example, most parents have been bombarded with an unending stream of “Why’s?” from their child. Why does this work? Why did that happen? Why? Why? Why? While this line of questioning can be stressing, it is also invaluable to finding the root cause of an issue. Scrum teams use this approach – called The 5-Why’s – to get past technical issues and down to interpersonal issues that could be hindering the team.
This session is a fun discussion about the behaviors I’ve noticed in my son and how they translate to important lessons that all scrum master need to learn to better serve their teams.
OSDC 2012 | Devops and Open Source by Kris BuyaertNETWAYS
For the past couple of years everybody from your cat to the Gartner analysts have been talking about devops, but what is this devops thing. Why does it matter .. and what does it have to do with Open Source?
We've come a long way since introducing new ideas in server automation and deployment, and also in creating a culture of collaboration between the traditional silos in organizations. But how does this impact the traditional sysadmin world? Are we all a DevOps now? Does a DevOps person = sysadmin 2.0? Will DevOps put us out of a job? I will give a brief overview of how culture, workflow, and behavior have evolved.
After evaluating the past and the present, I will talk about the future, identifying technical gaps in monitoring, packaging, and data collection and identifying emerging human, organizational evolutions.
OSDC 2012 | Devops and Open Source by Kris BuytaertNETWAYS
For the past couple of years everybody from your cat to the Gartner analysts have been talking about devops, but what is this devops thing. Why does it matter .. and what does it have to do with Open Source?
We've come a long way since introducing new ideas in server automation and deployment, and also in creating a culture of collaboration between the traditional silos in organizations. But how does this impact the traditional sysadmin world? Are we all a DevOps now? Does a DevOps person = sysadmin 2.0? Will DevOps put us out of a job? I will give a brief overview of how culture, workflow, and behavior have evolved.
After evaluating the past and the present, I will talk about the future, identifying technical gaps in monitoring, packaging, and data collection and identifying emerging human, organizational evolutions.
Scrum and Patterns share a heritage that goes back centuries. The common foundations of the two — local adaptation, incremental growth, focus on "value," and the central human element — make patterns a particularly viable vehicle for rolling out Scrum. These notes give a short definitive summary of patterns (by example) and pattern languages. Next, they introduce basic Scrum patterns that the Scrum PLoP® effort has gathered over the past five years. After that we look at the "Scrum secrets" — Scrum fundamentals that most practitioners either aren't aware of or which usually go unheeded. Patterns help tease out the tradeoffs ("forces") for these forms in a way that makes them memorable. Last, we give a glimpse of how to use these patterns as a powerful way to evolve your own Scrum implementation to excellence.
How to get your agile development team to love you (product camp, 3.14)Ron Lichty
Product managers and product owners can engage and motivate their teams to delight customers - or they can distract and dishearten their teams. Ron Lichty has been a product manager and VP in among leading development organizations and teams. As a development leader, he regards product managers who "get it" as key partners in delivering great work. This Product Camp talk delivers 15 ways to engage and motivate teams - so you can, together, delight customers.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx UK 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016Matt Raible
Microservices are all the rage and being deployed by many Java Hipsters. If you’re working on a large team that needs different release cycles for product components, microservices can be a blessing. If you’re working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain. Share your knowledge and experience about microservices in this informative and code-heavy talk.
We’ll use JHipster (a Yeoman generator) to create Angular + Spring Boot apps on separate instances with a unified front-end. I’ll also show you options for securing your API gateway and individual applications using JWT. Heroku, Kubernetes, Docker, ELK, Spring Cloud, Stormpath; there will be plenty of interesting demos to see!
Comparing JVM Web Frameworks - February 2014Matt Raible
My Comparing JVM Web Frameworks talk as presented at Denver's Open Source User Group (@dosug) and vJUG (@virtualjug). Covers the history of web frameworks as well as various methods for choosing one. Video on YouTube at https://www.youtube.com/watch?v=ygW8fJVlDxQ.
Getting rid of agile in a few simple stepsHanno Jarvet
How to get rid of Agile, Lean, Kanban and Scrum. If you know how to get rid of Agile, you are better at protecting it. All change initiatives have to compete with the status quo. How to take a systems/hacker view of change initiatives to find weaknesses you can exploit.
Scrum Master Lessons from my 4 Year Old SonRyan Ripley
At a recent cookout, my 4 year old son, Dawson, ran for the back yard and easily joined a game of hide and seek. Watching this unfold, I realized that these kids are naturally agile. They got straight to playing (the value) and didn’t need a lot of ceremony to get there. They kids all did a quick hello, told Dawson what game they were playing, and invited him to join in (daily scrum). Then they played.
He and his friends self-organize, self-manage, and solve problems on the fly. They naturally exhibit the agile values and scrum practices that many adults struggle with daily.
For example, most parents have been bombarded with an unending stream of “Why’s?” from their child. Why does this work? Why did that happen? Why? Why? Why? While this line of questioning can be stressing, it is also invaluable to finding the root cause of an issue. Scrum teams use this approach – called The 5-Why’s – to get past technical issues and down to interpersonal issues that could be hindering the team.
This session is a fun discussion about the behaviors I’ve noticed in my son and how they translate to important lessons that all scrum master need to learn to better serve their teams.
OSDC 2012 | Devops and Open Source by Kris BuyaertNETWAYS
For the past couple of years everybody from your cat to the Gartner analysts have been talking about devops, but what is this devops thing. Why does it matter .. and what does it have to do with Open Source?
We've come a long way since introducing new ideas in server automation and deployment, and also in creating a culture of collaboration between the traditional silos in organizations. But how does this impact the traditional sysadmin world? Are we all a DevOps now? Does a DevOps person = sysadmin 2.0? Will DevOps put us out of a job? I will give a brief overview of how culture, workflow, and behavior have evolved.
After evaluating the past and the present, I will talk about the future, identifying technical gaps in monitoring, packaging, and data collection and identifying emerging human, organizational evolutions.
OSDC 2012 | Devops and Open Source by Kris BuytaertNETWAYS
For the past couple of years everybody from your cat to the Gartner analysts have been talking about devops, but what is this devops thing. Why does it matter .. and what does it have to do with Open Source?
We've come a long way since introducing new ideas in server automation and deployment, and also in creating a culture of collaboration between the traditional silos in organizations. But how does this impact the traditional sysadmin world? Are we all a DevOps now? Does a DevOps person = sysadmin 2.0? Will DevOps put us out of a job? I will give a brief overview of how culture, workflow, and behavior have evolved.
After evaluating the past and the present, I will talk about the future, identifying technical gaps in monitoring, packaging, and data collection and identifying emerging human, organizational evolutions.
Scrum and Patterns share a heritage that goes back centuries. The common foundations of the two — local adaptation, incremental growth, focus on "value," and the central human element — make patterns a particularly viable vehicle for rolling out Scrum. These notes give a short definitive summary of patterns (by example) and pattern languages. Next, they introduce basic Scrum patterns that the Scrum PLoP® effort has gathered over the past five years. After that we look at the "Scrum secrets" — Scrum fundamentals that most practitioners either aren't aware of or which usually go unheeded. Patterns help tease out the tradeoffs ("forces") for these forms in a way that makes them memorable. Last, we give a glimpse of how to use these patterns as a powerful way to evolve your own Scrum implementation to excellence.
How to get your agile development team to love you (product camp, 3.14)Ron Lichty
Product managers and product owners can engage and motivate their teams to delight customers - or they can distract and dishearten their teams. Ron Lichty has been a product manager and VP in among leading development organizations and teams. As a development leader, he regards product managers who "get it" as key partners in delivering great work. This Product Camp talk delivers 15 ways to engage and motivate teams - so you can, together, delight customers.
The best processes are those that encourage teams to naturally do the right things at the right times. Amazing processes like this don’t happen by accident; they are specifically designed to encourage desirable behavior while discouraging harmful behaviour. By carefully choosing the process’s affordances -- practices or artifacts that direct our thinking toward a specific goal -- a team can tailor a process that makes success intuitive. The session will begin by presenting the core concepts behind affordence-driven process improvement before diving into a collaborative workshop. During the workshop teams will use information from the introduction to brainstorm practices that will help them promote those values, as you would in a team retrospective.
Crash course- managing software people and teamsRon Lichty
"We'd like you to manage the team now." That's about as much introduction - and training - as many of us get before our first day managing. Often preceded only by, "You're a great programmer,” and maybe, “it feels like you've got some people skills.”
But while programming cred and facility with people are helpful qualifications, what do you really need to know to manage well? What makes a manager great? What are the qualities that meld teams and deliver great software? What will make both your programmers and your execs rave? Those are among the questions that led Ron Lichty and his co-author Mickey W. Mantle to write "Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams" (Addison-Wesley).
In this interactive session, Ron will examine the great managers each of us has experienced, and the qualities, skills, finesse and gifts of greatness that made them stand out. He'll talk about "the rest of the job": managing up, managing out, and other aspects of being a seasoned manager that reports mostly don't see.
You'll take away a few best practices that take most managers years to discover.
Bio:
Ron Lichty has been managing and, more recently, consulting in software development and product organizations for over 25 years at companies like Apple, Fujitsu, Schwab, Razorfish, Forensic Logic, Stanford, Check Point, and dozens of startups of all sizes. Before that, as a programmer, he coded compiler code generators, was awarded patents for compression and security algorithms for embedded microcontroller devices, wrote two widely used programming texts, and developed the computer animation demo that Apple used to launch and sell a next-generation line of PCs. He has mostly managed development teams and organizations, but also product managers, project managers, testers, designers, … pretty much everyone on product teams. The primary focus of his consulting practice, these last four years, has mirrored what he did as a manager: untangling the knots in software development. His career has spanned web applications, system software, entertainment, shrinkwrap products, ecommerce, interface development, embedded devices, professional services and IT - and grew from first level managing to VP Engineering, VP Product and CTO roles.
As Ron Lichty Consulting, he takes on fractional Interim VP Engineering and Acting CTO roles, trains teams in scrum, transitions teams to agile, trains managers in managing software people and teams, and coaches teams to make their software development “hum.” http://www.ronlichty.com
His 450-page book, Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams (http://www.ManagingTheUnmanageable.net), published by Addison Wesley, has been compared by many readers to programming classics The Mythical Man-Month and Peopleware. He also co-authors the biannual Study of Product Team Performance (http://www.ronlichty.com/study.html).
My talk from Drupalcamp London Business Day on 1st March 2013
When building big websites, you're going to face a lot of problems regardless of your technology choice. This talk unveils some of the common problems, and shows how the Drupal community will help you solve these problems.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
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.
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.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
3. Working Group or Team?
Working Group Team
• 強勢、聚焦清楚的領導人 • 成員分攤領導人的角色
• 個人的責任 • 個人和共同的責任
• 團體的目的和更廣大組織的 • 由團隊自行提出的特定團隊
使命相同 目的
• 個人的工作成果 • 集體的工作成果
• 開會很有效率 • 鼓勵開放式的討論,開會時
• 用間接方式評估團體的成效, 主動積極解決問題
像是衡量這個團體對其他事 • 直接用評估集體工作成果的
項(例如事業單位的財務績效) 方式,來衡量績效
的影響 • 一起討論、決定和實際執行
• 討論、決定和授權 工作
Jon R. Katzenbach and Douglas K. Smith, The Discipline of Teams, Harvard Business Review, July – August 2005
3
瓊.卡然巴哈、道格拉斯.史密斯,團隊力,《哈佛商業評論》 2007年11月號
4. The Definition of “Team”
• A team is a small number of people with
complementary skills who are committed to a
common purpose, set of performance goals,
and approach for which they hold themselves
mutually accountable.
– Jon R. Katzenbach and Douglas K. Smith
4
5. A Team?!
5
http://www.imdb.com/media/rm2088680704/tt0117060
6. A Team!!
6
http://trakt.tv/show/mission-impossible-1988
7. Another Team!!!
7
http://www.toptenz.net/top-10-strangest-fan-fiction-stories.php/sailor-moon
9. Be Passionate!
• Why are you here?
– You thought programming might pay well?
– Your parents encouraged you?
– You couldn’t think of a better major in college?
• Love It or Leave It!
– Go find a job you’re actually passionate about.
• Work because you couldn’t not work!
Chad Fowler, The Passionate Programmer, p. 69 – 71, Pragmatic Bookshelf, June 2009 9
10. Be Pragmatic!
• Put yourself in the larger context
• Take responsibility for everything you do
– Never let cat ate your source code.
• Work outside the vacuum
– Communicate!
Andrew Hunt and David Thomas, The Pragmatic Programmer: From Journeyman to Master – ch. 1, Addison Wesley, October 1999 10
11. Don’t Programming by Coincidence
• Always be aware of what you are doing
• Don't code blindfolded
– Rely only on reliable things.
– Don't guess; actually try it.
• Don't be a slave to history
Andrew Hunt and David Thomas, The Pragmatic Programmer: From Journeyman to Master - Tip 44, Addison Wesley, October 1999 11
12. Don't Reinvent the Wheel
• Wheels everywhere
– Bright young developers rarely encounter a
problem they can’t solve
– But the problems they solve have usually already
been solved by someone else.
• Show people your wheels frequently
– Coordinate and communicate every day.
– Daily meetings!
Jared Richardson and William Gualtney Jr., Ship It!, p.79 – 80, Pragmatic Bookshelf, May 2005 12
17. Comment Your Code
• Write comments as if they were for you
– As soon as a line of code is laid on the screen,
you’re in maintenance mode on that piece of code.
• Comment your code with tags, if necessary
// FIXME 不做會挫起來的事情
// TODO 不做有損我大師風範的事
• Let your code speak for itself
17
http://www.devtopics.com/13-tips-to-comment-your-code/
18. // Commented-Out Code
• // Don’t do this!
– // There was a time, back in the sixties, when
// commenting-out code might have been useful.
• // Nowadays, just delete the code
– // We won’t lose it. Promise.
– // Revision control system will remember it.
Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, p. 68., Prentice Hall, August 2008 18
19. Eliminate Every Warning
• Warning means something
– Bugs came from something
– 魔鬼都藏在細節裡
• Eliminate every warning in Eclipse
– Open your [Marker] View
– Quick Fix (Ctrl + 1) is your best friend
– Exclude those raised by the limit of tools
judiciously. e.g. JSP page or JavaScript code.
19
http://en.wikipedia.org/wiki/Software_bug
20. Separate Test from Main Code
• Bad smells
– System.out.println(),e.printStackTrace()…
• Redirect them to logger (with meaningful message).
– Local resources
• Bundle them as class-path resources.
– Hard-coded variable values
• Move them to database, properties, or anywhere.
– main() method
• Replace it by one or more test cases.
20
21. Test, and Then Test More
• 出來跑,不論做過什麼,遲早要還!
– 倪永孝 《無間道》
• Just do it!
21
23. When Eclipse meets Maven
mvn test-compile
• Most “clean”s are just a waste of time
– Prefer Eclipse “clean” than the Maven one
– Only perform Maven “clean” if you get in trouble!
• Always run “test-compile” phase only
– Never run “package” or “install” phase manually.
23
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
24. No More “Run As…”
• Install the “Eclipse Runner Plugin”
• Official Site: http://code.google.com/p/eclipserunnerplugin/
• Update Site : http://eclipserunnerplugin.googlecode.com/svn/trunk/EclipseRunnerSite/
24
26. You Can’t Recall
• The palest ink is better than the best memory
• List everything important
– Trust ink over memory.
– List is the most natural way.
Andy Hunt, Pragmatic Thinking and Learning, p. 124, 134 , Pragmatic Bookshelf, November 2008 26
27. Work to The List
• Redmine as the List
– Publicly available (better through Mylyn)
– Prioritized
– On a time line
– Living
– Measurable
Jared Richardson and William Gualtney Jr., Ship It!, p.61, Pragmatic Bookshelf, May 2005 27
32. Comment Every Commit
• Avoid comment which says nothing at all!
XXX026W updated by beta @2011/12/6
• Be precise and exhaustive
– In the optimal case, I shouldn’t need to read your
code.
32
http://www.iovene.com/21/
33. Commit Logical Changesets
• Commit early, commit often!
– Commit as soon as your changes makes a logical
unit.
• Make sure your change reflects a single
purpose
– If your SVN comment looks like “Fixing bug #4321
and correcting typo in debug string” then you
should’ve used two commits.
33
http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html
34. Never Ever Break the Trunk
• What if my build failed after updating…
1. Keep going, nothing can stop me!
2. I am glad to fix it for you!
3. Are your tired, should I massage you for a while?
• 己所不欲,勿施於人
34
36. Jenkins As Your Butler*
• Build your every commit
– Run raw build and test after every commit
• Life or die within 3 minutes
– Run static analysis after the raw build succeed
• FindBugs, PMD, CPD, Checkstyle…
• Do something boring for you
– Auto deploy to Maven repository
– Auto deploy to test Application Server
36
* http://jenkins-ci.org/content/hudsons-future
38. What If I Fail the Build
• Culprit(s) will be notified. Verify and claim it
– To ease anger from others
• Fix it as soon as possible
John Ferguson Smart, Jenkins: The Definitive Guide (Creative Commons Edition), p. 202 – 203., O’Reilly Media, July 2011 38
39. Honor to Static Analysis Results
• Fix every FindBugs high priority bug
• Shape your trend graph
– Test Result and Code Coverage graph growing
– All others decreasing until they reach zero
39
41. Continuous Improve Yourself
• Code productively
– Incorporating pair-programming.
• Verify judiciously
– Automate every tests.
– Find a reviewer to sing-off your modification.
• Commit proudly
– Then pick next feature from the list and start over.
• And… go home early
41