TDD is the elengant way of designing software. People scares from it so much, because software design is hard and it requires discipline. In this talk, I tried to describe what TDD is from software design perspective.
1) The document discusses the opportunity for technology to improve organizational efficiency and transition economies into a "smart and clean world."
2) It argues that aggregate efficiency has stalled at around 22% for 30 years due to limitations of the Second Industrial Revolution, but that digitizing transport, energy, and communication through technologies like blockchain can help manage resources and increase efficiency.
3) Technologies like precision agriculture, cloud computing, robotics, and autonomous vehicles may allow for "dematerialization" and do more with fewer physical resources through effects like reduced waste and need for transportation/logistics infrastructure.
How I got 2.5 Million views on Slideshare (by @nickdemey - Board of Innovation)Board of Innovation
This document provides tips for creating engaging slide decks on SlideShare that garner many views. It recommends focusing on quality over quantity when creating each slide, using compelling images and headlines, and including calls to action throughout. It also suggests experimenting with sharing techniques and doing so in waves to build momentum. The goal is to create decks that are optimized for sharing and spread across multiple channels over time.
An immersive workshop at General Assembly, SF. I typically teach this workshop at General Assembly, San Francisco. To see a list of my upcoming classes, visit https://generalassemb.ly/instructors/seth-familian/4813
I also teach this workshop as a private lunch-and-learn or half-day immersive session for corporate clients. To learn more about pricing and availability, please contact me at http://familian1.com
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
In an ever-changing landscape of one digital disruption after another, companies and organisations are looking for new ways to understand their target markets and engage them better. Increasingly they invest in user experience (UX) and customer experience design (CX) capabilities by working with a specialist UX agency or developing their own UX lab. Some UX practitioners are touting leaner and faster ways of developing customer-centric products and services, via methodologies such as guerilla research, rapid prototyping and Agile UX. Others seek innovation and fulfilment by spending more time in research, being more inclusive, and designing for social goods.
Experience is more than just an interface. It is a relationship, as well as a series of touch points between your brand and your customer. Here are our top 10 highlights and takeaways from the recent UX Australia conference to help you transform your customer experience design.
For full article, continue reading at https://yump.com.au/10-ways-supercharge-customer-experience-design/
The document describes a collection of 100 presentation slides from the 2010 Cannes Lions Advertising festival, where some of the world's best storytellers and advertisers gathered from June 20-26. The slides are meant to inspire the reader to create beautiful presentations by showcasing slide designs from top presenters at the annual advertising event. A brief description notes the slides were taken by the author at the festival to provide creative inspiration.
17 Ways to Design a Presentation People Want to ViewJim MacLeod
Tired of boring PowerPoint presentations? Me too. Here are 17 tips to help you create a presentation that not only engages the audience, but forces them to remember what you want them to remember.
1) The document discusses the opportunity for technology to improve organizational efficiency and transition economies into a "smart and clean world."
2) It argues that aggregate efficiency has stalled at around 22% for 30 years due to limitations of the Second Industrial Revolution, but that digitizing transport, energy, and communication through technologies like blockchain can help manage resources and increase efficiency.
3) Technologies like precision agriculture, cloud computing, robotics, and autonomous vehicles may allow for "dematerialization" and do more with fewer physical resources through effects like reduced waste and need for transportation/logistics infrastructure.
How I got 2.5 Million views on Slideshare (by @nickdemey - Board of Innovation)Board of Innovation
This document provides tips for creating engaging slide decks on SlideShare that garner many views. It recommends focusing on quality over quantity when creating each slide, using compelling images and headlines, and including calls to action throughout. It also suggests experimenting with sharing techniques and doing so in waves to build momentum. The goal is to create decks that are optimized for sharing and spread across multiple channels over time.
An immersive workshop at General Assembly, SF. I typically teach this workshop at General Assembly, San Francisco. To see a list of my upcoming classes, visit https://generalassemb.ly/instructors/seth-familian/4813
I also teach this workshop as a private lunch-and-learn or half-day immersive session for corporate clients. To learn more about pricing and availability, please contact me at http://familian1.com
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
In an ever-changing landscape of one digital disruption after another, companies and organisations are looking for new ways to understand their target markets and engage them better. Increasingly they invest in user experience (UX) and customer experience design (CX) capabilities by working with a specialist UX agency or developing their own UX lab. Some UX practitioners are touting leaner and faster ways of developing customer-centric products and services, via methodologies such as guerilla research, rapid prototyping and Agile UX. Others seek innovation and fulfilment by spending more time in research, being more inclusive, and designing for social goods.
Experience is more than just an interface. It is a relationship, as well as a series of touch points between your brand and your customer. Here are our top 10 highlights and takeaways from the recent UX Australia conference to help you transform your customer experience design.
For full article, continue reading at https://yump.com.au/10-ways-supercharge-customer-experience-design/
The document describes a collection of 100 presentation slides from the 2010 Cannes Lions Advertising festival, where some of the world's best storytellers and advertisers gathered from June 20-26. The slides are meant to inspire the reader to create beautiful presentations by showcasing slide designs from top presenters at the annual advertising event. A brief description notes the slides were taken by the author at the festival to provide creative inspiration.
17 Ways to Design a Presentation People Want to ViewJim MacLeod
Tired of boring PowerPoint presentations? Me too. Here are 17 tips to help you create a presentation that not only engages the audience, but forces them to remember what you want them to remember.
This list is more or less a curation of tips I've surfaced from my reading or research and from what I've observed from being around some incredible investors and successful entrepreneurs. Note, this advice is geared towards ideation through product-market fit level startups, but the life tips are universally applicable I would say.
When possible, I tried to make the tip "actionable", which I define as something that's able to be done;
or an action having practical value.
So, in no particular order, I give you the Startup and Life Tips for Entrepreneurs: a Journal of Thoughts...
The Great State of Design with CSS Grid Layout and FriendsStacy Kvernmo
This document discusses the importance of doing work that you love and believe is great. It includes a quote from Steve Jobs about finding truly satisfying work by doing what you believe is great work and loving what you do. The rest of the document provides examples of challenges, questions, and discussions that commonly come up for designers in their work.
Help Young Talent Develop a Professional MindsetDaniel Goleman
There is a chasm between what business leaders expect from recent graduates, and what these new hires offer. In a Hay Group study of 450 business leaders and 450 recent graduates based in India, the US, and China… a massive 76% of business leaders reported that entry-level workers and recent grads are not ready for their jobs.
In most cases, these hires are intelligent, ambitious, and technically savvy. They have proven their ability to accomplish the work. They’re committed and passionate about rising through the ranks. So what are these new professionals missing?
They’re lacking soft skills.
https://www.wrike.com/blog - We surveyed creative teams to discover their biggest challenges and bottlenecks, from conception to completion. And what we discovered was: creative teams have to organize requests, listen to feedback, and seek approvals, all while trying to incorporate their own creative vision, making it difficult to prioritize and meet deadlines. Check out the details in our Slideshare.
How to Use Social Media to Influence the WorldSean Si
Here's the deck to my talk for the 23rd ASA Congress which was at The Grand Ballroom of Marriott Hotel. It was an awesome experience and I only had two points:
1) Use social media for good and
2) You have to have authority to use social media influentially.
My company: https://seo-hacker.net
Fight for Yourself: How to Sell Your Ideas and Crush PresentationsDigital Surgeons
Don't let your blood, sweat, and pixels be overlooked, great creative doesn't sell itself.
Every presentation is a story, an opportunity to sell not just your work, but what people actually buy — YOU.
This presentation will walk viewers through three core aspects of winning at any presentation, Confidence, Comprehension, and Conviction.
These concepts, central to your work as a creative professional, are backed by science and bolstered by thoughts from some of the world’s leading creative professionals.
Three business basics to always remember! People don't care about your brand. They care about what you can do for them. Back to basics... Give people what they want, do it consistently and do it better than your competition.
Every startup begins with an idea. This is a talk on how to come up with startup ideas and how to use validation to pick the ones worth working on. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=GkmiE8d_5Pw
What would the ultimate project manager be like? Can you become that person? Explore this guide to develop the top five skills every project manager should possess.
Learn more: http://www.lynda.com/Project-Management-training-tutorials/39-0.html
Using ChatGPT can be helpful in presentations to explain concepts in easy-to-understand terms.
Pairing that with Dall-E 2 can make your slides fun and interesting.
This document discusses product validation through product discovery. It notes that 64% of software features are rarely or never used, so product discovery is important to ensure the right product is built for the right audience. Product discovery involves understanding customer needs through techniques like ideation, opportunity assessments, customer discovery, story mapping, MVP testing, prototypes, and user testing to minimize risks and learn fast. The goal is to gain evidence that the product engineers build will not be a wasted effort. Product discovery is then followed by product delivery to build and ship the product.
Hi! We're the creative team behind Hypothesis's reports, presentations, and infographics, and we're sharing out our best tips. Please share with someone you think would enjoy this slideshow.
www.hypothesisgroup.com
www.linkedin.com/companies/hypothesis-group
www.instagram.com/hypothesisgroup
This document contains slides from a presentation by Andre Woolery on designing effective presentations by making slides visually appealing. The presentation covers various design elements like fonts, color, composition, shapes, and images that can be manipulated to grab audiences' attention and keep them engaged. It provides examples and tips for using these elements like using bold text or different font sizes to create emphasis, leveraging color to attract the eye or accentuate points, and guiding the viewer's eye through slide composition and alignment.
This is the first SlideShare adaption of Timothy E. Johansson's 100 Growth Hacks in 100 Days. The growth hacks that's included in the slide are 1 to 10. Timothy is the front-end developer at UserApp (www.userapp.io).
25 stats—13 positive, 12 negative—that reflect the marketing world, including content marketing, social media, email newsletters, analytics, blogging, digital video, and more.
Keep these stats in mind when crafting your marketing strategy.
We held the largest ever Virtual SlideShare Summit a week back, if you missed it here's your chance to hear from the experts once more on some of the takeaways on presentation design and SlideShare Marketing
(Last change, July 2: Removed as beyond most teams' scope Eyetracking Study, Clickstream Analysis, Usability Benchmarking; Added Live-Data Prototypes, Demand Validation Test, Wizard of Oz Tests)
For our teams tasked with building products and features for The New York Times, we face a common challenge with many: how do we figure out what’s worth spending our time on?
The answer seems straightforward: test your ideas with real customers, leveraging the expertise of your product, UX, and engineering talent. Figure out the smallest test that you can come up with to test a specific hypothesis, gather data and insights, and keep iterating on it until you know whether the problem is real and your solution will prove valuable, usable, and feasible.
As part of our efforts to adopt such a data-driven, experimental approach to product development, we recently kicked off a product discovery pilot program. Small, cross-functional teams were paired with coaches and facilitators over a six week period to demonstrate how product discovery and Lean Startup techniques could work for real-world customer opportunities at The New York Times.
One of the first things that we learned about the process from our participants was that they wanted a "toolkit" - something to help them figure out what they should be doing, asking or making to get as quickly as possible towards the validated learning, prototypes and user tests that would have the most impact.
To help the facilitate the learning process for our dual-track Agile teams, the Product Architecture team here at The Times (Christine Yom, Jim Lamiell, Josh Turk, Priya Ollapally, and Al Ming) built a "Product Discovery Activity Guide" that rolled up activities, exercises, and testing techniques from all our favorite thought leaders.
This included brainstorming exercises from Gamestorming and Innovation Games, testing techniques from traditional user research, and rapid test-and-learn tactics from Google Ventures, Eric Ries (The Lean Startup), Jeff Gothelf (Lean UX), Steve Blank (Customer Development) and our spirit guide, Marty Cagan (Inspired), among others.
Our goal was to make it a tool not just for learning how to get started, but to be a living document for teams to share knowledge about the process itself. What techniques worked and didn't work? What tactics did they learn elsewhere that might be worth sharing with the rest of the company?
We hope you find it useful, and whether you’d like to share with us what you’re doing with it, or you have suggestions (big or small) to improve it for future product generations, please let us know! (nyt.tech.productarchitecture@nytimes.com)
Al Ming
July 2015
The document summarizes key takeaways from the SXSW conference. Some of the main topics discussed include: 1) The importance of designing technology with purpose and creating positive human experiences. 2) How collaboration between companies can drive innovation. 3) The value of not being constrained by audiences and taking creative risks. 4) The growing role of virtual and augmented reality. 5) How the rate of technological change is accelerating exponentially. 6) How cognitive computing is being applied across many domains to solve problems. 7) Emerging technologies like self-driving cars that are closer to widespread use than perceived. 8) How ubiquitous computing is already integrating technology into many aspects of life. 9) The growing role of robots and focus on
Karlyn Borysenko and I discuss the elements of putting together an impactful presentation and how to submit them to conferences.
Originally presented at Penn State Web - updated and reshared at HighEdWeb 2016 in Memphis Tennessee.
The document describes Florida's Technology Integration Matrix, which provides a framework for integrating technology into teaching and learning. It outlines 5 levels of technology integration (Entry, Adoption, Adaptation, Infusion, Transformation) and defines each level in terms of the role of the teacher and students with technology.
The document discusses NASA's social media strategy and evolution. It notes that NASA has over 467 social media accounts managed by 2 full-time employees, 10 center social media leads, and 11 part-time leads. The accounts have evolved organically over time into a structured "solar system" model with flagship accounts at the center and more specialized niche accounts. The strategy harnesses the power of flagship accounts to reach broad audiences while allowing specialized accounts to engage specific interest groups. This approach has helped NASA achieve milestones like the first tweet from space in 2009.
This list is more or less a curation of tips I've surfaced from my reading or research and from what I've observed from being around some incredible investors and successful entrepreneurs. Note, this advice is geared towards ideation through product-market fit level startups, but the life tips are universally applicable I would say.
When possible, I tried to make the tip "actionable", which I define as something that's able to be done;
or an action having practical value.
So, in no particular order, I give you the Startup and Life Tips for Entrepreneurs: a Journal of Thoughts...
The Great State of Design with CSS Grid Layout and FriendsStacy Kvernmo
This document discusses the importance of doing work that you love and believe is great. It includes a quote from Steve Jobs about finding truly satisfying work by doing what you believe is great work and loving what you do. The rest of the document provides examples of challenges, questions, and discussions that commonly come up for designers in their work.
Help Young Talent Develop a Professional MindsetDaniel Goleman
There is a chasm between what business leaders expect from recent graduates, and what these new hires offer. In a Hay Group study of 450 business leaders and 450 recent graduates based in India, the US, and China… a massive 76% of business leaders reported that entry-level workers and recent grads are not ready for their jobs.
In most cases, these hires are intelligent, ambitious, and technically savvy. They have proven their ability to accomplish the work. They’re committed and passionate about rising through the ranks. So what are these new professionals missing?
They’re lacking soft skills.
https://www.wrike.com/blog - We surveyed creative teams to discover their biggest challenges and bottlenecks, from conception to completion. And what we discovered was: creative teams have to organize requests, listen to feedback, and seek approvals, all while trying to incorporate their own creative vision, making it difficult to prioritize and meet deadlines. Check out the details in our Slideshare.
How to Use Social Media to Influence the WorldSean Si
Here's the deck to my talk for the 23rd ASA Congress which was at The Grand Ballroom of Marriott Hotel. It was an awesome experience and I only had two points:
1) Use social media for good and
2) You have to have authority to use social media influentially.
My company: https://seo-hacker.net
Fight for Yourself: How to Sell Your Ideas and Crush PresentationsDigital Surgeons
Don't let your blood, sweat, and pixels be overlooked, great creative doesn't sell itself.
Every presentation is a story, an opportunity to sell not just your work, but what people actually buy — YOU.
This presentation will walk viewers through three core aspects of winning at any presentation, Confidence, Comprehension, and Conviction.
These concepts, central to your work as a creative professional, are backed by science and bolstered by thoughts from some of the world’s leading creative professionals.
Three business basics to always remember! People don't care about your brand. They care about what you can do for them. Back to basics... Give people what they want, do it consistently and do it better than your competition.
Every startup begins with an idea. This is a talk on how to come up with startup ideas and how to use validation to pick the ones worth working on. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=GkmiE8d_5Pw
What would the ultimate project manager be like? Can you become that person? Explore this guide to develop the top five skills every project manager should possess.
Learn more: http://www.lynda.com/Project-Management-training-tutorials/39-0.html
Using ChatGPT can be helpful in presentations to explain concepts in easy-to-understand terms.
Pairing that with Dall-E 2 can make your slides fun and interesting.
This document discusses product validation through product discovery. It notes that 64% of software features are rarely or never used, so product discovery is important to ensure the right product is built for the right audience. Product discovery involves understanding customer needs through techniques like ideation, opportunity assessments, customer discovery, story mapping, MVP testing, prototypes, and user testing to minimize risks and learn fast. The goal is to gain evidence that the product engineers build will not be a wasted effort. Product discovery is then followed by product delivery to build and ship the product.
Hi! We're the creative team behind Hypothesis's reports, presentations, and infographics, and we're sharing out our best tips. Please share with someone you think would enjoy this slideshow.
www.hypothesisgroup.com
www.linkedin.com/companies/hypothesis-group
www.instagram.com/hypothesisgroup
This document contains slides from a presentation by Andre Woolery on designing effective presentations by making slides visually appealing. The presentation covers various design elements like fonts, color, composition, shapes, and images that can be manipulated to grab audiences' attention and keep them engaged. It provides examples and tips for using these elements like using bold text or different font sizes to create emphasis, leveraging color to attract the eye or accentuate points, and guiding the viewer's eye through slide composition and alignment.
This is the first SlideShare adaption of Timothy E. Johansson's 100 Growth Hacks in 100 Days. The growth hacks that's included in the slide are 1 to 10. Timothy is the front-end developer at UserApp (www.userapp.io).
25 stats—13 positive, 12 negative—that reflect the marketing world, including content marketing, social media, email newsletters, analytics, blogging, digital video, and more.
Keep these stats in mind when crafting your marketing strategy.
We held the largest ever Virtual SlideShare Summit a week back, if you missed it here's your chance to hear from the experts once more on some of the takeaways on presentation design and SlideShare Marketing
(Last change, July 2: Removed as beyond most teams' scope Eyetracking Study, Clickstream Analysis, Usability Benchmarking; Added Live-Data Prototypes, Demand Validation Test, Wizard of Oz Tests)
For our teams tasked with building products and features for The New York Times, we face a common challenge with many: how do we figure out what’s worth spending our time on?
The answer seems straightforward: test your ideas with real customers, leveraging the expertise of your product, UX, and engineering talent. Figure out the smallest test that you can come up with to test a specific hypothesis, gather data and insights, and keep iterating on it until you know whether the problem is real and your solution will prove valuable, usable, and feasible.
As part of our efforts to adopt such a data-driven, experimental approach to product development, we recently kicked off a product discovery pilot program. Small, cross-functional teams were paired with coaches and facilitators over a six week period to demonstrate how product discovery and Lean Startup techniques could work for real-world customer opportunities at The New York Times.
One of the first things that we learned about the process from our participants was that they wanted a "toolkit" - something to help them figure out what they should be doing, asking or making to get as quickly as possible towards the validated learning, prototypes and user tests that would have the most impact.
To help the facilitate the learning process for our dual-track Agile teams, the Product Architecture team here at The Times (Christine Yom, Jim Lamiell, Josh Turk, Priya Ollapally, and Al Ming) built a "Product Discovery Activity Guide" that rolled up activities, exercises, and testing techniques from all our favorite thought leaders.
This included brainstorming exercises from Gamestorming and Innovation Games, testing techniques from traditional user research, and rapid test-and-learn tactics from Google Ventures, Eric Ries (The Lean Startup), Jeff Gothelf (Lean UX), Steve Blank (Customer Development) and our spirit guide, Marty Cagan (Inspired), among others.
Our goal was to make it a tool not just for learning how to get started, but to be a living document for teams to share knowledge about the process itself. What techniques worked and didn't work? What tactics did they learn elsewhere that might be worth sharing with the rest of the company?
We hope you find it useful, and whether you’d like to share with us what you’re doing with it, or you have suggestions (big or small) to improve it for future product generations, please let us know! (nyt.tech.productarchitecture@nytimes.com)
Al Ming
July 2015
The document summarizes key takeaways from the SXSW conference. Some of the main topics discussed include: 1) The importance of designing technology with purpose and creating positive human experiences. 2) How collaboration between companies can drive innovation. 3) The value of not being constrained by audiences and taking creative risks. 4) The growing role of virtual and augmented reality. 5) How the rate of technological change is accelerating exponentially. 6) How cognitive computing is being applied across many domains to solve problems. 7) Emerging technologies like self-driving cars that are closer to widespread use than perceived. 8) How ubiquitous computing is already integrating technology into many aspects of life. 9) The growing role of robots and focus on
Karlyn Borysenko and I discuss the elements of putting together an impactful presentation and how to submit them to conferences.
Originally presented at Penn State Web - updated and reshared at HighEdWeb 2016 in Memphis Tennessee.
The document describes Florida's Technology Integration Matrix, which provides a framework for integrating technology into teaching and learning. It outlines 5 levels of technology integration (Entry, Adoption, Adaptation, Infusion, Transformation) and defines each level in terms of the role of the teacher and students with technology.
The document discusses NASA's social media strategy and evolution. It notes that NASA has over 467 social media accounts managed by 2 full-time employees, 10 center social media leads, and 11 part-time leads. The accounts have evolved organically over time into a structured "solar system" model with flagship accounts at the center and more specialized niche accounts. The strategy harnesses the power of flagship accounts to reach broad audiences while allowing specialized accounts to engage specific interest groups. This approach has helped NASA achieve milestones like the first tweet from space in 2009.
This document provides information about Learning Episode 4 which focuses on using the TPACK framework to choose appropriate teaching resources for a particular unit. It discusses the intended learning outcomes of applying technological, pedagogical, and content knowledge. The document then explains the TPACK framework and its three main components: technological knowledge, pedagogical knowledge, and content knowledge. It also provides details about the student's plan to complete tasks for the episode, including choosing a topic, finding relevant resources, and developing additional teaching aids. The student reflects on applying their various knowledge areas and how to further enhance their TPACK skills in the future.
This document contains information about a student named Jundel L. Deliman who is taking the Bachelor of Secondary Education program. It details his performance in Field Study 3 Episode 7, which focuses on evaluating electronic resources for instructional use. He is rated on various tasks including observation, analysis, reflection, portfolio, and submission. The document provides guidelines for him to observe a mathematics class on sequences and then analyze appropriate electronic resources to support teaching that topic. It includes his analysis matrix and reflections. His portfolio section displays instructional materials he found online related to formulating and solving equations and problems.
2017 holiday survey: An annual analysis of the peak shopping seasonDeloitte United States
Holiday retail spending is bucking trends this season with only one-third of holiday budgets going toward gifts. Online spending is expected to exceed in-store for the first time. In addition to gifts for others this year, spending on experiences and self-gifting increased. Explore more consumer spending trends in our 32nd annual holiday survey. For more: http://deloi.tt/2yH1VAn.
Today we all live and work in the Internet Century, where technology is roiling the business landscape, and the pace of change is only accelerating.
In their new book How Google Works, Google Executive Chairman and ex-CEO Eric Schmidt and former SVP of Products Jonathan Rosenberg share the lessons they learned over the course of a decade running Google.
Covering topics including corporate culture, strategy, talent, decision-making, communication, innovation, and dealing with disruption, the authors illustrate management maxims with numerous insider anecdotes from Google’s history.
In an era when everything is speeding up, the best way for businesses to succeed is to attract smart-creative people and give them an environment where they can thrive at scale. How Google Works is a new book that explains how to do just that.
This is a visual preview of How Google Works. You can pick up a copy of the book at www.howgoogleworks.net
Continuous delivery its not about the technology, its about the people. @pipe...Tomas Riha
This document discusses the challenges of implementing continuous delivery at scale. It begins by describing a small successful initial implementation but then failure to scale it up. Key points made include:
- Roles like developers, testers, product owners, and operations specialists must change their behaviors to support continuous delivery at scale.
- Developers must take more responsibility for testing and integration. Testers must shift from manual to automated testing. Product owners must accept partial features. Operations must treat infrastructure as code.
- Cross-functional consensus is needed on how to work together in the new processes. Buy-in from the entire organization is also required as continuous delivery changes the organization.
- Managing these changes in roles and behaviors is
Fighting with Waste Driven Development - XP Days Ukraine 2017Lemi Orhan Ergin
This document discusses lean thinking for software developers. It begins by outlining some common mindsets in software development that lead to waste, such as being overconfident and not having enough time for testing and refactoring. It then discusses various types of waste found in software development processes. The document advocates adopting a lean mindset to maximize value for customers by removing waste through practices like test-driven development, refactoring continuously, and making codebases clean through frequent short releases. It concludes by discussing the need for changes in culture and mindset to fully embrace lean software development.
This document provides an overview of Apex triggers in Salesforce. It discusses what Apex triggers are, how they can be used to support record management and build process-driven logic. The document compares triggers to process builders and explains the order of execution. It also covers sandbox and developer environments, the developer console for debugging, and includes an Apex trigger demo.
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...Agile Lietuva
This document provides tips for boosting technical agility in an organization, including developing a culture of agility, becoming proficient with tools, sharing knowledge, prioritizing testing and continuous improvement. It emphasizes establishing practices like test-driven development, code reviews, and code retreats to improve software quality and development skills over time.
Waste Driven Development - Agile Coaching Serbia MeetupLemi Orhan Ergin
This document discusses lean thinking and waste-driven development for software developers. It argues that traditional software development practices lead to a lot of waste, including defects, rework, slow development cycles, and lack of value delivery to customers. It promotes applying lean principles from manufacturing to software development, such as focusing on value delivery, eliminating waste, keeping codebases small and modular, automating everything, having high transparency, and challenging common paradigms. Documentation is identified as a particular type of waste.
Most developers have the responsibility of working with an existing codebase that is not testable. In this session, you will learn several techniques to refactoring non testable code. In addition, unit tests will be added and executed as a part of an automated test suite. The associated code/project is here: https://github.com/rightincode/RefactoringToTestableCode
Continuous delivery its not about the technology, its about the people.Tomas Riha
Continuous delivery requires changes to roles and behaviors across an organization. As teams scale up from a few people to dozens, they often lose key practices like test-driven development that are essential for continuous delivery. Keeping everything in source control, automating tests and deployments, and ensuring everybody shares responsibility for releases helps large teams maintain continuous delivery. Adapting roles, providing visibility into work, and coaching people through changes can help organizations successfully scale continuous delivery practices.
Copilot to Cover: Why AI can't replace developers with robots, but can make l...Andy Piper
AI-augmented tools like GitHub Copilot, AWS CodeWhisperer, and Diffblue Cover use machine learning to help developers with repetitive coding tasks like completing boilerplate code, calling APIs, and writing tests. These tools generate code fragments or entire functions to reduce errors and speed up development. While they are helpful for mundane tasks, fully autonomous coding remains a challenge, as writing high-quality tests requires understanding complex code dependencies and business requirements. Diffblue's reinforcement learning approach aims to autonomously write tests that satisfy developer needs and increase code coverage. These AI-assisted development tools are available today and can help eliminate tedious coding work.
Clean Software Design: The Practices to Make The Design SimpleLemi Orhan Ergin
The document discusses principles for clean software design. It outlines 5 principles: 1) Tests should always pass to prove the system works as required; 2) Code should express intent through clear naming and avoiding generic names; 3) Keep methods and classes small in size; 4) Find and remove duplications in code and knowledge; 5) Align abstraction levels and avoid leaky abstractions that expose implementation details. It provides examples for each principle and cautions against anti-patterns like singletons and premature optimization. The document advocates code practices like refactoring, pair programming, and code reviews to achieve clean design.
So You Just Inherited a $Legacy Application… NomadPHP July 2016Joe Ferguson
You were just handed the keys to a new repo. Your first glance over the code base causes the fearful “LEGACY” word to ring in your head. HAVE NO FEAR! I’ll share the techniques I’ve learned after working on several legacy codebases to help update that old code to the current PHP generation. We’ll cover triaging the old code base, writing tests to make sure you don’t break anything, and how to modernize your old code base!
So You Just Inherited a $Legacy Application...Joe Ferguson
You were just handed the keys to a new repo. Your first glance over the code base causes the fearful "LEGACY" word to ring in your head. HAVE NO FEAR! I'll share the techniques I've learned after working on several legacy codebases to help update that old code to the current PHP generation. We'll cover triaging the old code base, writing tests to make sure you don't break anything, and how to modernize your old code base!
Security is tough and is even tougher to do, in complex environments with lots of dependencies and monolithic architecture. With emergence of Microservice architecture, security has become a bit easier however it introduces its own set of security challenges. This talk will showcase how we can leverage DevSecOps techniques to secure APIs/Microservices using free and open source software. We will also discuss how emerging technologies like Docker, Kubernetes, Clair, ansible, consul, vault, etc., can be used to scale/strengthen the security program for free.
More details here - https://www.practical-devsecops.com/
Caleb Jenkins discusses best practices for writing automated unit tests, including having a test runner, setting the test context or scene, and handling dependencies through techniques like dependency injection and mocking. He advocates writing tests first to define requirements and ensure code meets expectations. Jenkins also addresses challenges with testing edges or interfaces and advocates separating UI/data logic from edges to increase testability.
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the CloudWSO2
This document discusses how to develop enterprise applications in the cloud using an agile and composable approach. It outlines the challenges of traditional agile development practices which can increase fragility. It then introduces Codenvy, a cloud integrated development environment (IDE) that aims to address these challenges by providing server-based tooling, automated workspaces, and policies to simplify administration and control intellectual property. Codenvy promotes extending devops practices from production back into development. The document also discusses how Codenvy can be used by enterprises, independent software vendors, and in collaboration with WSO2's application development platform.
The document discusses best practices for database development and deployment. It recommends having identical environments for development, testing, and production to enable easy comparisons. This allows issues to be detected and fixed before production deployment. It also suggests using tools that track database changes and compare schemas to simplify environments and ensure consistency across stages. Regular practice deployments in non-production environments are advised to work out any issues before changes reach production.
Testing and DevOps Culture: Lessons LearnedLB Denker
This document discusses the speaker's background and experiences with software engineering practices. It covers his education in computational mathematics and computer science, past roles at Universal Instruments developing machine software and at Google and Etsy implementing DevOps practices. Key topics covered include the benefits of continuous integration, deployment and delivery; the importance of testing including test-driven development; and embracing interdependence between developers and other IT roles. Best practices are noted to be situational and relationships must be respected.
Ähnlich wie Test Driven Design - GDG DevFest Istanbul 2016 (20)
This document discusses pair programming and provides guidance on how to effectively implement it. It begins by explaining the purpose of pair programming is to produce high quality software. It then discusses various pairing techniques like ping-pong pairing and mob programming. The document also identifies benefits like higher quality code and faster defect removal, as well as challenges like being tiring. Finally, it provides tips for making pairing work well such as starting with a defined task, switching roles frequently, and not forcing people who strongly dislike pairing.
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018Lemi Orhan Ergin
The document outlines 10 faulty behaviors that can occur during the code review process and provides recommendations to address each one. The behaviors include having no standards for code reviews in the team, providing ambiguous content for review, selecting the wrong reviewers, requesting feedback too late in the process, not understanding what the code change is doing, treating the code as solely the author's work, trying to prove others are wrong instead of having constructive discussions, not being able to convince others with review comments, reviewers not providing feedback on pull requests, and prematurely merging pull requests before the review is finished. For each behavior, the document recommends actions like establishing review standards and processes, providing better context for reviews, selecting appropriate reviewers, reviewing code earlier, adding tests
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperLemi Orhan Ergin
Ethics... It could be the most important and underrated topic in software industry. It is directly related with professionalism, craftsmanship and professional discipline. From time to time we have to jump into the discussions, however we never discuss it deeper.
I have found himself in a huge blast of discussions when he tweeted about a **HUGE** security issue at the most popular operating system. Then I had deep thoughts about ethics and the behaviours of ethical developers.
In this session I talk about the followings:
* I refer to real-life stories of many good practices for professional ethics that are critical in the software development world.
* I mention technical and non-technical aspects of being an ethical developer.
* I deep dive into the arguments against the ethical controversies and the debate over the sharing of a major error in MacOS via Twitter.
DevOps & Technical Agility: From Theory to PracticeLemi Orhan Ergin
This is the content I presented in meetups for giving brief information about Agile, Devops, Software Craftsmanship, Opertions and Continuous Delivery and their connection with each other.
1. The document discusses various good and bad practices for using Git, including committing early and often, squashing commits before merging, and avoiding long-lived topic branches.
2. It recommends splitting large features into small shippable tasks, committing changes early and often without worrying about compilation or CI, and rebasing regularly to integrate changes from the main branch.
3. Changes should be "perfected" later by squashing commits and making the history a single commit before merging back to the main branch when tests pass and code is reviewed.
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Lemi Orhan Ergin
This document discusses common Git anti-patterns and provides recommendations to avoid them. It begins by explaining how Git works under the hood in terms of files, folders, references, and objects. It then covers 15 specific anti-patterns to avoid, such as treating Git like Dropbox, having long-living topic branches, merging too late without validation, and being afraid to delete branches. For each anti-pattern, it provides alternatives and recommendations, such as splitting work into small tasks, committing early and often, rebasing rather than merging, and deleting merged branches. The overall message is how to use Git properly and cure common issues by following best practices.
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Lemi Orhan Ergin
This document contains the slides from a presentation on best practices for using Git and avoiding common antipatterns. It discusses how Git works internally and the different objects it uses to store files, references, and commits. It then covers strategies for committing code early and often in small batches, rebasing regularly to integrate changes, squashing commits before merging back to the main branch, and using feature flags to disable unreleased features. The overall message is to leverage Git's power effectively while avoiding long-lived topic branches, loose commit histories, and other issues that can arise from not understanding Git's model.
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Lemi Orhan Ergin
Bugünün acımasız rekabet ortamında hayatta kalabilmek için her şirketin bir yazılım şirketi olması gerekir. Bu çok büyük bir mücadele demek. Kaliteli yazlımcılar işe alınmalı, projeler doğru yönetilmeli ve proje teslim tarihleri belirlenmelidir. Ancak, gerçekte çok farklı bir tabloyla karşılaşıyoruz. Yüzlerce geliştiriciyle iş görüşmesi yapılıyor ancak bulunamıyor. Geliştiricilerden oluşan bir ekip oluşturulsa bile, motivasyonel sorunlar, sürekli artan teknik problemler, iletişim sorunları, inovasyon eksikliği ve işten ayrılmalar ile ediyoruz. Müşteriler, kaçırılan tarihler ve çıktının düşük kalitesi nedeniyle hayal kırıklığına uğruyor.
Her yazılım geliştirme ekibi kendi dinamiklerini yaratır. Çalışanların davranışlarıyla ekiplerin gizli dinamiklerini toplandığımızda şirketteki yazılım geliştirme kültürünü oluşturuyoruz. Bu, bir yazılım geliştirme takımının ne kadar başarılı olabileceğini tanımlayan, en önemli faktörlerden biridir.
Bu oturumda, motivasyon, teknik mükemmellik, işbirliği, yardımlaşma, yenilikçilik ve başarı sağlayan bir yazılım geliştirme kültürünün nasıl kurulacağından bahsedeceğim. Yazılım dünyasına girmiş ve ilgilenen herkes katılabilir.
Bu sunum Dinamikler 2017 Kongresinde kullanılmıştır.
Git Anti-Patterns: How To Mess Up With Git and Love it AgainLemi Orhan Ergin
Git is one of the most powerful tool in developers' toolbox. If you use it correctly, it dramatically increases productivity of developers and eliminates the waste products continuously. Developers cultivate a development culture on top Git most of the time.
It's powerful but its power is untamed. Many teams fall into several traps of misusing commands and therefore feel uncomfortable while using Git. We mess up Git history, the codebase and the whole preferred branching strategy in seconds. We use branches, merge/rebase strategies, creating commits in wrong ways. Even we never take committing paradigms into account while using Git.
As a software craftsman, I've been using Git for years and I've already educated Git to hundreds of developers in all levels. I'm so lucky; I had a chance to experience huge amount of anti-patterns in time. In this talk, I will talk about what those anti-patterns are and what should we do in order not to fall into them.
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...Lemi Orhan Ergin
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersLemi Orhan Ergin
The document discusses how to motivate developers by creating an environment that improves passion, discipline and motivation. It suggests building human-centric practices like Lean, Craftsmanship and Agility that foster collaboration, continuous learning, trust and empowerment. Mindset is more important than tools, and managers must provide safe environments for trial and error to encourage innovation.
Karabük Üniversitesi Programlama Günleri 2016'da gerçekleştirdiğim Git sunumu yansılarıdır.
These are the slides of my talk at Karabuk University Programming Days 2016. The slides are in Turkish.
This document discusses how to improve motivation in agile work environments. It argues that money does not lead to engagement and that practices focusing on human relationships and professionalism are more effective. These include building trust, collaboration, mentorship, positive feedback, and ensuring teams have purpose and fun. Adopting a mindset of servant leadership and allowing people to invest in themselves can help foster motivation.
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)Lemi Orhan Ergin
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)Lemi Orhan Ergin
This is the material I presented at the very first Software Craftsmanship Conference CraftSummit in Turkey and in the region on 30th of May, 2015. I described how to pair program efficiently and how to embed pair programming to our development culture efficiently.
Trespassing The Forgotten and Abandoned: Ethics in Software DevelopmentLemi Orhan Ergin
The document discusses the results of a study on the effects of exercise on memory and thinking abilities in older adults. The study found that regular exercise can help reduce the decline in thinking abilities that often occurs with age. Older adults who exercised regularly performed better on cognitive tests and brain scans showed they had greater activity in important areas for memory and learning compared to less active peers.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
Top 9 Trends in Cybersecurity for 2024.pptxdevvsandy
Security and risk management (SRM) leaders face disruptions on technological, organizational, and human fronts. Preparation and pragmatic execution are key for dealing with these disruptions and providing the right cybersecurity program.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
2. LEMi ORHAN ERGiN
agile software craftsman @ acm
/lemiorhan
lemiorhanergin.com
@lemiorhan
managing partner at acm
developing since 2001
worked at Sony and eBay/GittiGidiyor
consultant, architect, trainer, developer
founder of Software Craftsmanship Turkey
ex product owner of Agile Turkey Summit
meetup.scturkey.org
summit.agileturkey.org
3. Jack W. Reeves
The C++ JournalVol. 2, No. 2. 1992
http://user.it.uu.se/~carle/softcraft/notes/Reeve_SourceCodeIsTheDesign.pdf
What is So!ware Design?
4. Source code is the real
so!ware design
Designing so!ware is an exercise in managing complexity
Jack W. Reeves
What is Software Design? The C++ JournalVol. 2, No. 2. 1992
http://user.it.uu.se/~carle/softcraft/notes/Reeve_SourceCodeIsTheDesign.pdf
5. The so!ware design is
not complete until it has
been coded and tested
Testing is part of the process of refining the design
Jack W. Reeves
What is Software Design? The C++ JournalVol. 2, No. 2. 1992
http://user.it.uu.se/~carle/softcraft/notes/Reeve_SourceCodeIsTheDesign.pdf
7. The very first value of
so!ware is…
Robert C. Martin
Author of Clean Code and Clean Coder
Owner of cleancoders.com training site
8. The very first value of
so!ware is to tolerate and
facilitate on-going changes
Robert C. Martin
Author of Clean Code and Clean Coder
Owner of cleancoders.com training site
9. Each city has to be renewed in order to
meet the needs of its populace.
So!ware-intensive systems are like that.
Grady Booch
Developed UML
Wrote foreword to
“Design Patterns” and
“Technical Debt” books
Istanbul, TurkeyCredit: European Space Imaging
11. Everything is part of the
design process
Jack W. Reeves
What is Software Design? The C++ JournalVol. 2, No. 2. 1992
http://user.it.uu.se/~carle/softcraft/notes/Reeve_SourceCodeIsTheDesign.pdf
16. main sequence star
needless complexity starts, a lot of inter-dependencies
manual testing starts to take longer time than usual
17. hard to add new features
too much debugging
too many workarounds
too complex to know every flow
red giant
18. blue-white
super giant
single change affects many areas,
no reuse - duplication hell,
fragile system - unstable prod
scary refactoring,
silos occur
19. red super giant
huge classes, tons of workarounds,
no new features, maintenance mode rules,
basic implementations take weeks,
no one knows how overall system works,
rollbacks a!er deployments,
architect saves the company
26. COUPLING
When readfile() is changed, do you change writeFile() too?
It shows how many places we need to change
27. Two elements are loosely
coupled if they are not
shown in the same diff
Kent Beck
The creator of extreme programming
One of the signatories of the Agile Manifesto
Pioneered software design patterns and TDD
28. COHESION
Do you search a lot where to change?
It shows how easy to find the places we need to change
29. How many files at any
one time is still open for
edit shows the level of
cohesion
Nat Pryce
Co-Author of Growing Object-Oriented Software Guided by Tests
Early adopter of XP