I've been writing management myths for the last 18 months. Here are some of my favorites: 100% utilization, promote the best technical person into management, no time for training, "work smarter," the myth of the expert, objective ranking systems work and are objective and several more.
I told stories with each of these myths.
The document discusses some of the challenges with adopting Agile practices in organizations. It suggests that while the concepts of Agile may have been adopted, many organizations are not fully implementing the practices and cultural changes needed. True adoption requires personal and cultural changes, including shifting to a growth mindset, reducing power distances, and adapting masculinity values. Fully adopting Agile across large organizations and programs will require changes to practices like project portfolio management, team creation, and how management and leadership functions.
Why Having Impact Matters for Good Developers (GOTO Berlin)Wooga
Why is it so hard to create an adequate working environment for good developers? Why do we have insecure managers, lots of hierarchy levels, and micromanagement instead in so many companies? It's so simple to make things better: Remove the classic tech lead, avoid the Peter principle and let small teams organize themselves. Agreed, that's not easy, and there are challenges. But I see it work everyday around me. It means that developers have to care for a bit more than just code, but the rewards are freedom to have own choices and to have a real impact on the product. Let's see how this works in reality, what works great and where there are still things to improve.
how to develop your personal power and influence to accomplish work in the organization. Start from where you are.
It's a talk, so I told stories. Don't be surprised if you can't follow the transitions. Sorry... Look for more in the Agile Program Management, coming soon on leanpub.com
Agility Brainfucks - Von Menschen, Bildern und Steampunk-Management mit NotizenGerrit Beine
In dieser Session wird mit verbreiteten Irrtümern, falschen Versprechen und falsch verstandenen Philosophien aufgeräumt.
Es geht um die freie Zeit, die ein ScrumMaster hat. Um den Unterschied zwischen Agilität und inkrementellem Arbeiten.
Es geht um feste Preise und Termine. Darum, was Velocity wirklich bedeutet.
Warum Aufwand eine Rolle spielt und wer mit wem darüber reden darf.
Es geht um glückliche Entwickler, Kunden und Manager. Glückliche Manager, die skalieren. Und wozu man Manager benötigt.
Es geht um Kultur.
Darum, was geschätzt wird und warum KPIs Projekte töten.
Es geht um Business Value und warum Agilität gerade erst anfängt.
Javascript is actually called ECMAScript. The document provides an overview of JavaScript including how it interacts with the DOM in the browser, using JavaScript in web pages, syntax, control structures like loops and conditionals, objects as hashes, functions as first-class objects, loose typing, closures, prototypes, JSON, cross-domain AJAX, libraries like jQuery, and resources for learning more. The global scope in JavaScript is discussed and the importance of using var is emphasized to avoid polluting the global namespace.
DevOps: Building by feature with immutable infrastructure at Serv.sgNicolas Mas
A DevOps experiment to make a Jira ticket describing a feature into a deployed application reachable at jira-ticket.serv.sg with a twist: the AWS infrastructure is dynamically created and destroyed once the feature is approved/rejected by the product team.
We use Slack, Jenkins, Ansible, Packer, Terraform, AWS, Jinja2 Cli, github
I've been writing management myths for the last 18 months. Here are some of my favorites: 100% utilization, promote the best technical person into management, no time for training, "work smarter," the myth of the expert, objective ranking systems work and are objective and several more.
I told stories with each of these myths.
The document discusses some of the challenges with adopting Agile practices in organizations. It suggests that while the concepts of Agile may have been adopted, many organizations are not fully implementing the practices and cultural changes needed. True adoption requires personal and cultural changes, including shifting to a growth mindset, reducing power distances, and adapting masculinity values. Fully adopting Agile across large organizations and programs will require changes to practices like project portfolio management, team creation, and how management and leadership functions.
Why Having Impact Matters for Good Developers (GOTO Berlin)Wooga
Why is it so hard to create an adequate working environment for good developers? Why do we have insecure managers, lots of hierarchy levels, and micromanagement instead in so many companies? It's so simple to make things better: Remove the classic tech lead, avoid the Peter principle and let small teams organize themselves. Agreed, that's not easy, and there are challenges. But I see it work everyday around me. It means that developers have to care for a bit more than just code, but the rewards are freedom to have own choices and to have a real impact on the product. Let's see how this works in reality, what works great and where there are still things to improve.
how to develop your personal power and influence to accomplish work in the organization. Start from where you are.
It's a talk, so I told stories. Don't be surprised if you can't follow the transitions. Sorry... Look for more in the Agile Program Management, coming soon on leanpub.com
Agility Brainfucks - Von Menschen, Bildern und Steampunk-Management mit NotizenGerrit Beine
In dieser Session wird mit verbreiteten Irrtümern, falschen Versprechen und falsch verstandenen Philosophien aufgeräumt.
Es geht um die freie Zeit, die ein ScrumMaster hat. Um den Unterschied zwischen Agilität und inkrementellem Arbeiten.
Es geht um feste Preise und Termine. Darum, was Velocity wirklich bedeutet.
Warum Aufwand eine Rolle spielt und wer mit wem darüber reden darf.
Es geht um glückliche Entwickler, Kunden und Manager. Glückliche Manager, die skalieren. Und wozu man Manager benötigt.
Es geht um Kultur.
Darum, was geschätzt wird und warum KPIs Projekte töten.
Es geht um Business Value und warum Agilität gerade erst anfängt.
Javascript is actually called ECMAScript. The document provides an overview of JavaScript including how it interacts with the DOM in the browser, using JavaScript in web pages, syntax, control structures like loops and conditionals, objects as hashes, functions as first-class objects, loose typing, closures, prototypes, JSON, cross-domain AJAX, libraries like jQuery, and resources for learning more. The global scope in JavaScript is discussed and the importance of using var is emphasized to avoid polluting the global namespace.
DevOps: Building by feature with immutable infrastructure at Serv.sgNicolas Mas
A DevOps experiment to make a Jira ticket describing a feature into a deployed application reachable at jira-ticket.serv.sg with a twist: the AWS infrastructure is dynamically created and destroyed once the feature is approved/rejected by the product team.
We use Slack, Jenkins, Ansible, Packer, Terraform, AWS, Jinja2 Cli, github
The speaker discusses how they used Terraform to improve their workflow for data science projects. As a data scientist, they spent most of their time dealing with infrastructure issues rather than the data science work. Terraform's "infrastructure as code" approach allowed them to define and provision resources like servers and databases in a declarative way. This improved reproducibility and made it easier to setup and destroy resources for experiments. Modules also helped abstract complexity and allowed resources to be composed together. The speaker argues this approach can benefit both data scientists and devops teams by making infrastructure part of the reproducible workflow.
This document discusses techniques for improving software testing processes. It advocates for automating testing to make it faster, cheaper, and more accurate than manual testing. It also discusses experimenting with different approaches to task assignment, including assigning the least qualified person to a task. This counterintuitive strategy was found to increase overall team velocity the most over several iterations, as it promotes learning. The document emphasizes using metrics to evaluate different process experiments and adopting the approaches that work best.
Operationalizing Clojure in mature enterprises can be difficult. I'm presenting a case study from my experience deploying and maintaining a clojure application for delivering ad-free videos to ISS for NASA. The goal is to tease out the core principles that makes an application "operational".
The document discusses using work queues with Gearman and CodeIgniter. It begins with an introduction to work queues, describing them as sequences of stored data or programs awaiting processing. It then discusses the client worker pattern for processing asynchronous jobs, some limitations of this approach, and how Gearman can help address those limitations by facilitating work distribution across languages and servers. The document provides instructions for installing and configuring Gearman to add work queue functionality.
This document provides an introduction and overview of batch file programming in Microsoft Windows. It discusses what batch files are, how they are created using text editors, and how they differ from interactive and batch modes. It also provides examples of basic batch file commands like ECHO and PAUSE. The document lists and describes many common internal and external commands that can be used in batch files to perform tasks and calls applications. It aims to help novice to advanced programmers understand batch file programming.
This document provides an introduction and overview of batch file programming in Microsoft Windows. It discusses what batch files are, how to create them using a text editor like Notepad, and some basic batch file commands like ECHO and PAUSE. It also covers different modes (interactive vs batch), operators that can be used, and some common internal and external commands that are available for use in batch files. The goal is to explain the basics of batch file programming to readers ranging from novice to advanced programmers.
This document provides an overview of JavaScript concepts and best practices. It discusses objects as hashes, functions as first-class objects, loose typing, closures, prototypes, JSON, cross-domain AJAX, testing with Jasmine, CoffeeScript, libraries like jQuery, global scope issues, regular expressions, XSS, hoisting, and other JavaScript quirks. It also provides resources for further learning JavaScript.
Functional Programming with Immutable Data Structureselliando dias
1. The document discusses the advantages of functional programming with immutable data structures for multi-threaded environments. It argues that shared mutable data and variables are fundamentally flawed concepts that can lead to bugs, while immutable data avoids these issues.
2. It presents Clojure as a functional programming language that uses immutable persistent data structures and software transactional memory to allow for safe, lock-free concurrency. This approach allows readers and writers to operate concurrently without blocking each other.
3. The document makes the case that Lisp parentheses in function calls uniquely define the tree structure of computations and enable powerful macro systems, homoiconicity, and structural editing of code.
The Pragmatic Agilist: estimating, improving quality, and communication with...Thiago Colares
Money doesn’t grow on trees: developer teams are expensive and always need to deliver value. I’ll describe in a pragmatic way how we have adopted agile practices to deliver more value with the same team and to solve 3 pains:
- estimation and deadlines
- bug fixes and quality assurance
- inefficient communication
And without working overtime (or almost never).
Queues can provide parallel processing, cross language scripting and more! The talk was focused on Gearman but the principles apply to any alternative.
The document provides an overview of a talk given by Stephen Wallace on using Puppet for system administrators. The talk introduces Puppet as a tool to help system administrators achieve goals like availability, scalability, predictability and reducing workload. It addresses common concerns that system administrators have with Puppet, such as the need to learn programming. The talk demonstrates how Puppet can be used in a simple way and provides references for further learning.
This document provides an overview of a PuppetCamp presentation on using Puppet for system administrators. The presenter, Stephen Wallace, has 20 years of experience in system administration roles. He will discuss how Puppet can help achieve goals like reusability, reduced support workload, improved monitoring, and documentation for system administrators. He will also cover topics like getting started with Puppet without programming experience, using tools like Hiera and Augeas, and how Puppet can help with provisioning, documentation, and disaster recovery.
Angus Fletcher - Error Handling in Concurrent SystemsMaritime DevCon
The document discusses building reliable concurrent systems in a hostile environment. It outlines how shared memory and function calls can cause problems in concurrent systems. Instead, processes should communicate by message passing and not assume shared state or that receivers will always be available. The document recommends letting failures crash locally instead of crashing the whole system, and having supervisor processes monitor child processes to decide how to handle failures. It provides an example of a matchmaking system to demonstrate isolating failure across independent processes. The key is to design systems that can operate partially when failures occur and reduce dependencies between components.
This document provides an introduction to functional programming with Clojure. It discusses why functional programming is useful, describes Clojure's features like immutable data structures and concurrency tools. It provides examples of Clojure syntax, data structures, and functions. It also discusses how Clojure can be used for both web and frontend development.
When life gives you functions make functional programs!Aaron Levin
This document provides an introduction to functional programming. It defines functional programming as programming with immutable data and higher-order functions, while minimizing side effects. It discusses benefits like safer code that is easier to understand, debug, and test. Functional programming involves modeling computations as expressions and mapping inputs to outputs with pure functions. While not always performant, it encourages thinking about program architecture and can make APIs more usable.
In 1971, David Parnas wrote the great paper, "On the criteria to be used decomposing the system into parts," and yet the problem of breaking down big projects into small parts that work well together remains a struggle in the industry. The ability to decompose a problem space and in turn, compose a solution is essential to our work.
Things have gotten worse since 1971. With microservices, big data, and streaming systems, we're all going to be distributed systems engineers sooner or later. In distributed systems, effective decomposition has an even greater impact on the reliability, performance, and availability of our systems as it determines the frequency and weight of communication in the system.
This talk speaks to the essential considerations for defining and evaluating boundaries and behaviors in large-scale distributed systems. It will touch on topics such as bulkhead design and architectural evolution.
1) The document discusses achieving maintainability in code through analysis, automation, and enforcement of standards.
2) It recommends setting up linting, code coverage, and other analysis tools to examine code quality and automatically enforcing code style through build processes.
3) The key is to automate as many processes as possible like testing, linting, and documentation to make the code easy to work with and prevent issues from being introduced.
The document discusses the heart of Agile and emphasizes that individuals and interactions are more valued than processes and tools. It provides examples of situations where valuing individuals and interactions over rigid processes and contracts led to better outcomes. Building an effective Agile team requires collective code ownership, commitment to the team over any individual, and letting go of ego to value collaboration over individual accomplishments.
http://serai.utsc.utoronto.ca/rrsi2014
"Unlike traditional academic conferences, the Roots & Routes Summer Institute features a combination of informal presentations, seminar-style discussions of shared materials, hands-on workshops on a variety of digital tools, and small-group project development sessions. The institute welcomes participants from a range of disciplines with an interest in engaging with digital scholarship; technical experience is not a requirement. Graduate students (MA and PhD), postdoctoral fellows and faculty are all encouraged to apply."
Reality As Your Next Build Target, Mobile AR, and the Future of AuthoringUnity Technologies
https://youtu.be/YQlcwrTvDOU
Learn how any creator with an iPhone X will soon be able to leverage the built-in camera to animate their characters' faces for use in any project on any platform. Also, get insight into authoring philosophy and the fun, nitty gritty details of developing digital experiences using real-world data from mobile devices, APIs, and even new wearable AR devices.
Speakers:
Stella Cannefax (Unity Technologies)
Amy DiGiovanni (Unity Technologies)
Jono Forbes (Unity Technologies)
Matthew Schoen (Unity Technologies)
Timoni West (Unity Technologies)
https://unite.unity.com/2018/berlin/
Five favorite features of native apps that you might not realize you can do on a web application.
Supporting slides for my presentation at JavaBin June 11, 2015.
The speaker discusses how they used Terraform to improve their workflow for data science projects. As a data scientist, they spent most of their time dealing with infrastructure issues rather than the data science work. Terraform's "infrastructure as code" approach allowed them to define and provision resources like servers and databases in a declarative way. This improved reproducibility and made it easier to setup and destroy resources for experiments. Modules also helped abstract complexity and allowed resources to be composed together. The speaker argues this approach can benefit both data scientists and devops teams by making infrastructure part of the reproducible workflow.
This document discusses techniques for improving software testing processes. It advocates for automating testing to make it faster, cheaper, and more accurate than manual testing. It also discusses experimenting with different approaches to task assignment, including assigning the least qualified person to a task. This counterintuitive strategy was found to increase overall team velocity the most over several iterations, as it promotes learning. The document emphasizes using metrics to evaluate different process experiments and adopting the approaches that work best.
Operationalizing Clojure in mature enterprises can be difficult. I'm presenting a case study from my experience deploying and maintaining a clojure application for delivering ad-free videos to ISS for NASA. The goal is to tease out the core principles that makes an application "operational".
The document discusses using work queues with Gearman and CodeIgniter. It begins with an introduction to work queues, describing them as sequences of stored data or programs awaiting processing. It then discusses the client worker pattern for processing asynchronous jobs, some limitations of this approach, and how Gearman can help address those limitations by facilitating work distribution across languages and servers. The document provides instructions for installing and configuring Gearman to add work queue functionality.
This document provides an introduction and overview of batch file programming in Microsoft Windows. It discusses what batch files are, how they are created using text editors, and how they differ from interactive and batch modes. It also provides examples of basic batch file commands like ECHO and PAUSE. The document lists and describes many common internal and external commands that can be used in batch files to perform tasks and calls applications. It aims to help novice to advanced programmers understand batch file programming.
This document provides an introduction and overview of batch file programming in Microsoft Windows. It discusses what batch files are, how to create them using a text editor like Notepad, and some basic batch file commands like ECHO and PAUSE. It also covers different modes (interactive vs batch), operators that can be used, and some common internal and external commands that are available for use in batch files. The goal is to explain the basics of batch file programming to readers ranging from novice to advanced programmers.
This document provides an overview of JavaScript concepts and best practices. It discusses objects as hashes, functions as first-class objects, loose typing, closures, prototypes, JSON, cross-domain AJAX, testing with Jasmine, CoffeeScript, libraries like jQuery, global scope issues, regular expressions, XSS, hoisting, and other JavaScript quirks. It also provides resources for further learning JavaScript.
Functional Programming with Immutable Data Structureselliando dias
1. The document discusses the advantages of functional programming with immutable data structures for multi-threaded environments. It argues that shared mutable data and variables are fundamentally flawed concepts that can lead to bugs, while immutable data avoids these issues.
2. It presents Clojure as a functional programming language that uses immutable persistent data structures and software transactional memory to allow for safe, lock-free concurrency. This approach allows readers and writers to operate concurrently without blocking each other.
3. The document makes the case that Lisp parentheses in function calls uniquely define the tree structure of computations and enable powerful macro systems, homoiconicity, and structural editing of code.
The Pragmatic Agilist: estimating, improving quality, and communication with...Thiago Colares
Money doesn’t grow on trees: developer teams are expensive and always need to deliver value. I’ll describe in a pragmatic way how we have adopted agile practices to deliver more value with the same team and to solve 3 pains:
- estimation and deadlines
- bug fixes and quality assurance
- inefficient communication
And without working overtime (or almost never).
Queues can provide parallel processing, cross language scripting and more! The talk was focused on Gearman but the principles apply to any alternative.
The document provides an overview of a talk given by Stephen Wallace on using Puppet for system administrators. The talk introduces Puppet as a tool to help system administrators achieve goals like availability, scalability, predictability and reducing workload. It addresses common concerns that system administrators have with Puppet, such as the need to learn programming. The talk demonstrates how Puppet can be used in a simple way and provides references for further learning.
This document provides an overview of a PuppetCamp presentation on using Puppet for system administrators. The presenter, Stephen Wallace, has 20 years of experience in system administration roles. He will discuss how Puppet can help achieve goals like reusability, reduced support workload, improved monitoring, and documentation for system administrators. He will also cover topics like getting started with Puppet without programming experience, using tools like Hiera and Augeas, and how Puppet can help with provisioning, documentation, and disaster recovery.
Angus Fletcher - Error Handling in Concurrent SystemsMaritime DevCon
The document discusses building reliable concurrent systems in a hostile environment. It outlines how shared memory and function calls can cause problems in concurrent systems. Instead, processes should communicate by message passing and not assume shared state or that receivers will always be available. The document recommends letting failures crash locally instead of crashing the whole system, and having supervisor processes monitor child processes to decide how to handle failures. It provides an example of a matchmaking system to demonstrate isolating failure across independent processes. The key is to design systems that can operate partially when failures occur and reduce dependencies between components.
This document provides an introduction to functional programming with Clojure. It discusses why functional programming is useful, describes Clojure's features like immutable data structures and concurrency tools. It provides examples of Clojure syntax, data structures, and functions. It also discusses how Clojure can be used for both web and frontend development.
When life gives you functions make functional programs!Aaron Levin
This document provides an introduction to functional programming. It defines functional programming as programming with immutable data and higher-order functions, while minimizing side effects. It discusses benefits like safer code that is easier to understand, debug, and test. Functional programming involves modeling computations as expressions and mapping inputs to outputs with pure functions. While not always performant, it encourages thinking about program architecture and can make APIs more usable.
In 1971, David Parnas wrote the great paper, "On the criteria to be used decomposing the system into parts," and yet the problem of breaking down big projects into small parts that work well together remains a struggle in the industry. The ability to decompose a problem space and in turn, compose a solution is essential to our work.
Things have gotten worse since 1971. With microservices, big data, and streaming systems, we're all going to be distributed systems engineers sooner or later. In distributed systems, effective decomposition has an even greater impact on the reliability, performance, and availability of our systems as it determines the frequency and weight of communication in the system.
This talk speaks to the essential considerations for defining and evaluating boundaries and behaviors in large-scale distributed systems. It will touch on topics such as bulkhead design and architectural evolution.
1) The document discusses achieving maintainability in code through analysis, automation, and enforcement of standards.
2) It recommends setting up linting, code coverage, and other analysis tools to examine code quality and automatically enforcing code style through build processes.
3) The key is to automate as many processes as possible like testing, linting, and documentation to make the code easy to work with and prevent issues from being introduced.
The document discusses the heart of Agile and emphasizes that individuals and interactions are more valued than processes and tools. It provides examples of situations where valuing individuals and interactions over rigid processes and contracts led to better outcomes. Building an effective Agile team requires collective code ownership, commitment to the team over any individual, and letting go of ego to value collaboration over individual accomplishments.
http://serai.utsc.utoronto.ca/rrsi2014
"Unlike traditional academic conferences, the Roots & Routes Summer Institute features a combination of informal presentations, seminar-style discussions of shared materials, hands-on workshops on a variety of digital tools, and small-group project development sessions. The institute welcomes participants from a range of disciplines with an interest in engaging with digital scholarship; technical experience is not a requirement. Graduate students (MA and PhD), postdoctoral fellows and faculty are all encouraged to apply."
Reality As Your Next Build Target, Mobile AR, and the Future of AuthoringUnity Technologies
https://youtu.be/YQlcwrTvDOU
Learn how any creator with an iPhone X will soon be able to leverage the built-in camera to animate their characters' faces for use in any project on any platform. Also, get insight into authoring philosophy and the fun, nitty gritty details of developing digital experiences using real-world data from mobile devices, APIs, and even new wearable AR devices.
Speakers:
Stella Cannefax (Unity Technologies)
Amy DiGiovanni (Unity Technologies)
Jono Forbes (Unity Technologies)
Matthew Schoen (Unity Technologies)
Timoni West (Unity Technologies)
https://unite.unity.com/2018/berlin/
Similar to Remote pair programming (BuildStuffLt) (20)
Five favorite features of native apps that you might not realize you can do on a web application.
Supporting slides for my presentation at JavaBin June 11, 2015.
Can you go faster with less weight? In 45 minutes, I build a web server with an address book with tests firsts and no frameworks. What can you do if you really understand what's going on?
Good programming is not something that can be explained, it has to be experienced. In this talk, you will see pair programming and test-driven development in action. The talk will involve the audience and draw on your insight to show how programming can be more fun! If you want to understand how serious test-driven development looks, this talk is for you.
The talk is based around a demonstration and interactive audience discussion, so the slides will not capture much of the content.
The document summarizes an "Extreme Programming" talk given by Johannes Brodwall. The talk demonstrates test-driven development and pair programming. It discusses the benefits of these practices, such as producing higher quality code through simplicity, communication, and feedback. It encourages programmers to practice deliberately, both at work and at home, in order to continuously improve. The conclusion emphasizes freeing the mind and practicing programming as an art.
In this talk, we will go through a practical approach for remote pair programming adopted for high-latency situations. We will demonstrate remote pair programming with a live example and we will discuss the advantages and usages of the approach.
The document summarizes an "Extreme Programming" talk given by Johannes Brodwall. The talk introduces concepts like test-driven development (TDD), pair programming, and refactoring. A demonstration of pair programming on a coding kata is shown. The key points emphasized are that practicing TDD in small iterative steps, pairing with others, and continuously refactoring code can help programmers improve quality and think in a more deliberate, mindful way about their work. The overall message is that becoming a better programmer requires freeing one's mind and practicing programming as an art.
These are my slides from the Bare-Bones Software Architecture course at XP Days Ukraine 2012. The workshop outlines a quick workshop-oriented process for initiating software projects
The document discusses agile architecture and solution design, outlining how an architect should understand the customer problem, uncover and communicate a feasible solution through describing the architecture, simplifying it based on constraints, and delivering the software solution through iterative development and demos using a technique called "rainbow planning".
The document describes Johannes Brodwall's philosophy of "bare-knuckle web development" which advocates for lightweight frameworks, test-driven development, and avoiding unnecessary complexity. It then demonstrates this approach through building a simple phonebook web application in Java using only the bare essentials like servlets and XML parsing. Finally, it discusses further directions this approach could be taken, such as building applications for the Norwegian agricultural authority and power grid operator.
The document discusses agile architecture and the role of a solution architect. It defines a solution architect as someone who understands the customer's problem, including constraints and domain knowledge, and uncovers and communicates a feasible solution. It emphasizes that discovering the solution is a team effort. The architect's responsibilities include understanding the problem, describing the problem context and domain model, describing the proposed solution, and simplifying and delivering the architecture and software.
This document summarizes the agenda for a coding dojo event, which includes demonstrations of test-driven development and pair programming, followed by several coding kata exercises involving topics like prime factorization, minesweeper, Yahtzee, and converting numbers to Roman numerals. Participants will work individually and in pairs on test cases for these kata. There will also be two rounds of an "extreme startup" code competition. Retrospectives are scheduled after each activity to discuss lessons learned.
1) The document discusses principles of agile programming such as pair programming, test-driven development, and refactoring.
2) It describes a demonstration of test-driven development using a minesweeper game, highlighting how tests are written first and then code is produced to pass those tests.
3) The document emphasizes that practicing these agile techniques through deliberate practice of coding katas can help programmers improve their skills and "think better" above just the code level. Regular practice is encouraged at meetups like the Prague Coding Dojo.
The document discusses using agile principles and contracts for large government IT projects. It proposes that "time and material" contracts create the most satisfaction, as they allow for collaboration over negotiation. However, large tax-funded projects require more structure. The document examines how the Norwegian PS2000 standard combines agile practices with target pricing models. It provides examples of projects that successfully blended agile and contracts, as well as areas that caused issues. Finally, it envisions an alternative approach using competitive bidding on small, independent teams with unit pricing for user stories. This could encourage collaboration over lengthy negotiations and change orders.
Påstand: Årsaken til at dagens kontraktregime trekker i retning fossefallsprosjekter uten rom for læring er at kontraktene forutsetter at prisen for prosjektet er låst ved oppstart. For å angi pris, må det beskrives hva prisen gjelder.
Forslag til løsning: Kontrakten kan regulerer prisen per feature på produktkøen. Kunden har da muligheten til å endre produktkøen etter behov uten at dette blir en kontraktsmessig endring.
Jeg kaller dette Stykkpriskontrakt.
For å fastsette initiell stykkpris og for å understøtte konkurranse mellom leverandører foreslår jeg videre at et utvalg av leverandører inviteres til å levere funksjonalitet i en konkurransefase. Den beste får kontrakten og erfaringsdata fra konkurransefasen brukes som input til å bestemme initiell stykkpris.
Jeg kaller dette prestasjonsbasert konkurranse.
Dette er løse ideer og har aldri vært prøvd.
This document discusses using agile principles and practices in government contracting. It proposes that customer collaboration over contract negotiation better serves agile values. It describes how some Norwegian government projects have incorporated elements of agile, like sprints and product backlogs, while still using traditional cost-plus contracts. The document suggests a model of competitive bidding between suppliers to deliver user stories could further foster collaboration over negotiation. Overall, it argues that Norway provides a starting point but there is still room for improvement in aligning contracts with agile principles.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
50. Stand-up
Yesterday, I finally
finished Delete after
3 days of «coding»
I didn’t need the
Delete service
Backend dev
Database dev
Scrum master
Johannes
Designer
Frontend dev
51. Stand-up
Yesterday, I finally
finished Delete after
3 days of «coding»
I didn’t need the
Delete service
Backend dev
Database dev
Scrum master
Johannes
Designer
Frontend dev
93. Arunas
Add new company
✓
Display contacts on
map
✓
Dileepa
✓
Chinthaka
✓
Store password
securely
✓
✓
✓
Authenticate user by
company
Sergey
✓
✓
Filter contacts in list
Usernames with
Norwegian letters are
rejected
Johannes
Thomas
✓
✓
✓
✓
✓
✓
✓
✓
94. Arunas
Add new company
✓
Display contacts on
map
✓
Dileepa
✓
Chinthaka
✓
Store password
securely
✓
✓
✓
Authenticate user by
company
Sergey
✓
✓
Filter contacts in list
Usernames with
Norwegian letters are
rejected
Johannes
Thomas
✓
✓
✓
✓
✓
✓
✓
✓
95. Arunas
Add new company
✓
Display contacts on
map
✓
Dileepa
✓
Chinthaka
✓
Store password
securely
✓
✓
✓
Authenticate user by
company
Sergey
✓
✓
Filter contacts in list
Usernames with
Norwegian letters are
rejected
Johannes
Thomas
✓
✓
✓
✓
✓
✓
✓
✓
116. •
•
•
•
•
•
•
Less Overproduction (unused functions in API)
Less Waiting (for the only person who knows X)
Less Motion (as everyone gets more skilled)
Fewer Defects (as two pair of eyes see better)
Less Over-processing (from double responsibility)
Less Inventory (as team works more focused)
Less Transportation (handoffs inside a story)