Some people seem to think that following an Agile process will get you good software. But, the reality is that Software Craftsmanship is found in the work produced, not in the process followed. The Agile Manifesto hints at this, but many have missed it. How do you get that quality up there, consistently keep it there, and keep raising the bar? Through a combination of some discussion on the nature of Skills Acquisition, and an analysis of common practices in software development (from Tests to Pull Requests to Pair Programming), we’ll paint a picture of how to become a true expert that you can’t get from “Agile alone”.
The document discusses Terry Wang, an agile coach in Taiwan. It provides details about Terry's background and experience in agile development as well as quotes from past feedback and discussions. The document also previews an upcoming session on estimating and outlines topics that will be covered.
1. The document provides tips for surviving a hackathon and beyond. It recommends focusing on minimum viable products with core features, using existing frameworks and libraries instead of reinventing the wheel, thinking in components, using version control, commenting code, getting feedback from potential users, continuously learning, being part of a community, and having fun.
2. The tips are organized into sections for before, during, and after a hackathon, as well as general practices to always follow, such as continuous learning and being part of a community.
3. The document emphasizes trimming ideas down to minimum viable products in order to deliver functional products quickly, and suggests spending time researching existing solutions before writing new code to avoid duplicating
This is a version of the talk given at Dev Bootcamp in Chicago.
Technical Debt has become a catch-all phrase for any code that needs to be re-worked. Much like Refactoring has become a catch-all phrase for any activity that involves changing code. These fundamental misunderstandings and comfortable yet mis-applied metaphors have resulted in a plethora of poor decisions. What is technical debt? What is not technical debt? Why should we care? What is the cost of misunderstanding? What do we do about it? Doc discusses the origins of the metaphor, what it means today, and how we properly identify and manage technical debt.
Velocity Conference NYC 2014 - Real World DevOpsRodrigo Campos
Rodrigo Campos presented on the challenges faced and benefits of adopting a DevOps culture at Walmart's Latin American e-commerce division. The key challenges included deploying a new platform before Black Friday, expanding infrastructure for traffic spikes, developing an agile mindset, and rebuilding trust between teams. Adopting DevOps practices like improved communication, transparency and collaboration helped address these challenges. It resulted in the successful deployment of the new platform with 100% uptime on Black Friday and increased deployment frequency, success rates and adoption of agile methodologies.
Full slide deck for day long discussion of microservices topics. Why use microservices, what options exist and how to migrate to them and address common problems.
CocoaConf Relationship Between Agility and ExpertiseKen Auer
Many Geeks underestimate the power of collaboration and all of the skills they need to become experts in their craft. They have heard of "Agile" and sometimes do something that smells like it. Software development is about managing complex problems over some period of time to produce something that serves people: the end users, the stakeholders, our colleagues, and ourselves.
Getting better at it - becoming an expert - is not just about obtaining and applying knowledge.
We will discuss why Agility, in its deepest form, contributes to the growth of Expertise and the service of people.
This document discusses coaching cycles, which are used to teach the improvement kata through regular practice and feedback. Coaching cycles involve a coach asking a learner five questions at their work process on at least a daily basis. Effective coaching requires the coach to be competent or expert in applying the improvement kata themselves. Coaching cycles provide standardized coaching to help learners develop skills in using the improvement kata for continuous improvement.
Growth hacking is the combined efforts of product, engineering, marketing and data science teams to achieve growth goals. The document discusses how a growth team at VivaReal can experiment and validate hypotheses faster by acting more independently from other teams. It proposes injecting code via a third-party JavaScript to run A/B tests without approvals or changing the main codebase. This would allow experiments to be deployed in seconds through an external API and give the growth team freedom to try new ideas.
The document discusses Terry Wang, an agile coach in Taiwan. It provides details about Terry's background and experience in agile development as well as quotes from past feedback and discussions. The document also previews an upcoming session on estimating and outlines topics that will be covered.
1. The document provides tips for surviving a hackathon and beyond. It recommends focusing on minimum viable products with core features, using existing frameworks and libraries instead of reinventing the wheel, thinking in components, using version control, commenting code, getting feedback from potential users, continuously learning, being part of a community, and having fun.
2. The tips are organized into sections for before, during, and after a hackathon, as well as general practices to always follow, such as continuous learning and being part of a community.
3. The document emphasizes trimming ideas down to minimum viable products in order to deliver functional products quickly, and suggests spending time researching existing solutions before writing new code to avoid duplicating
This is a version of the talk given at Dev Bootcamp in Chicago.
Technical Debt has become a catch-all phrase for any code that needs to be re-worked. Much like Refactoring has become a catch-all phrase for any activity that involves changing code. These fundamental misunderstandings and comfortable yet mis-applied metaphors have resulted in a plethora of poor decisions. What is technical debt? What is not technical debt? Why should we care? What is the cost of misunderstanding? What do we do about it? Doc discusses the origins of the metaphor, what it means today, and how we properly identify and manage technical debt.
Velocity Conference NYC 2014 - Real World DevOpsRodrigo Campos
Rodrigo Campos presented on the challenges faced and benefits of adopting a DevOps culture at Walmart's Latin American e-commerce division. The key challenges included deploying a new platform before Black Friday, expanding infrastructure for traffic spikes, developing an agile mindset, and rebuilding trust between teams. Adopting DevOps practices like improved communication, transparency and collaboration helped address these challenges. It resulted in the successful deployment of the new platform with 100% uptime on Black Friday and increased deployment frequency, success rates and adoption of agile methodologies.
Full slide deck for day long discussion of microservices topics. Why use microservices, what options exist and how to migrate to them and address common problems.
CocoaConf Relationship Between Agility and ExpertiseKen Auer
Many Geeks underestimate the power of collaboration and all of the skills they need to become experts in their craft. They have heard of "Agile" and sometimes do something that smells like it. Software development is about managing complex problems over some period of time to produce something that serves people: the end users, the stakeholders, our colleagues, and ourselves.
Getting better at it - becoming an expert - is not just about obtaining and applying knowledge.
We will discuss why Agility, in its deepest form, contributes to the growth of Expertise and the service of people.
This document discusses coaching cycles, which are used to teach the improvement kata through regular practice and feedback. Coaching cycles involve a coach asking a learner five questions at their work process on at least a daily basis. Effective coaching requires the coach to be competent or expert in applying the improvement kata themselves. Coaching cycles provide standardized coaching to help learners develop skills in using the improvement kata for continuous improvement.
Growth hacking is the combined efforts of product, engineering, marketing and data science teams to achieve growth goals. The document discusses how a growth team at VivaReal can experiment and validate hypotheses faster by acting more independently from other teams. It proposes injecting code via a third-party JavaScript to run A/B tests without approvals or changing the main codebase. This would allow experiments to be deployed in seconds through an external API and give the growth team freedom to try new ideas.
The business case for contributing codeZivtech, LLC
In the Drupal community we tend to talk about committing code to our public spaces (drupal.org, but also github) in terms of "contributing" and "contributions", and while much of it can be seen in that light, there are actually very strong business reasons for publishing your code and/or attempting to get your code changes committed to the open source project that you are working on.
We will be looking at several documents from the U.S. Military detailing their recommendations for contracting Open Source Software services, and will use those as a jumping off point to discuss the many benefits of contributing code. Some of the business reasons for public publishing we'll explore will include:
* The power of peer review. With enough eyes, all bugs are shallow, and with only a few eyes the stupidity knows no depths!
* Fork you! The costs associated with "hacking" both Drupal core and contrib modules and base themes.
* Take my code, please! Cost savings from committing patches.
* Professionals publish or perish. Using code commits as marketing towards clients or potential hires.
* It's so easy, even a child(ish person) could do it! How you can easily integrate patching into your development workflow.
This session will also include a walk through of how Zivtech handles code review, patches, and deployment processes and you will hopefully walk away convinced that all of your in-house and out-sourced developers should be publicly committing their work.
DevDay 2013 - Building Startups and Minimum Viable ProductsBen Hall
DevDay (http://devday.pl),
20th of September 2013, Kraków
Video at http://www.youtube.com/watch?v=L4eTOvq2WmM&feature=c4-overview-vl&list=PLBMFXMTB7U74NdDghygvBaDcp67owVUUF
Money, Process, and Culture- Tech 20/20 June, 2012Adrian Carr
A talk about Company Culture, Software, People, Lean Thinking, Agile Software.
This is the Powerpoint for a talk I gave at Tech2020, in Oak Ridge, Tennessee in June, 2012.
1. The document discusses how to attain the next level of agility through a multi-step process. It outlines what is and is not considered agile and important stages to focus on.
2. Key steps to achieving the next level of agility include increasing customer involvement, improving prioritization of features, and adapting to changes during development through iterative methodology.
3. The document recommends assessing your current processes, obtaining executive support, getting team involvement, and using a coach or consultant to help guide the transition in a customized way through pilots and reviews.
Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...Acquia
The document summarizes Multnomah County's adoption and use of Drupal over 3.5 years to build out their digital presence. It highlights that they launched 5 key sites including their public website and intranet, as well as an apps platform. It then discusses some of the requirements for supporting 15 Drupal sites, including executive buy-in, innovating through pilot projects, hiring and training internal talent, implementing source control and deployment processes, and change management practices.
How To Optimize Your Tech Recruiting Stack
Patrick Christell, Senior Sourcer at Hire4ce, meets all the qualifications of “MASTER.”
We’re talking a Full-Lifecycle Recruiter, Project Manager and Agile sourcing pod-builder with seven-plus years of progressive experience recruiting for technology companies across the boards.
He also has a rather impressive tech stack, which is what this is all about.
Patrick is here to give you 60-minutes of training and live Q&A that will help you learn to recruit top talent.
In this webinar we will cover:
- How to search.
Tools like Hiretual, Seekout, AmazingHiring (and their plusses and minuses).
The difference between searching for senior-level engineers, how to know if you are on a purple squirrel hunt, and what to with a BONUS live demo that iterates a single string.
- How to run a sourcing pod.
Learn how Patrick creates his own CRM that can do outreach and reporting
- How to understand tech without being a techie.
What a software stack even is, understanding how it fits together, learning what each part of the stack technologies are associated with.
- How to engage talent.
Why a mixture of broad spectrum outreach and personalized outreach is best.
What cadence works best in 2019.
Why only using inmails screws you, and how to leverage the phone even if you hate using it (TextNow).
Nobody’s got time for a floppy stack.
Let Patrick show you how to build in functionality and results.
This document discusses how business leaders can lead their organizations in the digital world. It emphasizes that digital transformation is causing major changes in how companies operate and compete. It suggests digital leaders strategically invest in areas like customer engagement, internal operations, collaboration, and new business models. The document provides tips for digital leadership, including listening on social media, learning from blogs and online content, collaborating using tools like Doodle and Podio, and managing crises and reputation on platforms like Twitter. Overall, it argues that digital leadership is key to gaining a competitive advantage in today's business environment.
Continuous delivery requires more that DevOps. It also requires one to think differently about product design, development & testing, and the overall structure of the organization. This presentation will help you understand what it takes and why one would want to deliver value to your customers multiple times each day. #CIC
Jeff "Cheezy" Morgan Ardita Karaj
Practical Cyber: Lessons from 500,000 Miles of Security EvangelismBen Johnson
Ben Johnson gave a presentation on lessons learned from his experience in cybersecurity. He discussed focusing security efforts inward by prioritizing people, processes, and technology. For people, he emphasized hiring for passion and focusing on high-performing teams. For processes, he recommended threat modeling, security hunting, and integrating red and blue teams. For technology, he suggested automation, orchestration, and focusing on capabilities over individual tools. He also advised approaching vendors, resellers, and analysts carefully by understanding their incentives and verifying solutions meet needs. Finally, he outlined responsibilities in cloud security and emphasized the importance of security fundamentals.
Perspectives on salesforce architecture Forcelandia talk 2017Steven Herod
My Forcelandia talk for 2017 on principles of Architecture, although specific to Salesforce. You can find the recording on Youtube: https://www.youtube.com/watch?v=ND-dX-__I1Y&t=7s
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...Dylan Wilbanks
This document summarizes a presentation given by Michael Fienen and Dylan Wilbanks on the topic of accessibility and usability. The presentation argues that accessibility and usability have many similarities and should be considered together from the beginning of a project. It provides recommendations for making templates, forms, and videos accessible. It also discusses testing for accessibility and strategies for getting buy-in for accessibility within an organization, emphasizing an early and iterative approach. The overall message is that accessibility should be a priority from the start of any project to create a better experience for all users.
Cybercrime and the Developer Java2Days 2016 SofiaSteve Poole
The document discusses cybersecurity risks and how developers can help address them. It notes that cybercriminals target developers because they have privileged access and knowledge of systems. Developers are often too trusting and ignore security, installing software without checking for malware or disabling certificate validation. The talk urges developers to take security more seriously by keeping systems updated, using strong authentication, and being wary of suspicious network connections and downloads from untrusted sources. Developers must help address the growing problem of cybercrime by promoting secure development best practices.
1. The document outlines an event to help entrepreneurs improve their elevator pitches and strengthen their visions.
2. It provides tips on starting a pitch with why you are solving a problem and for whom, then explaining how your solution works in simple terms, and finally what the solution is.
3. The document also discusses challenges in the startup journey and how V2V Labs helps entrepreneurs quickly test assumptions, build prototypes, and overcome common pitfalls like building things that are not needed.
Continuous Acceleration with a Software Supply Chain ApproachSonatype
This document appears to be notes from a presentation given by Gene Kim and Josh Corman on continuous acceleration using a software supply chain approach. It includes slides on where organizations have been with IT operations and development being at war, the benefits organizations see when adopting DevOps practices, and observations from the DevOps Enterprise Summit. It discusses the importance of security and compliance being integrated into development processes. The presentation aims to discuss where organizations want to go in terms of innovating faster while maintaining quality, timelines and budgets.
This document discusses DevOps and continuous delivery. It defines DevOps as a cultural and professional movement to improve software delivery through automation, measurement, and collaboration between development and operations teams. The key aspects of DevOps discussed are adopting infrastructure as code practices, implementing continuous integration and deployment pipelines, and establishing a culture of automation, measurement, and sharing between teams. The overall goal is to enable software to be delivered safely and reliably in a matter of hours through establishing these collaborative practices.
Tristan Goode, CEO of Aptira and OpenStack Board Director, discusses the global impact of OpenStack. He notes the large surge in code contribution from outside the US and that most use cases now occur outside the US. OpenStack allows innovative solutions to be built anywhere in the world without proprietary constraints. Business examples of global OpenStack users include Sina.com, Mercardo Libre, Korea Telecom, and Aptira. OpenStack is having a significant global impact that is only accelerating.
I've spent the last years modelling complex businesses and Software Architectures with EventStorming. The original recipe evolved a lot from the initial one. This is EventStorming state of the art.
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019Peter Gfader
This document discusses improving testing practices to enable true agility. It begins by questioning whether current practices actually achieve agility's goals. Poor testing leads to late discoveries of problems and inability to adapt quickly. The document then covers various pains organizations face and challenges to address. It discusses how practices like testing, code reviews, refactoring, and root cause analysis can help deliver value faster and drive continuous improvement. Quality, learning from others, and evidence-based metrics are important. The overall message is that testing is crucial for agility and organizations must focus on understanding customer needs to provide value.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
The business case for contributing codeZivtech, LLC
In the Drupal community we tend to talk about committing code to our public spaces (drupal.org, but also github) in terms of "contributing" and "contributions", and while much of it can be seen in that light, there are actually very strong business reasons for publishing your code and/or attempting to get your code changes committed to the open source project that you are working on.
We will be looking at several documents from the U.S. Military detailing their recommendations for contracting Open Source Software services, and will use those as a jumping off point to discuss the many benefits of contributing code. Some of the business reasons for public publishing we'll explore will include:
* The power of peer review. With enough eyes, all bugs are shallow, and with only a few eyes the stupidity knows no depths!
* Fork you! The costs associated with "hacking" both Drupal core and contrib modules and base themes.
* Take my code, please! Cost savings from committing patches.
* Professionals publish or perish. Using code commits as marketing towards clients or potential hires.
* It's so easy, even a child(ish person) could do it! How you can easily integrate patching into your development workflow.
This session will also include a walk through of how Zivtech handles code review, patches, and deployment processes and you will hopefully walk away convinced that all of your in-house and out-sourced developers should be publicly committing their work.
DevDay 2013 - Building Startups and Minimum Viable ProductsBen Hall
DevDay (http://devday.pl),
20th of September 2013, Kraków
Video at http://www.youtube.com/watch?v=L4eTOvq2WmM&feature=c4-overview-vl&list=PLBMFXMTB7U74NdDghygvBaDcp67owVUUF
Money, Process, and Culture- Tech 20/20 June, 2012Adrian Carr
A talk about Company Culture, Software, People, Lean Thinking, Agile Software.
This is the Powerpoint for a talk I gave at Tech2020, in Oak Ridge, Tennessee in June, 2012.
1. The document discusses how to attain the next level of agility through a multi-step process. It outlines what is and is not considered agile and important stages to focus on.
2. Key steps to achieving the next level of agility include increasing customer involvement, improving prioritization of features, and adapting to changes during development through iterative methodology.
3. The document recommends assessing your current processes, obtaining executive support, getting team involvement, and using a coach or consultant to help guide the transition in a customized way through pilots and reviews.
Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...Acquia
The document summarizes Multnomah County's adoption and use of Drupal over 3.5 years to build out their digital presence. It highlights that they launched 5 key sites including their public website and intranet, as well as an apps platform. It then discusses some of the requirements for supporting 15 Drupal sites, including executive buy-in, innovating through pilot projects, hiring and training internal talent, implementing source control and deployment processes, and change management practices.
How To Optimize Your Tech Recruiting Stack
Patrick Christell, Senior Sourcer at Hire4ce, meets all the qualifications of “MASTER.”
We’re talking a Full-Lifecycle Recruiter, Project Manager and Agile sourcing pod-builder with seven-plus years of progressive experience recruiting for technology companies across the boards.
He also has a rather impressive tech stack, which is what this is all about.
Patrick is here to give you 60-minutes of training and live Q&A that will help you learn to recruit top talent.
In this webinar we will cover:
- How to search.
Tools like Hiretual, Seekout, AmazingHiring (and their plusses and minuses).
The difference between searching for senior-level engineers, how to know if you are on a purple squirrel hunt, and what to with a BONUS live demo that iterates a single string.
- How to run a sourcing pod.
Learn how Patrick creates his own CRM that can do outreach and reporting
- How to understand tech without being a techie.
What a software stack even is, understanding how it fits together, learning what each part of the stack technologies are associated with.
- How to engage talent.
Why a mixture of broad spectrum outreach and personalized outreach is best.
What cadence works best in 2019.
Why only using inmails screws you, and how to leverage the phone even if you hate using it (TextNow).
Nobody’s got time for a floppy stack.
Let Patrick show you how to build in functionality and results.
This document discusses how business leaders can lead their organizations in the digital world. It emphasizes that digital transformation is causing major changes in how companies operate and compete. It suggests digital leaders strategically invest in areas like customer engagement, internal operations, collaboration, and new business models. The document provides tips for digital leadership, including listening on social media, learning from blogs and online content, collaborating using tools like Doodle and Podio, and managing crises and reputation on platforms like Twitter. Overall, it argues that digital leadership is key to gaining a competitive advantage in today's business environment.
Continuous delivery requires more that DevOps. It also requires one to think differently about product design, development & testing, and the overall structure of the organization. This presentation will help you understand what it takes and why one would want to deliver value to your customers multiple times each day. #CIC
Jeff "Cheezy" Morgan Ardita Karaj
Practical Cyber: Lessons from 500,000 Miles of Security EvangelismBen Johnson
Ben Johnson gave a presentation on lessons learned from his experience in cybersecurity. He discussed focusing security efforts inward by prioritizing people, processes, and technology. For people, he emphasized hiring for passion and focusing on high-performing teams. For processes, he recommended threat modeling, security hunting, and integrating red and blue teams. For technology, he suggested automation, orchestration, and focusing on capabilities over individual tools. He also advised approaching vendors, resellers, and analysts carefully by understanding their incentives and verifying solutions meet needs. Finally, he outlined responsibilities in cloud security and emphasized the importance of security fundamentals.
Perspectives on salesforce architecture Forcelandia talk 2017Steven Herod
My Forcelandia talk for 2017 on principles of Architecture, although specific to Salesforce. You can find the recording on Youtube: https://www.youtube.com/watch?v=ND-dX-__I1Y&t=7s
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...Dylan Wilbanks
This document summarizes a presentation given by Michael Fienen and Dylan Wilbanks on the topic of accessibility and usability. The presentation argues that accessibility and usability have many similarities and should be considered together from the beginning of a project. It provides recommendations for making templates, forms, and videos accessible. It also discusses testing for accessibility and strategies for getting buy-in for accessibility within an organization, emphasizing an early and iterative approach. The overall message is that accessibility should be a priority from the start of any project to create a better experience for all users.
Cybercrime and the Developer Java2Days 2016 SofiaSteve Poole
The document discusses cybersecurity risks and how developers can help address them. It notes that cybercriminals target developers because they have privileged access and knowledge of systems. Developers are often too trusting and ignore security, installing software without checking for malware or disabling certificate validation. The talk urges developers to take security more seriously by keeping systems updated, using strong authentication, and being wary of suspicious network connections and downloads from untrusted sources. Developers must help address the growing problem of cybercrime by promoting secure development best practices.
1. The document outlines an event to help entrepreneurs improve their elevator pitches and strengthen their visions.
2. It provides tips on starting a pitch with why you are solving a problem and for whom, then explaining how your solution works in simple terms, and finally what the solution is.
3. The document also discusses challenges in the startup journey and how V2V Labs helps entrepreneurs quickly test assumptions, build prototypes, and overcome common pitfalls like building things that are not needed.
Continuous Acceleration with a Software Supply Chain ApproachSonatype
This document appears to be notes from a presentation given by Gene Kim and Josh Corman on continuous acceleration using a software supply chain approach. It includes slides on where organizations have been with IT operations and development being at war, the benefits organizations see when adopting DevOps practices, and observations from the DevOps Enterprise Summit. It discusses the importance of security and compliance being integrated into development processes. The presentation aims to discuss where organizations want to go in terms of innovating faster while maintaining quality, timelines and budgets.
This document discusses DevOps and continuous delivery. It defines DevOps as a cultural and professional movement to improve software delivery through automation, measurement, and collaboration between development and operations teams. The key aspects of DevOps discussed are adopting infrastructure as code practices, implementing continuous integration and deployment pipelines, and establishing a culture of automation, measurement, and sharing between teams. The overall goal is to enable software to be delivered safely and reliably in a matter of hours through establishing these collaborative practices.
Tristan Goode, CEO of Aptira and OpenStack Board Director, discusses the global impact of OpenStack. He notes the large surge in code contribution from outside the US and that most use cases now occur outside the US. OpenStack allows innovative solutions to be built anywhere in the world without proprietary constraints. Business examples of global OpenStack users include Sina.com, Mercardo Libre, Korea Telecom, and Aptira. OpenStack is having a significant global impact that is only accelerating.
I've spent the last years modelling complex businesses and Software Architectures with EventStorming. The original recipe evolved a lot from the initial one. This is EventStorming state of the art.
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019Peter Gfader
This document discusses improving testing practices to enable true agility. It begins by questioning whether current practices actually achieve agility's goals. Poor testing leads to late discoveries of problems and inability to adapt quickly. The document then covers various pains organizations face and challenges to address. It discusses how practices like testing, code reviews, refactoring, and root cause analysis can help deliver value faster and drive continuous improvement. Quality, learning from others, and evidence-based metrics are important. The overall message is that testing is crucial for agility and organizations must focus on understanding customer needs to provide value.
Similar to Software Craftsmanship: Agile Is Not Enough (20)
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
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
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Preparing Non - Technical Founders for Engaging a Tech AgencyISH Technologies
Preparing non-technical founders before engaging a tech agency is crucial for the success of their projects. It starts with clearly defining their vision and goals, conducting thorough market research, and gaining a basic understanding of relevant technologies. Setting realistic expectations and preparing a detailed project brief are essential steps. Founders should select a tech agency with a proven track record and establish clear communication channels. Additionally, addressing legal and contractual considerations and planning for post-launch support are vital to ensure a smooth and successful collaboration. This preparation empowers non-technical founders to effectively communicate their needs and work seamlessly with their chosen tech agency.Visit our site to get more details about this. Contact us today www.ishtechnologies.com.au
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...kalichargn70th171
In today's business landscape, digital integration is ubiquitous, demanding swift innovation as a necessity rather than a luxury. In a fiercely competitive market with heightened customer expectations, the timely launch of flawless digital products is crucial for both acquisition and retention—any delay risks ceding market share to competitors.
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/
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.
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.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
2. Phenomenon*
1.a fact or situation that is observed to
exist or happen, esp. one whose cause
or explanation is in question.
* https://www.google.com/search?q=Phenomenon
3. Community
Participation*
1.Community Participation is a
progressive political party in Colombia.
At the last legislative elections, 10
March 2002, the party won, as one of
the many small parties, parliamentary
representation. In the election of 2006,
the party won no seats.
* https://www.google.com/search?q=Community%20participation%20definition
4. Craftsman*
1.a person who is skilled in a particular
craft.
synonyms: artisan, artist, skilled worker;
expert, master
* https://www.google.com/search?q=Craftsman+definition
8. Object-Oriented
Manifesto
Everything is an Object
Send messages to them
“Actually I made up the term
object-oriented, and I can tell you I did
not have C++ in mind.”
Alan Kay 1997 OOPSLA Keynote
“The Computer Revolution Hasn’t Happened Yet”
9. Patterns Manifesto
“...to use patterns in a generative way in the sense
that Christopher Alexander uses patterns for
urban planning and building architecture”*
* http://hillside.net/home/history
10. Patterns Manifesto
“...to use patterns in a generative way in the sense
that Christopher Alexander uses patterns for
urban planning and building architecture”*
* http://hillside.net/home/history
“The Accused, by distilling hard-won
design expertise into patterns, have
encouraged novices to act like
experts.”
OOPSLA 1999 Show Trial of the Gang of Four
19. No More Manifestos*
“I believe this new face of agility has three simple
tenets, and doesn't need a manifesto at all:
1.Ship as often as possible.
2.Keep quality high.
3.Solicit and respond to feedback.”
- David Starr, “So Long and Thanks for the All the Manifestos”,Visual Studio Magazine
16 June 2013
* http://visualstudiomagazine.com/articles/2013/06/01/so-long-and-thanks-for-
the-all-the-manifestos.aspx
20. Two Points of Quality*
* http://c2.com/cgi/wiki?InternalAndExternalQuality
21. Two Points of Quality*
• External (Business/Customer facing)
• Correctness
• Effectiveness
* http://c2.com/cgi/wiki?InternalAndExternalQuality
28. Dartboards & Darts
• Every project
• Identify dartboard(s)
• Identify interested dart player(s)
• Build capable dart(s)
• Validate and repeat until you have a
winning combination...
Scenario(s)
Persona(s)
Software Asset(s)
29. Dartboards & Darts
• Every project
• Identify dartboard(s)
• Identify interested dart player(s)
• Build capable dart(s)
• Validate and repeat until you have a
winning combination...
• ...or the money runs out
Scenario(s)
Persona(s)
Software Asset(s)
31. Business Facing Success
• Need a Subject Matter Expert (SME) to identify
potentially viable dartboards
• a dedicated SME or
• someone dedicated to becoming a SME
32. Business Facing Success
• Need a Subject Matter Expert (SME) to identify
potentially viable dartboards
• a dedicated SME or
• someone dedicated to becoming a SME
• Need User Feedback
• access to Users (various roles/personas)
• access to Potential Users
33. Business Facing Success
• Need a Subject Matter Expert (SME) to identify
potentially viable dartboards
• a dedicated SME or
• someone dedicated to becoming a SME
• Need User Feedback
• access to Users (various roles/personas)
• access to Potential Users
• A business model that works with the above
50. Reality of Internal Quality
• Easy for anyone to slip in the name of expediency
51. Reality of Internal Quality
• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
52. Reality of Internal Quality
• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
53. Reality of Internal Quality
• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
54. Reality of Internal Quality
• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
• Limited by expertise of most skilled participant
55. Reality of Internal Quality
• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
• Limited by expertise of most skilled participant
• Can increase by collaboration
56. Reality of Internal Quality
• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
• Limited by expertise of most skilled participant
• Can increase by collaboration
• Two novices don’t produce the quality of
experts by pairing
57. Reality of Internal Quality
• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
• Limited by expertise of most skilled participant
• Can increase by collaboration
• Two novices don’t produce the quality of
experts by pairing
58. Dreyfus Model of Skill Acquisition*
Rules Detached
Observer
Considers
Everything
Intuition
Relevant
Focus
Part of
System
Novice
Advanced Beginner
Competent
Proficient
Expert
* http://litemind.com/expert-roadmap/
59. Dreyfus Model of Skill Acquisition*
Rules Detached
Observer
Considers
Everything
Intuition
Relevant
Focus
Part of
System
Novice
Advanced Beginner
Competent
Proficient
Expert
Context Matters
* http://litemind.com/expert-roadmap/
60. Knowledge vs. Skill*
“There’s much more to mastering a skill than
just acquiring more knowledge. Just like adults
are not simply bigger children, experts are not
only smarter, more knowledgeable or faster
than novices.The differences can be found at a
more fundamental level, such as in how they
perceive the world and approach problems.”
- Luciano Passuello
* http://litemind.com/expert-roadmap/
61. To a Novice, an Advanced
Beginner looks like an Expert
“Have cheap people do easy things under the CLOSE
supervision of someone who knows the difference”
- Me, 2010 SCNA talk “Lean Craftsmanship vs. Corporate Craftsmanship”
“Have advanced beginners do tasks for which the rules
they know are appropriate to the context and check
their work. Let them watch, and have discussions
with, someone who has the appropriate skills for
the task when the advanced beginner does not”
- Me,Today, this talk
63. Learning in Context?
“The Religious Tradesman”
- Richard Steele
Excellent thoughts on business
Section on apprenticeship
64. Learning in Context?
“Situated Learning:
Legitimate Peripheral Participation”
- Jean Lave & Etienne Wenger
People learn by being there
Not out of sight of experts work
“The Religious Tradesman”
- Richard Steele
Excellent thoughts on business
Section on apprenticeship
65. Cost of Advanced
Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things...
Some may be experts in others...
Usually somewhere in between
Tools
TechniquesSkills
Domains
Languages
66. Cost of Advanced
Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things...
Some may be experts in others...
Usually somewhere in between
Tools
TechniquesSkills
Domains
Languages
Follow rules on well-defined tasks
67. Cost of Advanced
Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things...
Some may be experts in others...
Usually somewhere in between
Tools
TechniquesSkills
Domains
Languages
Follow rules on well-defined tasks
Complete similar tasks following rules
68. Cost of Advanced
Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things...
Some may be experts in others...
Usually somewhere in between
Tools
TechniquesSkills
Domains
Languages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
69. Cost of Advanced
Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things...
Some may be experts in others...
Usually somewhere in between
Tools
TechniquesSkills
Domains
Languages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
Have conceptual framework in which to adjust
70. Cost of Advanced
Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things...
Some may be experts in others...
Usually somewhere in between
Tools
TechniquesSkills
Domains
Languages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
Have conceptual framework in which to adjust
Intuitively identify and solve problems... it’s simple
71. Getting Past Advanced
Beginner
• “Proficient practitioners can
take full advantage of the
reflection and feedback that is
core to agile methods.”
– (“Pragmatic Thinking & Learning”,
Andrew Hunt, p.35)
• But how do you get there?
– Individual exercise?
– Team work?
72. High Performance Team in
Custom Software Development
Level Description
Dreyfus Model
plus experience
Master
Craftsman
Expert
>25,000 hours including
>10,000 in leadership
Sr.
Craftsman
Expert/Proficient,
>15,000 hours including
>3,000 in leadership
Craftsman Proficient, typically
>10,000 hours plus
proven leadership skills
73. High Performance Team in
Custom Software Development
Level Description
Dreyfus Model
plus experience
Master
Craftsman
Expert
>25,000 hours including
>10,000 in leadership
Sr.
Craftsman
Expert/Proficient,
>15,000 hours including
>3,000 in leadership
Craftsman Proficient, typically
>10,000 hours plus
proven leadership skills
Level Description
Dreyfus Model
plus experience
Sr.
Developer
/Designer
Competent to
Proficient, >8,000
hours OR >6,000 hours
plus leadership skills
Developer
/Designer
Competent, >5000
hours
Jr.
Developer
/Designer
Competent w/ some
holes in experience,
>2000 hours
74. High Performance Team in
Custom Software Development
Level Description
Dreyfus Model
plus experience
Master
Craftsman
Expert
>25,000 hours including
>10,000 in leadership
Sr.
Craftsman
Expert/Proficient,
>15,000 hours including
>3,000 in leadership
Craftsman Proficient, typically
>10,000 hours plus
proven leadership skills
Level Description
Dreyfus Model
plus experience
Sr.
Developer
/Designer
Competent to
Proficient, >8,000
hours OR >6,000 hours
plus leadership skills
Developer
/Designer
Competent, >5000
hours
Jr.
Developer
/Designer
Competent w/ some
holes in experience,
>2000 hours
Level Description
Dreyfus Model
plus experience
Sr.
Resident
Developer/
Designer
Advanced Beginner
with Competence in
areas, Craftsmanship
Academy >1500 hours
Resident
Developer/
Designer
Advanced Beginner
with Competence in
areas, Craftsmanship
Academy >1000 hours
Apprentice
Developer/
Designer
Advanced Beginner,
Craftsmanship Academy
>500 hours
Novice
Developer/
Designer
Novice, in Craftsmanship
Academy, <500 hours
78. RoleModel
Internal Quality Goals
• Proficient level code is the minimum
acceptable
• Craftsman level code is the goal
• But how do we keep it at that level
when others are on the project?
79. Two Sets of Eyes
on all production code
The RoleModel Standard for Internal Quality...
A reminder that we care about “Make it Right”
AND
“Helping Others Learn the Craft”
82. Two Sets of Eyes
• In a project
• Craftsmanship level will rarely be achieved without a
Craftsman
83. Two Sets of Eyes
• In a project
• Craftsmanship level will rarely be achieved without a
Craftsman
• Typically, will only rise to “Highest Skill Level” on the
project
84. Two Sets of Eyes
• In a project
• Craftsmanship level will rarely be achieved without a
Craftsman
• Typically, will only rise to “Highest Skill Level” on the
project
• Across projects
85. Two Sets of Eyes
• In a project
• Craftsmanship level will rarely be achieved without a
Craftsman
• Typically, will only rise to “Highest Skill Level” on the
project
• Across projects
• Can benefit from Higher Skill Level input
86. Two Sets of Eyes
• In a project
• Craftsmanship level will rarely be achieved without a
Craftsman
• Typically, will only rise to “Highest Skill Level” on the
project
• Across projects
• Can benefit from Higher Skill Level input
• “How did/would you do _______ in the context of
_____?”
101. Exceptions?
• Short answer is “NEVER”
• Real answer is “Rarely” and
“Temporarily”
• Fixing a production problem at night
• Craftsman working by himself on
least complex code
• Prototype for demo
102. What Do We Look For?
• Intention Revealing names
• DRY code
• Single (or appropriate)
Responsibility
• Least amount of “state”
possible
• Tests (well-factored with
reasonable edge cases)
• Simple abstractions
• Appropriate use of patterns
• Consistent, readable
structure
• Good OO practices
• instances vs. globals
• appropriate composition
and inheritance
• Follows appropriate idioms
• Appropriate use of 3rd party
code (assets are liabilities)
104. Other Rules of Thumb
• Don’t use the same reviewer all the time
105. Other Rules of Thumb
• Don’t use the same reviewer all the time
• Cross projects when possible/
reasonable
106. Other Rules of Thumb
• Don’t use the same reviewer all the time
• Cross projects when possible/
reasonable
• Goal is to raise the bar, not to win an
argument
• Thick skin
• Tender heart
107. Humble Yourself
• You are probably somewhere between a Novice and
Proficient in most things you do
• Find someone better (or potentially better) than you
• Find someone who can learn from you
• If you are an expert, find something else to do that takes
you out of your comfortable context(s)
• Don’t stop reading, but seek more collaboration
• If you work alone, collaborate more often
• Encourage others to raise the bar
108. Are You an Aspiring
Software Craftsman?
• Our Craftsmanship Academy is one way
• next entrance in June
• Immersion Phase - 14-16 weeks -
foundation laid and reinforced
• Apprenticeship follows
• But…
* http://craftsmanshipacademy.com
109. Take Charge
• You have work to do
• Do it well
• No one is stopping you
• Ask your boss, “do you
want us to get better at
software development, or
just get better at stand-up
meetings”?
112. Dreyfus Model
References
• http://en.wikipedia.org/wiki/
Dreyfus_model_of_skill_acquisition
• http://1.usa.gov/1iOLuWC - Dreyfus, Stuart E.;
Dreyfus, Hubert L. (February 1980), A Five-Stage
Model of the Mental Activities Involved in Directed
Skill Acquisition
• http://bit.ly/1fU3aLn - Benner, Patricia (2004), Using
the Dreyfus Model of Skill Acquisition to Describe
and Interpret Skill Acquisition and Clinical
Judgment in Nursing Practice and Education