The document discusses software quality and specification by example (SbE). It begins with defining quality and discussing why bugs occur. It then introduces SbE, describing how it can be used to collaboratively specify requirements through examples to derive automated tests and documentation. SbE benefits include improved communication, fewer bugs, and living documentation. The rest of the document provides examples of how to apply SbE, including through a simulation game, and discusses test scope and writing good automated acceptance tests.
This presentation helps technical communicators face challenges in agile planning and execution. It’s increasingly common for writers to work on multiple agile teams. The session includes tips for better communication and teamwork on your agile team, with the goal of a “whole team approach” in mind.
Authors' perspectives around software factories. Discussion points - What are the realities, how software development has evolved and how will the future look. Will software go the factory way - a la the manufacturing industry? Or is it closer to the construction industry? Was presented to an audience of college students and faculty.
Code with Honor – on the importance and beauty of software programming - RMOU...Lucas Jellema
We want to be able to look our customer (and our mom) in the eye and state that we are proud of the software we have delivered. Because it is a high quality and lasting product. But can we really? Let’s discuss how to bring our profession to the next level.How to be a Professional Software Professional
Abstract
As programmers, our main goal is to make IT work. To translate functional specification into executable code. And sure, that is the least we can do. But we have more responsibility than this. We have to produce software that is robust and will reliably handle expected and unexpected cases. Software that is scalable and can handle expected and somewhat unexpected load gracefully. With minimal operating costs and in the greenest way possible. Software that is observable and manageable and that can be evolved with changing and new functional requirements and with changing technology. Software that will be legacy in the original, positive meaning of the word. That does not depend on the one big brain in our team or on the guy that has been around for three decades. Software that we know is good and can comfortably be modified in a controlled and productive way.
This session talks about what it takes to create our code with honor. It discusses automation at every level in the build, rollout and monitoring of infrastructure (as code), platform and application, using CI/CD pipelines and DevOps procedures and tool. The session talks about testing – before and during development as well as after each change anywhere in the system and for both functional and non-functional aspects. Test driven development, regression testing and smoke testing are among the concepts discussed. The term ‘clean code’ refers to code that is readable, testable and maintainable. Through code analysis and peer reviews and by performing refactoring we constantly refine our software to be collectively adaptable.
As software developers, we have an obligation to society, to our peers and to ourselves to not only write software that does the job, but to create code that is good. Ours is a great and meaningful line of work, especially if we raise our game professionally to code with honor.
Benefits:
* feel the responsibility we IT professionals have
* understand how and why we frequently fail in the responsibility
* learn about the key aspects to apply to find the road to redemption
Optimize and succeed your next Fixed Budget Project planning process Promet Source
Presentation given by @akucharski at the #14ntcdrupal non for profit conference drupal day in Washington DC. Tips on how to improve your chances of success for fixed budget projects. Covers the RFP process, contracting and terms, project planning and post project implementation maintenance.
Presentation for ICCA Boston on October 29, 2008.
Abstract:
The facts are all stacked against us as consultants: 30+% requirements churn for projects, with 50+% of projects completing late or failing entirely and a market mindset of instant gratification. How do small consulting companies compete in today’s environment without having to take incredible risks along the way? This is the key question facing leaders of small firms. Clients are getting harder to find in an economic climate that is eroding so we have to make every client count! To do this effectively is going to require changing the way we do business. One potential solution is use of agile practices and principles to drive an agile process.
This presentation will explore the principles and practices that drive the agile process. In particular it will look at how using an agile approach can help mitigate risk for small consulting businesses. It will also explain the potential client benefits from using an agile approach. When the vendor is providing exceptional value to the client a long-term relationship can be established which benefits both parties. From the perspective of a small consulting company these relationships are the most valuable not just from a revenue perspective, but also as references and for word-of-mouth lead generation. This presentation will describe how having an agile approach in your toolbox may be enable you to unlock additional opportunities.
This presentation helps technical communicators face challenges in agile planning and execution. It’s increasingly common for writers to work on multiple agile teams. The session includes tips for better communication and teamwork on your agile team, with the goal of a “whole team approach” in mind.
Authors' perspectives around software factories. Discussion points - What are the realities, how software development has evolved and how will the future look. Will software go the factory way - a la the manufacturing industry? Or is it closer to the construction industry? Was presented to an audience of college students and faculty.
Code with Honor – on the importance and beauty of software programming - RMOU...Lucas Jellema
We want to be able to look our customer (and our mom) in the eye and state that we are proud of the software we have delivered. Because it is a high quality and lasting product. But can we really? Let’s discuss how to bring our profession to the next level.How to be a Professional Software Professional
Abstract
As programmers, our main goal is to make IT work. To translate functional specification into executable code. And sure, that is the least we can do. But we have more responsibility than this. We have to produce software that is robust and will reliably handle expected and unexpected cases. Software that is scalable and can handle expected and somewhat unexpected load gracefully. With minimal operating costs and in the greenest way possible. Software that is observable and manageable and that can be evolved with changing and new functional requirements and with changing technology. Software that will be legacy in the original, positive meaning of the word. That does not depend on the one big brain in our team or on the guy that has been around for three decades. Software that we know is good and can comfortably be modified in a controlled and productive way.
This session talks about what it takes to create our code with honor. It discusses automation at every level in the build, rollout and monitoring of infrastructure (as code), platform and application, using CI/CD pipelines and DevOps procedures and tool. The session talks about testing – before and during development as well as after each change anywhere in the system and for both functional and non-functional aspects. Test driven development, regression testing and smoke testing are among the concepts discussed. The term ‘clean code’ refers to code that is readable, testable and maintainable. Through code analysis and peer reviews and by performing refactoring we constantly refine our software to be collectively adaptable.
As software developers, we have an obligation to society, to our peers and to ourselves to not only write software that does the job, but to create code that is good. Ours is a great and meaningful line of work, especially if we raise our game professionally to code with honor.
Benefits:
* feel the responsibility we IT professionals have
* understand how and why we frequently fail in the responsibility
* learn about the key aspects to apply to find the road to redemption
Optimize and succeed your next Fixed Budget Project planning process Promet Source
Presentation given by @akucharski at the #14ntcdrupal non for profit conference drupal day in Washington DC. Tips on how to improve your chances of success for fixed budget projects. Covers the RFP process, contracting and terms, project planning and post project implementation maintenance.
Presentation for ICCA Boston on October 29, 2008.
Abstract:
The facts are all stacked against us as consultants: 30+% requirements churn for projects, with 50+% of projects completing late or failing entirely and a market mindset of instant gratification. How do small consulting companies compete in today’s environment without having to take incredible risks along the way? This is the key question facing leaders of small firms. Clients are getting harder to find in an economic climate that is eroding so we have to make every client count! To do this effectively is going to require changing the way we do business. One potential solution is use of agile practices and principles to drive an agile process.
This presentation will explore the principles and practices that drive the agile process. In particular it will look at how using an agile approach can help mitigate risk for small consulting businesses. It will also explain the potential client benefits from using an agile approach. When the vendor is providing exceptional value to the client a long-term relationship can be established which benefits both parties. From the perspective of a small consulting company these relationships are the most valuable not just from a revenue perspective, but also as references and for word-of-mouth lead generation. This presentation will describe how having an agile approach in your toolbox may be enable you to unlock additional opportunities.
This presentation gives you some tips on beta testing iphone apps along with some useful resources for beta app distribution (Hockey) and where to find and select testers.
Setting the right goals and objectives for your beta testCentercode
Beta testing produces enormous amounts of information on your product. But how do you know you're collecting the right feedback and data? Here our research team shows you how to set targeted goals for your next beta test and what methods you can use to reach them. Click this link to access the on-demand webinar: https://www.centercode.com/webinar/2016/september/
50 Shades of Data - from 0 and 1 to a rich data spectrum - RMOUG 2021 Trainin...Lucas Jellema
Data will always be the key ingredient in enterprise IT. The nature, scope and volume of data and the place of data in the IT landscape is evolving. BigData, unstructured data and non-relational data stored on Hadoop, in NoSQL databases and held in ElasticSearch, Caches and Message Queues and blockchain complements data in the enterprise RDBMS. Trends like IoT, microservices that contain their own data, streaming analytics, CQRS and Event Sourcing have changed the way we store, share, duplicate and govern data. This session introduces and demonstrates some of the most relevant patterns, technologies and hypes around storing, processing and retrieving data using products such as Oracle RDBMS, MySQL, Neo4J, Kafka, Redis, Elastic Search, Cassandra and Hadoop, Spark and yes SQL too - locally,in containers and on the cloud.
Summary:
Data has been and will be the key ingredient to enterprise IT. What is changing is the nature, scope and volume of data and the place of data in the IT architecture. BigData, unstructured data and non-relational data stored on Hadoop, in NoSQL databases and held in Elastic Search, Caches and Message Queues complements data in the enterprise RDBMS. Trends such as microservices that contain their own data, BASE, CQRS and Event Sourcing have changed the way we store, share and govern data. This session introduces patterns, technologies and hypes around storing, processing and retrieving data using products such as Oracle RDBMS, Cassandra, MySQL, Neo4J, Kafka, Redis, ElasticSearch and Hadoop/Spark -locally,in containers and on the cloud.
The rules for persisting and querying data are changing. Relational and ACID are no longer self evident, data consistency and integrity is far more relaxed and duplicating data in mulitiple places is quite acceptable. Databases are chosen, depending on the use case and looking at aspects such as agility and development productivity, scalability and performance, readily accessible expertise, cloud readiness and Total Cost of Ownership. Managing the data across multiple databases becomes an important challenges - prompting architects to implement CQRS, embrace event sourcing, consider blockchain and look at distributed technologies such as Apache Cassandra and Apache Kafka. This session discusses the new challenges, opportunities and approaches along with several demonstrations.
the session is aimed primarily at making architectural decisions: picking the right technology for the required capabilities and making the various components work together.
Benefits
- consider some potentially new data concepts
- learn about different types of data and data store
- open your mind to new patterns regarding data
Accelerate Time to Market by Pipelining UX with Development - Part 1ICS
Pipelining is a rapid design and development process for creating high-quality software. Taking a pipelining approach ensures a commitment to the user experience (UX), which speeds development. According to Strategic Data Consulting, UX investments made early on decrease time to market by as much as 30%.
In this two-part webinar series we’ll share real-world success stories highlighting projects we’ve designed and built using a pipelining approach, as well as show you what it means to integrate pipelining into your own product development process.
You’ll learn:
The Why, What and Who of User Experience Design
What it means to ‘pipeline’ development with UX design
How a pipelining approach gets to you market faster
Evolution of the pipelining approach
Best practices for making this approach work in an Agile environment
How to champion UX design within your organization
What is Pipelining?
The term “pipelining” comes from computer architecture, where it describes a method for executing multiple instruction sequences synchronously to maximize throughput. Similarly, pipelining software projects allows User Experience (UX) design and software development activities to overlap, thus shortening project timelines.
As the fields of design and development have matured, each has refined powerful, efficient processes. The pipelining approach leverages these processes and coordinates best practices from both fields to accelerate time to market — all without compromising quality.
Applying Usability to Improve Value and Reduce RiskBonitasoft
This technical session was presented by Nathalie Cotte at the online IDEAS conference hosted by the Center for Information Development-Management - to explain how we care more and more about customers, but that we also need to remind everyone that developers also have needs to be considered!
Why We Need Architects (and Architecture) on Agile ProjectsRebecca Wirfs-Brock
This is an updated version of this talk which I will present at Agile 2013.
The rhythm of agile software development is to always be working on the next known, small batch of work. Is there a place for software architecture in this style of development? Some people think that software architecture should simply emerge and doesn’t require ongoing attention. But it isn’t always prudent to let the software architecture emerge at the speed of the next iteration. Complex software systems have lots of moving parts, dependencies, challenges, and unknowns. Counting on the software architecture to spontaneously emerge without any planning or architectural investigation is at best risky.
So how should architecting be done on agile projects? It varies from project to project. But there are effective techniques for incorporating architectural activities into agile projects. This talk explains how architecture can be done on agile projects and what an agile architect does.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Tieturi Oy
Testausala on suuressa murroksessa. Sen sijaan että kehittäjät ja testaajat käyttävät kaikissa tilanteissa tiettyä tuotantotapaa, kuten vaikkapa Agilea, tulee ammattilaisen itse osoittaa ketteryyttä valitsemalla ja yhdistelemällä luovasti erilaisia tuotantotapoja tilanteen mukaan.
In today's competitive landscape, your product must exceed expectations and create a compelling customer experience. Here, we discuss how to leverage real customers in real environments to evaluate the stability, satisfaction, and adoption of your product before release and achieve Customer Validation.
When it comes to create and deliver the best features for target users, usability discussions can go on endlessly.
But there are other features to implement in the release, and at some point, this new release must be shipped.
So how to make sure you have achieved the minimum usability to avoid rejection.. and even foster adoption?
What does it take to make your assessment and reduce the risk of any further negotiation?
This is what this talk intends to provide - an explanation of a method and a team-spirit to adopt.
This presentation gives you some tips on beta testing iphone apps along with some useful resources for beta app distribution (Hockey) and where to find and select testers.
Setting the right goals and objectives for your beta testCentercode
Beta testing produces enormous amounts of information on your product. But how do you know you're collecting the right feedback and data? Here our research team shows you how to set targeted goals for your next beta test and what methods you can use to reach them. Click this link to access the on-demand webinar: https://www.centercode.com/webinar/2016/september/
50 Shades of Data - from 0 and 1 to a rich data spectrum - RMOUG 2021 Trainin...Lucas Jellema
Data will always be the key ingredient in enterprise IT. The nature, scope and volume of data and the place of data in the IT landscape is evolving. BigData, unstructured data and non-relational data stored on Hadoop, in NoSQL databases and held in ElasticSearch, Caches and Message Queues and blockchain complements data in the enterprise RDBMS. Trends like IoT, microservices that contain their own data, streaming analytics, CQRS and Event Sourcing have changed the way we store, share, duplicate and govern data. This session introduces and demonstrates some of the most relevant patterns, technologies and hypes around storing, processing and retrieving data using products such as Oracle RDBMS, MySQL, Neo4J, Kafka, Redis, Elastic Search, Cassandra and Hadoop, Spark and yes SQL too - locally,in containers and on the cloud.
Summary:
Data has been and will be the key ingredient to enterprise IT. What is changing is the nature, scope and volume of data and the place of data in the IT architecture. BigData, unstructured data and non-relational data stored on Hadoop, in NoSQL databases and held in Elastic Search, Caches and Message Queues complements data in the enterprise RDBMS. Trends such as microservices that contain their own data, BASE, CQRS and Event Sourcing have changed the way we store, share and govern data. This session introduces patterns, technologies and hypes around storing, processing and retrieving data using products such as Oracle RDBMS, Cassandra, MySQL, Neo4J, Kafka, Redis, ElasticSearch and Hadoop/Spark -locally,in containers and on the cloud.
The rules for persisting and querying data are changing. Relational and ACID are no longer self evident, data consistency and integrity is far more relaxed and duplicating data in mulitiple places is quite acceptable. Databases are chosen, depending on the use case and looking at aspects such as agility and development productivity, scalability and performance, readily accessible expertise, cloud readiness and Total Cost of Ownership. Managing the data across multiple databases becomes an important challenges - prompting architects to implement CQRS, embrace event sourcing, consider blockchain and look at distributed technologies such as Apache Cassandra and Apache Kafka. This session discusses the new challenges, opportunities and approaches along with several demonstrations.
the session is aimed primarily at making architectural decisions: picking the right technology for the required capabilities and making the various components work together.
Benefits
- consider some potentially new data concepts
- learn about different types of data and data store
- open your mind to new patterns regarding data
Accelerate Time to Market by Pipelining UX with Development - Part 1ICS
Pipelining is a rapid design and development process for creating high-quality software. Taking a pipelining approach ensures a commitment to the user experience (UX), which speeds development. According to Strategic Data Consulting, UX investments made early on decrease time to market by as much as 30%.
In this two-part webinar series we’ll share real-world success stories highlighting projects we’ve designed and built using a pipelining approach, as well as show you what it means to integrate pipelining into your own product development process.
You’ll learn:
The Why, What and Who of User Experience Design
What it means to ‘pipeline’ development with UX design
How a pipelining approach gets to you market faster
Evolution of the pipelining approach
Best practices for making this approach work in an Agile environment
How to champion UX design within your organization
What is Pipelining?
The term “pipelining” comes from computer architecture, where it describes a method for executing multiple instruction sequences synchronously to maximize throughput. Similarly, pipelining software projects allows User Experience (UX) design and software development activities to overlap, thus shortening project timelines.
As the fields of design and development have matured, each has refined powerful, efficient processes. The pipelining approach leverages these processes and coordinates best practices from both fields to accelerate time to market — all without compromising quality.
Applying Usability to Improve Value and Reduce RiskBonitasoft
This technical session was presented by Nathalie Cotte at the online IDEAS conference hosted by the Center for Information Development-Management - to explain how we care more and more about customers, but that we also need to remind everyone that developers also have needs to be considered!
Why We Need Architects (and Architecture) on Agile ProjectsRebecca Wirfs-Brock
This is an updated version of this talk which I will present at Agile 2013.
The rhythm of agile software development is to always be working on the next known, small batch of work. Is there a place for software architecture in this style of development? Some people think that software architecture should simply emerge and doesn’t require ongoing attention. But it isn’t always prudent to let the software architecture emerge at the speed of the next iteration. Complex software systems have lots of moving parts, dependencies, challenges, and unknowns. Counting on the software architecture to spontaneously emerge without any planning or architectural investigation is at best risky.
So how should architecting be done on agile projects? It varies from project to project. But there are effective techniques for incorporating architectural activities into agile projects. This talk explains how architecture can be done on agile projects and what an agile architect does.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Tieturi Oy
Testausala on suuressa murroksessa. Sen sijaan että kehittäjät ja testaajat käyttävät kaikissa tilanteissa tiettyä tuotantotapaa, kuten vaikkapa Agilea, tulee ammattilaisen itse osoittaa ketteryyttä valitsemalla ja yhdistelemällä luovasti erilaisia tuotantotapoja tilanteen mukaan.
In today's competitive landscape, your product must exceed expectations and create a compelling customer experience. Here, we discuss how to leverage real customers in real environments to evaluate the stability, satisfaction, and adoption of your product before release and achieve Customer Validation.
When it comes to create and deliver the best features for target users, usability discussions can go on endlessly.
But there are other features to implement in the release, and at some point, this new release must be shipped.
So how to make sure you have achieved the minimum usability to avoid rejection.. and even foster adoption?
What does it take to make your assessment and reduce the risk of any further negotiation?
This is what this talk intends to provide - an explanation of a method and a team-spirit to adopt.
What would you do with 10% Productivity Improvement?Troy Bitter
Leveraging six simple collaboration and time management techniques can provide a 10% productivity improvement. Author Tony Schwartz says “Manage your energy, not your time.”
What would you do with 10% productivity improvement? Come learn the techniques and let’s find out.
EDITORIAL
“DESCOBRINDO…” - RIBEIRA BRAVA, 6 DE MAIO DE 2013 – VOL. 1 – N.º 11
António Pereira (AJAP) nypereira@hotmail.com
A DESCOBRINDO analisa este ano, em 40 páginas, as vindimas e as antiguidades na Ribeira Brava.
Nas páginas 14 a 32 abordamos o tema vindimas. Durante os últimos doze meses acompanhamos a produção das uvas no presente, registamos depoimentos sobre a apanha das uvas no passado e no presente. Falamos das uvas que são transformadas em mostro e, depois, em vinho. Este vinho caseiro, chamado pelos locais como “Café de setembro”, é a bebida oferecida normalmente nas casas rurais madeirenses.
Como é que faziam o vinho?
Feita a apanha das uvas, os “meninos” da casa entravam para dentro do lagar, a fim de “bailar” com as “meninas” e cantarem de forma a criar um ambiente festivo enquanto a uva era esmagada com os pés.
Depois das uvas estarem pisadas, o bagaço era colocado à volta do fuso. A mesa ficava por cima deste e a corda em volta do mesmo, com o objetivo de tirar o restante sumo das uvas.
A festa do Bom Despacho, realizada na freguesia do Campanário, atrai todos os anos centenas de pessoas que na procissão da Nossa Senhora do Bom Despacho cumprem as suas promessas. Desta festa e de outras curiosidades e factos (incêndios de 2012) incluídos na grande reportagem “ A minha terra” são analisados nas páginas 33 a 53.
Conheça também outras grandes reportagens, tais como: “Siga Freitas”, “Artesanato” e “Venda Antiga” que se encontram nas páginas 54 a 66.
Para ler ainda, entre outras, a viagem às Desertas realizada pela ex-aluna Verónica, da EBSPMA, nas páginas 68 a 70.
Na edição deste ano da DESCOBRINDO, fique a conhecer também nas páginas 44 a 47 e nas páginas 116 a 129 o estimado leitor poderá ler o que investigamos sobre as Festas do Espírito Santo na Encumeada, na Vila da Ribeira Brava, no Rosário – S. Vicente e no Calhau da Lapa.
Os desfiles, a moda, manequins e os estudantes mereceram o destaque habitual: páginas 147 a 184. Ainda, a “famosa” Pedra Vermelha da Serra de Água nas páginas 38 a 43.
Estes e muitos outros assuntos estão à sua espera na edição da DESCOBRINDO, que, como sempre, nas páginas finais, traz a bênção das capas do ano letivo 2012/2013.
Síntesis de proteínas. La traducción. Narración ilustrada obtenida de Virtua...Hogar
Documento basado en una animación que mantiene en su sitio Web "virtual cell" la North Dakota state University. Trata sobre la iniciación, elongación y terminación en la síntesis de proteínas. Cada paso de la traducción está dibujado en colores y en cada dibujo hay rótulos explicativos de proceso. Se incluye la narración de la animación, cuyo URL se adjunta.
For any project to be successful, along with importance of software development, the significance of software quality assurance services plays a highly pivotal role and needs to be synergistically handled along with all the other phases of the project. Why is it so important and what role does it play in any software development project is what is handled in this article. Have a glimpse through one of the most vital phases of any software development life cycle.
Read More At: http://softwaretestingsolution.com/blog/software-qa-services-an-important-ingredient-in-software-development/
Presentacion sobre cómo elaborar procesos de QA en proyectos de desarrollo de software desde una etapa temprana hasta la validación final del software.
Se realizará caso práctico con Selenium.
This presentation includes challenges in testing, levels of testing, best practices and policies, Test Drive Design(TDD),
Behavioral Driven Design (BDD Testing), TDD v/s BDD
Prashant technical practices-tdd for xebia eventXebia India
Theme: Agile Technical Practices
Epic: TDD implementation
Stories:
Context of TDD
What is TDD
Response of Developers to TDD implementation
Practices complimenting TDD
Success with TDD
(SPOT205) 5 Lessons for Managing Massive IT Transformation ProjectsAmazon Web Services
Choice Hotels is undertaking a multiyear, $20 million project to recreate our core business engines on AWS. In trying to approach this complex undertaking, we determined that the project itself is a system too. You can apply principles of good architecture and design work in how you approach the project structure and management. Come to this talk by Choice Hotels’ CTO to learn five key lessons and 20 concrete takeaways that you can implement today to help your AWS projects succeed.
Behavior Driven Development is one of the most commonly misunderstood techniques in DevOps, but it is also one of the key enablers of both an Agile culture and true continuous deployment. This talk will attempt to fill in the missing pieces on exactly what BDD is and how your teams can use it to increase communication, drive quality, and reduce waste. We will also connect the dots on why you need a test-first strategy to enable trunk-based development, continuous integration, and continuous deployment. If your business still struggles with monthly or quarterly big-batch releases, this talk will show you what your teams must do to evolve to the next stage of continuous delivery.
Ten10 Seminar: Test Automation, Tooling and the Future (slides)Ten10
> Are Commercial Automation Tools Dead?
Chris Thompson, Consultancy Services Director, Ten10
> Selenium in the Enterprise, Getting your Tooling Infrastructure Right
Adrian Brown, Head of Fusion QA, TP ICAP
> Is Test Automation Always the Answer? And What Does the Future of Test Automation Look Like?
Ash Gawthorp, Academy Services Director, Ten10
Effective Testing Practices in an Agile EnvironmentRaj Indugula
This is a practitioner’s view of testing and testing practices within an iterative development environment. We will explore the challenges of testing within such an environment and ways to better integrate the QA professional into what is inherently a developer-centric methodology. If quality is paramount, then we ought to move testing to the front of the line and test early and often. Automation lies at the heart of agility and we will look at how test automation techniques and test-first design philosophy might be applied at multiple-levels to drive quality.
Using Product Box to Build the Complete DeveloperLuke Hohmann
In 2006 I was asked to give the keynote at the Better Software Conference on "The Complete Developer". It was a perfect opportunity to use the Innovation Game® Product Box to with senior leaders of Silicon Valley Companies like Google and EMC to identify the three core sets of attributes that they consider most valuable in a developer: technical competence, customer driven and business acumen.
Agility via Software Engineering Practices - Agile Tour Montreal 2015Steve Mercier
A presentation given to Agile Tour Montreal 2015 about how you can attain better Agility by applying software development practices helping to correct typical issues with Agile methodologies.
Test Automation Maturity Model (Israel Test Automation meetup 12/11/2018)Arnon Axelrod
Just few years ago most people didn’t know a thing about test automation. Today most companies either use test automation or plan to start doing it soon. However, even companies that use test automation regularly often have a long way to go in order to realize the full potential of test automation. In this talk I’ll try to outline a typical evolution of the test automation in an organization in the way to realizing its full potential.
This is the presentation I gave at Sela on 29/10/2018. It covers the importance of clean code and refactoring skills to productivity and business value
This is the presentation I gave at Sela on 29/10/2018. It covers some best practices for writing clean code and for doing refactoring efficiently. It also describes some of Resharper's features for refactoring and code analysis.
In this presentation I'm talking about design patterns applicable to test automation. We start with the Page Object pattern, continue to applying other common design patterns to test automation, and eventually talk about more generic guidelines and rules for designing the test automation framework
In the Israel Test Automation meetup meeting on July 10, 2017, I gave this presentation about the relationships between test automation and architecture, and its importance to the reliability of the tests.
Make sure to read the notes, as they contain more-or-less the spoken content.
A presentation I gave in Expert Days 2012. In this presentations I explain how most of the features in the C# language work, including Iterators, Lambdas, Linq, Dynamics, and more.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
ברוכים הבאים לסדנא...
אנחנו נדבר היום על שיטות איך למנוע באגים במקום לרדוף אחריהם...
הסנדא היא אינטראקטיבית... כולם משתתפים פעילים...
Test Architect @ Retalix
Programming background…
Microsoft – both test and dev (similar role)
כ-15 דק'
התחלה משוערת: 09:20
סיום משוער: 9:30
נתחיל מהסוף:
אם הסדנא הזו היתה מוצלחת, עם מה היית יוצא ממנה? (silent brainstorming)
כ"א ירשום 3 פתקים. מדביקים על הלוח ומקבצים לקבוצות (בסוף לצלם ולאסוף)
תשובה שלי (בסוף): הבנה שאפשר אחרת! אפשר להוציא גרסא שהלקוח ישמח לקבל, להוריד את כמות הבאגים כמעט ל-0 וכל זאת מבלי לחרוג מהתקציב! (ולא לשכוח להנות!)
זמן: כ-5 – 10 דק'
סיום משוער: 09:40
דיון פתוח:
לזרוק מושגים שקשורים לאיכות של תוכנה
נסווג אותם ל: סיבה, תוצאה, מניעה, תיקון (קשרים) – להעזר בפתקים דביקים...
שאלות מנחות:
תכונות של תוכנה איכותית: (Stability, Usability, Supporatbiliy, Performance, Secutiry, Scalability וכו')
מה הגורמים לפגיעה באיכות?
מה הגורמים המונעים פגיעה באיכות/משפרים את האיכות?
Useful – ה-GPS הראשונים...
בדיחה על כדור פורח:
איש בכדור פורח מבין שאיבד את דרכו. בעודו יורד בגובה, הוא מבחין באדם למטה."סלח לי, האם אתה יכול לעזור לי?", צועק האיש מהכדור הפורח לעבר האיש שלמטה, "הבטחתי לחבר שאפגש איתו בעוד שעה, אבל אינני יודע היכן אני.""אתה בכדור פורח", עונה לו האדם שלמטה, "אתה מרחף בגובה 30 רגל מעל האדמה ואתה בין 40-41 מעלות אורך צפון לבין 59-60 מעלות רוחב מערב!""אתה בטח מהנדס", אומר לו האיש בכדור הפורח."נכון מאוד", עונה לו האיש מלמטה, "איך ידעת?""ובכן", מתחיל האיש בבלון, "כל מה שאמרת לי הוא נכון טכנית, אבל לא ממש עזרת לי...""אתה בטח מנהל", אומר לו האיש על הקרקע."נכון מאוד", עונה האיש שבבלון, "איך ידעת?""ובכן", מתחיל המהנדס, "אתה לא יודע איפה אתה או לאן אתה הולך, עלית לאן שעלית בגלל כמות גדולה של אוויר, הבטחת הבטחה שאין לך מושג איך לעמוד בה ואתה מצפה שאני אפתור לך את הבעיה. למעשה, אתה בדיוק באותו מצב בו היית לפני שנפגשנו, אבל איכשהו עכשיו זו אשמתי..."
סיום משוער: 09:45
המחשב עושה בדיוק מה שאומרים לו... אז איך זה יכול להיות שהתוצאה תהיה שגוייה או לא צפויה?!
שאלה למחשבה: האם כמות הבאגים מצביעה על האיכות?
דוגמא נגדית: Windows 2000.
שאלה למחשבה: האם כמות הבאגים מצביעה על האיכות?
דוגמא נגדית: Windows 2000.
Complexity – inherent and accidental
הכל זה פערי ציפיות:
טעויות אנוש (קידוד) – המתכנת ציפה שהקוד שהוא כתב יעשה משהו מסויים אבל הוא עושה משהו אחר
חוסר סנכרון בין אנשי צוות/בין צוותים – מתכנת א' ציפה שהקוד של מתכנת ב' יתנהג באופן מסויים אבל הוא מתנהג אחרת...
טעויות בהבנה של הצורך העסקי – הלקוח העסקי ציפה שהאפליקציה תתנהג באופן מסויים אבל היא מתנהגת באופן אחר...
הגדרה לא שלמה או לא מדוייקת של התוצאה הרצוייה – הלקוח מצפה שהתוכנה תתנהג כמו שהוא חושב ולא כמו שהמתכנת הבין...
מורכבות (קושי בראיית התמונה השלמה והגדרת ההתנהגות הצפוייה בכל המקרים) – כשהלקוח נתקל במקרה קצה הוא מצפה שהתוכנה תתנהג באופן תקין ולא באופן שהיא מתנהגת (ובטח שלא תתרסק...)
שימוש לא נכון בכלים – המתכנת מצפה שהכלי יעבוד באופן מסויים אבל הוא מתנהג אחרת...
באגים בכלים (נדיר) – המתכנת ציפה שהכלי יבצע פעולה מסויימת אבל הוא לא (תמיד) מבצע אותה כמצופה
מסקנה: אם נשפר את התקשורת ונעשה תיאום ציפיות טוב יותר – נוכל למנוע חלק גדול של הבאגים.
שאלה למחשבה: איך עושים תיאום ציפיות עם מחשב?! (התשובה בהמשך)
סיום משוער: 10:00
שאלה למחשבה: איך עושים תיאום ציפיות עם מחשב?! (התשובה בהמשך)
התחלה משוערת: 10:00
כ-5 דק'
דיון:
קשה לחשוב ולהגדיר בדיוק את כל המקרים מראש
בתחילת תהליך הפיתוח בד"כ לצוות הפיתוח יש הבנה לא מספיק טובה של התחום העסקי (ולעיתים גם של הטכנולוגיה) ולכן הפתרונות המוצעים הם לא מיטביים
גם במסמך הגדרות יכולות להיות סתירות וככל שהמסמך יותר ארוך ומפורט, כך קשה יותר לעלות עליהן
טעויות אנוש מתגלות רק בשלב האחרון של הפיתוח (ככל שבאג מתגלה מאוחר יותר כך עלות התיקון שלו גבוהה יותר)
אם מתגלה באג באפיון או ב-design אז צריך לחזור על כל התהליך מחדש...(?)
כ-5 דק'
בד"כ אין מסמך דרישות מפורט, ולכן יש יותר מקום לטעויות ואי הבנות
בד"כ לא שומרים מסמכי דרישות ישנות ולכן קשה לדעת אם נשברה התנהגות שנדרשה בעבר
בגלל המחזורים הקצרים אין מספיק זמן לבדוק לעומק
לא חושבים הרבה קדימה – (no big design upfront) – בהתחלה הכל סבבה עד שהמערכת מתחילה להסתבך...
Technical debt and the Agilist dilemma
פתרון חלקי: בדיקות אוטומטיות
בד"כ נכתבים בסוף, בלחץ, וע"י מתכנתים מתחילים או אנשי בדיקות...
כלים אוטומטיים ו/או מתכנתים מתחילים כותבים קוד קשה לתחזוקה
כשטסט נכשל – צריך להתחיל לחקור למה הוא נכשל: האם הבעיה בטסט או שזה באמת באג
החקירה לוקחת זמן...
שינויים קטנים בתוכנה יכולים להפיל טסטים בזמן שאדם יכול להפעיל שיקול דעת ולהתעלם מהבדלים לא מהותיים
כתוצאה מכך האמון בטסטים האוטומטיים יורד, ואז מפסיקים להשתמש ולתחזק אותם...
לא תמיד ברור מה הטסט בא לבדוק
לעיתים בודקים את מה שקל לבדוק (למשל לוגים, DB...) ולא את מה שבאמת חשוב ללקוח.
לא ברור כמה הם באמת מכסים – ועוד יותר לא ברור מה הם לא מכסים... (Code coverage נותן מענה חלקי בלבד שכן מבלי לחקור מה לא מכוסה, אין בזה הרבה תועלת)
לא מתקשרים את התוצאות לכל הנוגעים בדבר (דוח אוטומטי שמנהלים מסתכלים עליו)
סיום משוער: 10:30
בודקים חלקים מאד קטנים של התוכנה ולא את האינטגרציה ביניהם
בודקים התנהגות במישור הטכני ולא במישור של המשתמש העסקי
נכתבים ע"י המתכנתים ותלויים בהבנה שלהם את הדרישות (Blind spots)
מיועדים למתכנתים בלבד – אף אחד אחר לא יכול לקרוא ולהבין מה הטסטים בודקים
כשטסט נכשל - רק המתכנתים יכולים להבין מה נכשל. לא נותן תמונה ברורה ל-QA ול-Product
10:45 – 12:15
בפברואר 2001, התכנסו 17 מובילי דעה... בהר Wasatch ביוטה
היתרונות של שימוש בדוגמאות...
מונע אי הבנות...
הפוקוס הוא על הבעיה שאנו מעוניינים לפתור ולא על הפתרון עצמו (וגם לא על הניסוח!). כך אנחנו דוחים את ההחלטה לרגע המכריע ומאפשרים לכל הנוגעים בדבר להשתתף ולהעלות רעיונות יצירתיים שאולי לא חשבנו עליהם...
כל אחד מבעלי התפקידים מביא איתו ראיה אחרת ונקודות חוזקה שונות
להראות את הטסטים ואיך הם רצים...
להסביר קצת על הכלי ואיך זה עובד
להראות קצת קוד כדי להסביר איך זה עובד
הערה לעצמי: אם שואלים את הלקוח מה הוא מעדיף – תמיד הוא יענה את מה שיותר מסובך... אם שואלים מה יותר חשוב/דחוף (ומחיר...) אז המענה משתנה בהתאם
להתייחס לזה בסוף החלק הראשון
פתרון שלי:
להוסיף במסך הגדרת הפריטים Checkbox שמפעיל את השדות הנוספים הבאים:
Count (אם הפריט הוא שקיל, שדה זה יכול להכיל שבר עשרוני > 0, אם לא רק מספר שלם > 1)
מחיר לאחר הנחה: > 0
בעת השמירה יתבצע וידוא ש-newPrice < count * regular price
להוסיף במסך המכירה שדה מחושב נוסף ליד שדה הסכום לתשלום: הסכום לפני הנחה. הסכום לתשלום ישקף מעתה את הסכום אחרי ההנחות
לאחר כל עדכון במסך המכירה (מתי שמתעדכן שדה הסכום לתשלום) יעודכן הסכום לתשלום
דוגמאות:
Validate correctness for non-weightable item:
Price: 2, Count: 2, New price: 3 => valid
Price: 2, count: 4, New price: 8 => invalid
Price: 2, count: 4: new price: 10 => invalid
Price: 2, count: 2, new price: 0 => invalid
Price: 2, count: 0, new price: 1 => invalid
Price: 2, count: 1, new pirce: 1 => invalid
Validate correctness for weightable item:
Price: 2, count: 2, new price: 3 => valid
Price: 2, count: 0, new pirce: 1 => invalid
Price: 2, count: 0.3, new price: 1 => valid
Price: 2, count: 1, new price: 1 => valid
Price: 2, count: 2, new price 4 => invalid
Price: 2, count: 2, new price 5 => invalid
Price: 2, count: 2.6, new price: 5 => valid
Single line regular item:
Given: 3 items:
Dummy: 2$
ItemForDiscount: $3, for every 4 pay $10
Tomatoes (weigtable): $2, for every 2.5 Kg, pay $4
Sell:
4 * ItemForDiscount
Pay: $10
4. Multiple lines:
Sell:
2 * ItemForDiscount
1 * ItemForDiscount
1 * ItemForDiscount
Pay: $10
5. Some with discount and some not:
Sell:
5 * ItemForDiscount
Pay: $13
Sell:
1 * ItemForDiscount
4 * ItemForDiscount
Pay: $13
5. Multiple discounts for same item on a single line:
Sell: 8 * ItemForDiscount
Pay: $20
Sell: 10 * ItemForDiscount
Pay: $26
Weightable item:
Sell 2.5 * Tomato: Pay: $4
Discounts with multiple items interleaved:
Sell:
1 * Tomato
1 * Dummy
3 * ItemForDiscount
3 * Tomato
2 * ItemForDiscount
Pay: $4 + 1.5*$2 + $2 + $10 + $3 = $22 (instead of 8 + 2 + 15 = $25)
במקרה שלא ימצאו "באגים" נסבך קצת את הדרישות כך שניתן להגדיר מס' מבצעים עברו כמויות שונות של אותו פריט (למשל: 3 ב-10, 4 ב-12 ו-5 ב-13).
שלב 2:
כל הקבוצות יעבדו ביחד כדי להגדיר את הדוגמאות שמתארות את האיפיון של הדרישה החדשה (כ-10 דקות). אני אענה על שאלות כלקוח.
בסוף נשווה את המקרים המכוסים ע"י הדוגמאות עם הבאגים שמצאנו קודם. (ואז אני אחשוף את הבדיקות שהרצתי בשלב הראשון).
פתרון שלי:
להוסיף במסך הגדרת הפריטים Checkbox שמפעיל את השדות הנוספים הבאים:
Count (אם הפריט הוא שקיל, שדה זה יכול להכיל שבר עשרוני > 0, אם לא רק מספר שלם > 1)
מחיר לאחר הנחה: > 0
בעת השמירה יתבצע וידוא ש-newPrice < count * regular price
להוסיף במסך המכירה שדה מחושב נוסף ליד שדה הסכום לתשלום: הסכום לפני הנחה. הסכום לתשלום ישקף מעתה את הסכום אחרי ההנחות
לאחר כל עדכון במסך המכירה (מתי שמתעדכן שדה הסכום לתשלום) יעודכן הסכום לתשלום
דוגמאות:
Validate correctness for non-weightable item:
Price: 2, Count: 2, New price: 3 => valid
Price: 2, count: 4, New price: 8 => invalid
Price: 2, count: 4: new price: 10 => invalid
Price: 2, count: 2, new price: 0 => invalid
Price: 2, count: 0, new price: 1 => invalid
Price: 2, count: 1, new pirce: 1 => invalid
Validate correctness for weightable item:
Price: 2, count: 2, new price: 3 => valid
Price: 2, count: 0, new pirce: 1 => invalid
Price: 2, count: 0.3, new price: 1 => valid
Price: 2, count: 1, new price: 1 => valid
Price: 2, count: 2, new price 4 => invalid
Price: 2, count: 2, new price 5 => invalid
Price: 2, count: 2.6, new price: 5 => valid
Single line regular item:
Given: 3 items:
Dummy: 2$
ItemForDiscount: $3, for every 4 pay $10
Tomatoes (weigtable): $2, for every 2.5 Kg, pay $4
Sell:
4 * ItemForDiscount
Pay: $10
4. Multiple lines:
Sell:
2 * ItemForDiscount
1 * ItemForDiscount
1 * ItemForDiscount
Pay: $10
5. Some with discount and some not:
Sell:
5 * ItemForDiscount
Pay: $13
Sell:
1 * ItemForDiscount
4 * ItemForDiscount
Pay: $13
5. Multiple discounts for same item on a single line:
Sell: 8 * ItemForDiscount
Pay: $20
Sell: 10 * ItemForDiscount
Pay: $26
Weightable item:
Sell 2.5 * Tomato: Pay: $4
Discounts with multiple items interleaved:
Sell:
1 * Tomato
1 * Dummy
3 * ItemForDiscount
3 * Tomato
2 * ItemForDiscount
Pay: $4 + 1.5*$2 + $2 + $10 + $3 = $22 (instead of 8 + 2 + 15 = $25)
אחרי א. צהריים...
לשנות צבע של המילה ולמרכז
Empowers creativity and simplicity
The “Why?” and “who?” – dig deep until you reach the “money” answer
Focus on the outputs first, only then on the inputs
Ask: “How it would be useful?” (when you’re already given the requested solution), or: “How will this solution help you achieve the goal better than what you’re doing now?”
דרישה מקורית: 2-2.5 מאך כדי שיוכל לחמוק מקרב
הדגם הסופי לא הגיע ל-2 מאך, אבל כושר התמרון המעולה שלו ומספר פתרונות יצירתיים עזרו לו לחמוק מקרבות:
חופה בעלת שדה ראיה רחב,
מושב מוטה לאחור כדי להקל על כוחות G
מסך שקוף שמקרין את מצב הקרב לטייס
הפתרונות הללו היו יעילים יותר וזולים מדגמים אחרים שענו לדרישות המקוריות
לקיים דיון לפני הצגת היתרונות. להציג רק כדי לוודא שלא שכחנו משהו
איך ילד לומד: מנסוי וטעיה ולא מהסברים תיאורטיים...
גם כמבוגרים יותר קל לנו להבין דוגמאות, ואנחנו משתמשים בהם כל הזמן...
דרושים 2 מתנדבים: אחד מייצג את ה-BA והשני את המתכנת
אמצעים: חפיסת לגו מחלקים פשוטים, ותמונה של מבנה מהלגו הזה
שלב 1: ה-BA מקבל את התמונה מבלי שהמתכנת יראה אותה והוא צריך להסביר למתכנת איך לבנות את אותו מבנה
שלב 2: המתכנת מקבל את התמונה וצריך לבנות בעצמו את המבנה
מסקנה: בלי דוגמא, קשה מאוד להבין בדיוק מה הלקוח/BA רוצה. אבל עם דוגמא זה קל הרבה יותר!
אנחנו משתמשים בדוגמאות כל הזמן. גם כשאנחנו קוראים הגדרות כלליות – אנחנו בד"כ מתרגמים אותם לדוגמאות כדי להבין (לפחות בראש...). אז למה לא להעביר אותם לכתב כדי שנוכל לשתף אותם ולדבר עליהם במשותף?
למה להמציא דוגמאות כל פעם מחדש...?
דוגמאות עוזרות לחשוף הנחות סמויות.
אנחנו משתמשים בדוגמאות כל הזמן. גם כשאנחנו קוראים הגדרות כלליות – אנחנו בד"כ מתרגמים אותם לדוגמאות כדי להבין (לפחות בראש...). אז למה לא להעביר אותם לכתב כדי שנוכל לשתף אותם ולדבר עליהם במשותף?
למה להמציא דוגמאות כל פעם מחדש...?
דוגמאות עוזרות לחשוף הנחות סמויות.
בעיות:
שם לא ברור
פעולות רלוונטיות מוחבאות, ופעולות לא רלוונטיות מוצגות
בודק יותר מדי דברים
מסתמך על הגדרות קודמות
בודק פרטים טכניים (לוג, DB)
בודק ברבדים שונים של אבסטרקציה
יותר מדי פרטים של UI (קשור לנק' הקודמת)