The document discusses techniques for estimating software development timelines. It recommends doubling the initial time estimate and rounding up to the next unit on the time scale. Factors like involving other people and unexpected issues mean schedules are difficult to accurately predict. Breaking tasks down into smaller parts and using historical data, testing, and confidence intervals can help. Prioritization methods include urgency matrices and spreadsheets weighing factors like benefits, costs, and risks. The document provides references for further reading on software estimation.
Many developers are often asked by project owners to give time estimates for features or bug fixes. But how many developers have the ability to provide project owners a reasonable estimate? Many developers will just follow irrational formulas or arbitrary methods to create a number that is not only wrong, but costly. "Stop Multiplying by 4" will teach developers of all skill levels easy techniques to provide accurate estimations. We will start with a small calibration exercise to find out how good you are. We will then go over procedures to improve accuracy . At the end of the talk, you will possess the skills to get you started on improving the certainty of your estimates.
Stop multiplying by 4: Practical Software EstimationChuck Reeves
Many developers are often asked by project owners to give time estimates for features or bug fixes. But how many developers have the ability to provide project owners a reasonable estimate? Many developers will just follow irrational formulas or arbitrary methods to create a number that is not only wrong, but costly. "Stop Multiplying by 4" will teach developers of all skill levels easy techniques to provide accurate estimations. We will start with a small calibration exercise to find out how good you are. We will then go over procedures to improve accuracy . At the end of the talk, you will possess the skills to get you started on improving the certainty of your estimates.
[CXL Live 16] How to Utilize Your Test Capacity? by Ton WesselingCXL
The more tests you run, the more you learn. Every test will deliver extra insights, but winners will pay the direct costs. How many tests should you run how often? Should it be many small tests or a couple of big ones? Ton will explain this to you based on his 15+ years of A/B-testing experience.
[CXL Live 16] Beyond Test-by-Test Results: CRO Metrics for Performance & Insi...CXL
Individual tests drive insights & ROI, but the most sophisticated optimizers look beyond what an individual test is telling them and use data to optimize their overall testing performance.
In this talk, Claire will dive into the specifics of how to track, improve, and drive insight from performance metrics for your conversion program, so you can not only run better tests, but get more out of your investment in CRO.
[CXL Live 16] When, Why and How to Do Innovative Testing by Marie PolliCXL
Innovative testing is risky. If not addressed carefully it can destroy your optimization strategy by creating loopholes that make it impossible to know what exactly in the change caused the uplift or drop in your conversion rate. At the same time disruptive methods are needed to break out of the ordinary and to take your business to the next level.
The session is a break down and an overview of the worst and the best of innovative testing so that when you take a jump into the unknown you know what to expect.
Three Easy Ways to Radically Improve Your Manufacturing Asset Management ProcessMaintenance Connection
As consumer demands change and inventory levels fluctuate, inventory management within a facility is critical for staying ahead of the market—and competition. A CMMS platform that not only supports robust asset management, but also a fully integrated inventory module, has become a 'must-have' for high performing organizations looking to maximize profitability and efficiency in their day-to-day facility maintenance operations.
Many developers are often asked by project owners to give time estimates for features or bug fixes. But how many developers have the ability to provide project owners a reasonable estimate? Many developers will just follow irrational formulas or arbitrary methods to create a number that is not only wrong, but costly. "Stop Multiplying by 4" will teach developers of all skill levels easy techniques to provide accurate estimations. We will start with a small calibration exercise to find out how good you are. We will then go over procedures to improve accuracy . At the end of the talk, you will possess the skills to get you started on improving the certainty of your estimates.
Stop multiplying by 4: Practical Software EstimationChuck Reeves
Many developers are often asked by project owners to give time estimates for features or bug fixes. But how many developers have the ability to provide project owners a reasonable estimate? Many developers will just follow irrational formulas or arbitrary methods to create a number that is not only wrong, but costly. "Stop Multiplying by 4" will teach developers of all skill levels easy techniques to provide accurate estimations. We will start with a small calibration exercise to find out how good you are. We will then go over procedures to improve accuracy . At the end of the talk, you will possess the skills to get you started on improving the certainty of your estimates.
[CXL Live 16] How to Utilize Your Test Capacity? by Ton WesselingCXL
The more tests you run, the more you learn. Every test will deliver extra insights, but winners will pay the direct costs. How many tests should you run how often? Should it be many small tests or a couple of big ones? Ton will explain this to you based on his 15+ years of A/B-testing experience.
[CXL Live 16] Beyond Test-by-Test Results: CRO Metrics for Performance & Insi...CXL
Individual tests drive insights & ROI, but the most sophisticated optimizers look beyond what an individual test is telling them and use data to optimize their overall testing performance.
In this talk, Claire will dive into the specifics of how to track, improve, and drive insight from performance metrics for your conversion program, so you can not only run better tests, but get more out of your investment in CRO.
[CXL Live 16] When, Why and How to Do Innovative Testing by Marie PolliCXL
Innovative testing is risky. If not addressed carefully it can destroy your optimization strategy by creating loopholes that make it impossible to know what exactly in the change caused the uplift or drop in your conversion rate. At the same time disruptive methods are needed to break out of the ordinary and to take your business to the next level.
The session is a break down and an overview of the worst and the best of innovative testing so that when you take a jump into the unknown you know what to expect.
Three Easy Ways to Radically Improve Your Manufacturing Asset Management ProcessMaintenance Connection
As consumer demands change and inventory levels fluctuate, inventory management within a facility is critical for staying ahead of the market—and competition. A CMMS platform that not only supports robust asset management, but also a fully integrated inventory module, has become a 'must-have' for high performing organizations looking to maximize profitability and efficiency in their day-to-day facility maintenance operations.
Have you been working with other frameworks and feel ready to try something new? Why not try Zend Framework? Not only can you use it for the full stack of your application, but you can pull out the individual components into your existing application. Get ready for a course on how to build an ZF2 application from the ground up — from the basics of an MVC app to the more advanced components. When you leave this tutorial, you will have a great grasp on how the framework is structured
How to use SELINUX (No I don't mean turn it off)Chuck Reeves
Why do we turn off NSA-grade security features? Well early on, SELINUX was complex and confusing. However, the pains of dealing with SELINUX are long gone. In fact, the tools for working with SELINUX have long improved are now so easy, anyone can configure the security layer. Even one bad chmod on a server can leave you vulnerable. However, when SELINUX is running, rogue processes will be prevented from running havoc. You'll learn how easy it is to use SELINUX and how (with little effort) you can configure and troubleshoot this amazing security feature. Stop leaving gaps in your infrastructure and turn it back on.
Le novità, le offerte speciali,i consigli, i numeri telefonici, i turni delle farmacie di Andria, i servizi, le promozioni della farmacia Adduasio di Andria.
Many developers are often asked by project owners to give time estimates for features or bug fixes. But how many developers have the ability to provide project owners a reasonable estimate? Many developers will just follow irrational formulas or arbitrary methods to create a number that is not only wrong, but costly. "Stop Multiplying by 4" will teach developers of all skill levels easy techniques to provide accurate estimations. We will start with a small calibration exercise to find out how good you are. We will then go over procedures to improve accuracy. At the end of the talk, you will possess the skills to get you started on improving the certainty of your estimates.
Le novità, le offerte speciali,i consigli, i numeri telefonici, i turni delle farmacie di Andria, i servizi, le promozioni della farmacia Adduasio di Andria.
Single page Apps with Angular and ApigilityChuck Reeves
Apigility makes it extremely easy to build out an API for your application. Angularjs makes building single-page apps easy. Combining the two just makes sense; however, there are some challenges to overcome. To overcome these, you will need to change the way you think about building out web applications. This talk will cover the basics of HATEOAS APIs, how Apigility makes them easy, and finally how to use them to make single-page applications
For more course tutorials visit
www.newtonhelp.com
ACC 542 Week 1 Organizational Report to Stakeholders Case Study 1-22, p. 29
ACC 542 Week 2 Case Study Stingy Upstate University Case Study 5-27
Six steps to delivering a digital workplace - solve the right problemsSam Marshall
When planning to improve your digital workplace, perhaps replacing older platforms, you need a clear strategy to identify which features will have the most impact upon ways of working and deliver the biggest ROI. Without an agreed strategy, it will be difficult to manage people’s expectations and your project may not deliver the requirements, resulting in frustration for end users and all involved.
In this webinar, Sam Marshall will talk to Marcus Dervin about a new digital workplace planning framework from his book, Digital Transformation from the Inside Out. Marcus will explain six vital steps to identify and then solve the major challenges when delivering a brilliant digital workplace that people will love.
We’ll cover:
-Why you need a planning framework
-How to find people’s problems
-How to measure the severity of problems and prioritise them
-Assessing the best way to address each problem
-Getting budget approval
-How to implement the changes.
Rinse and Repeat : The Spiral of Applied Machine LearningAnna Chaney
Analyze and Improve Performance of Machine Learning in Four Easy Steps
Step 0. Deploy your machine learning application
Step 1. Assess performance of app using human judgement
Step 2. Analyze and optimize operating thresholds
Step 3. Retrain machine learning with golden examples from humans
Step 4. Go to Step 0 with new changes
Have you been working with other frameworks and feel ready to try something new? Why not try Zend Framework? Not only can you use it for the full stack of your application, but you can pull out the individual components into your existing application. Get ready for a course on how to build an ZF2 application from the ground up — from the basics of an MVC app to the more advanced components. When you leave this tutorial, you will have a great grasp on how the framework is structured
How to use SELINUX (No I don't mean turn it off)Chuck Reeves
Why do we turn off NSA-grade security features? Well early on, SELINUX was complex and confusing. However, the pains of dealing with SELINUX are long gone. In fact, the tools for working with SELINUX have long improved are now so easy, anyone can configure the security layer. Even one bad chmod on a server can leave you vulnerable. However, when SELINUX is running, rogue processes will be prevented from running havoc. You'll learn how easy it is to use SELINUX and how (with little effort) you can configure and troubleshoot this amazing security feature. Stop leaving gaps in your infrastructure and turn it back on.
Le novità, le offerte speciali,i consigli, i numeri telefonici, i turni delle farmacie di Andria, i servizi, le promozioni della farmacia Adduasio di Andria.
Many developers are often asked by project owners to give time estimates for features or bug fixes. But how many developers have the ability to provide project owners a reasonable estimate? Many developers will just follow irrational formulas or arbitrary methods to create a number that is not only wrong, but costly. "Stop Multiplying by 4" will teach developers of all skill levels easy techniques to provide accurate estimations. We will start with a small calibration exercise to find out how good you are. We will then go over procedures to improve accuracy. At the end of the talk, you will possess the skills to get you started on improving the certainty of your estimates.
Le novità, le offerte speciali,i consigli, i numeri telefonici, i turni delle farmacie di Andria, i servizi, le promozioni della farmacia Adduasio di Andria.
Single page Apps with Angular and ApigilityChuck Reeves
Apigility makes it extremely easy to build out an API for your application. Angularjs makes building single-page apps easy. Combining the two just makes sense; however, there are some challenges to overcome. To overcome these, you will need to change the way you think about building out web applications. This talk will cover the basics of HATEOAS APIs, how Apigility makes them easy, and finally how to use them to make single-page applications
For more course tutorials visit
www.newtonhelp.com
ACC 542 Week 1 Organizational Report to Stakeholders Case Study 1-22, p. 29
ACC 542 Week 2 Case Study Stingy Upstate University Case Study 5-27
Six steps to delivering a digital workplace - solve the right problemsSam Marshall
When planning to improve your digital workplace, perhaps replacing older platforms, you need a clear strategy to identify which features will have the most impact upon ways of working and deliver the biggest ROI. Without an agreed strategy, it will be difficult to manage people’s expectations and your project may not deliver the requirements, resulting in frustration for end users and all involved.
In this webinar, Sam Marshall will talk to Marcus Dervin about a new digital workplace planning framework from his book, Digital Transformation from the Inside Out. Marcus will explain six vital steps to identify and then solve the major challenges when delivering a brilliant digital workplace that people will love.
We’ll cover:
-Why you need a planning framework
-How to find people’s problems
-How to measure the severity of problems and prioritise them
-Assessing the best way to address each problem
-Getting budget approval
-How to implement the changes.
Rinse and Repeat : The Spiral of Applied Machine LearningAnna Chaney
Analyze and Improve Performance of Machine Learning in Four Easy Steps
Step 0. Deploy your machine learning application
Step 1. Assess performance of app using human judgement
Step 2. Analyze and optimize operating thresholds
Step 3. Retrain machine learning with golden examples from humans
Step 4. Go to Step 0 with new changes
Pin the tail on the metric v00 75 min versionSteven Martin
This presentation shows a different approach to metrics. Instead of listing the Top 10 field-tested metrics, we first talk about goals as prerequisites for metrics. Next, we discuss characteristics of good and bad metrics. We end with walking through an activity called “Pin the Tail on the Metric,” a technique to facilitate the critical thinking needed to determine what types of metrics can help your organization discuss trade-offs, options, and ultimately make better forward-looking decisions.
Unit 4 ProblemsInstructionsWork through all the problems in Ex.docxouldparis
Unit 4 Problems
Instructions
Work through all the problems in Excel allow excel to do the calculations. Enter your answers in the following spaces below. I need both your Word file and Excel spreadsheet. YOU MUST SUBMIT YOUR EXCEL SPREADSHEET OR OTHER WORK IN ORDER TO RECEIVE CREDIT FOR THE ASSIGNMENT. FAILURE TO SUBMIT THE EXCEL SPREADSHEET OR OTHER WORK WILL RESULT IN A GRADE OF 0.
Therefore, complete all of the unit problems in Excel, and then enter your answers and upload your Excel file.
Top of Form
Flag this Question
Question 1 10 pts
In a job shop, effective capacity is only 50 percent of design capacity, and actual output is 80 percent of effective output. What design capacity would be needed to achieve an actual output of eight jobs per week?
Flag this Question
Question 2 10 pts
A real estate agent is considering changing her cell phone plan. There are three plans to choose from, all of which involve a monthly service charge of $20. Plan A has a cost of $.45 a minute for daytime calls and $.20 a minute for evening calls. Plan B has a charge of $.55 a minute for daytime calls and $.15 a minute for evening calls. Plan C has a flat rate of $80 with 200 minutes of calls allowed per month and a charge of $.40 per minute beyond that, day or evening.
1. Determine the total charge under each plan for this case: 120 minutes of day calls and 40 minutes of evening calls in a month.
total charge for plan A
total charge for plan B
total charge for plan C
2. Prepare a graph that shows total monthly cost for each plan versus daytime call minutes. Include the graph in your Excel file.
3. If the agent will use the service for daytime calls, over what range of call minutes will each plan be optimal?
# mins for A to be optimal
# mins for B to be optimal
# mins for C to be optimal
3. Suppose that the agent expects both daytime and evening calls. At what point (i.e., percentage of call minutes for daytime calls) would she be indifferent between plans A and B?
proportion of daytime mins
proportion of nighttime mins
Flag this Question
Question 3 10 pts
A manager must decide how many machines of a certain type to purchase. Each machine can process 100 customers per day. One machine will result in a fixed cost of $2,000 per day, while two machines will result in a fixed cost of $3,800 per day. Variable costs will be $20 per customer, and revenue will be $45 per customer.
1. Determine the break-even point for each range.
break-even point for 1 machine
break-even point for 2 machines
2. If estimated demand is 90 to 120 customers per day, how many machines should be purchased?
Flag this Question
Question 4 10 pts
An assembly line with 17 tasks is to be balanced. The longest task is 2.4 minutes, and the total time for all tasks is 18 minutes. The line will operate for 450 minutes per day.
1. What are the minimum and maximum cycle times?
minimum cycle time mins
maximum cycle time mins
2. What range of output is theoretically possib ...
Slides from my presentation at the Data Intelligence conference in Washington DC (6/23/2017). See this link for the abstract: http://www.data-intelligence.ai/presentations/36
Triple Your Experiment Velocity by Integrating Optimizely with Your Data Ware...Optimizely
Harnessing the power of data and experimentation is central to Updater’s goal of revolutionizing the moving industry. However, while scaling their experimentation program, the team at Updater had to overcome the challenge that many of their conversions happen offline or on third-party sites and therefore couldn't be used in testing. During this session, you’ll learn how Updater fixed this blind spot in their funnels, tripled experiment velocity, and discovered deep user insights by integrating their experimentation platform and data warehouse.
Disaster-Proof Your Business: It's Easier and LEss Expensive than you ThinkLori Mankin
This presentation gives small businesses a brief overview of disaster recovery and business continuity. It also provides a step by step planning guide.
Learning Objective: Increase professional effectiveness, data management, and analytical skills
With evolving technology, many people are overloaded and overwhelmed with information and data. Businesses now have access to large amounts of feedback from internal and external sources. How do we make sense of the all of the information? Is the data reliable? How can we manage and utilize the data in order to impact business goals, visions, mission? This seminar with help you turn your information overload into powerful and reliable data that you can use to meet organizational goals.
At the end of this seminar, participants will be able to:
a. Assess and categorize data and information.
b. Identify tools and techniques to organize and interpret data.
c. Explore productivity tools and techniques.
d. Examine common data management challenges and solutions.
How to Build an Attribution Solution in 1 DayPhillip Law
Presented at the London Measurecamp Conference in September 2016 - This presentation runs through how to build a basic attribution model using Tableau and Python. This is meant as a starter to get you up and running in attribution.
How to Build an Attribution Solution in 1 DayPhillip Law
I presented this at the London Measurecamp Conference, in September 2016. This is an overview on how to build an attribution solution with Python and Tableau. This is meant as a starter solution.
ACCOUNTING INFORMATION SYSTEMSAccess and Data Analytics Test.docxSALU18
ACCOUNTING INFORMATION SYSTEMS
Access and Data Analytics Test
General Instructions.
This exam has four parts. Part 1 is in class. Parts 2, 3, and 4 are take-home. Submit all parts to the
designated dropbox folder. I expect your individual effort on all parts. Parts 2 to 4 are described in a
separate document.
Part 1 – Access (50 points).
To get full credit, you must set up appropriate relationships among the tables and enforce referential
integrity for each link. Your queries must produce the correct values, the fields must by labeled and
formatted appropriately, and query designs must not include extraneous tables. In other words, you
should follow the list of fundamental rules for Access posted on BeachBoard and included at the end of
this document for reference.
1. Download the Fall_2019 database posted in the Access and Data Analytics Test Module under
CONTENT on BeachBoard.
2. Ensure that primary keys are set and establish appropriate relationships among the tables:
Stores, Vendors, Purchases, and Purchase_Items. Stores and Vendors should be linked to
Purchases. Purchases should be linked to Purchase_Items.
3. Prepare the following queries, naming the queries qa, qb, qc, qd, corresponding to the
identifying letters below:
a. Use the purchase_items table to calculate the dollar amount of each item purchased in
an extension query; name your new calculated field purchase_item_amount and format it
appropriately.
b. Use qa and the purchases table to sum the purchase item amounts for each purchase in
an accumulation query; include all fields from the purchases table and the
purchase_item_amount field from qa; name your summed field purchase amount and
format it appropriately.
c. Use qb and the vendors table to sum the purchase amounts from each vendor in
another accumulation query; include vendor number, name, city, and state; name your
summed field vendor purchases and format it appropriately.
d. Use the qb query. Keeping all fields from qb, calculate the month of the purchase;
name that field purchase month.
BEFORE SUBMITTING, ask me to review your work. After I say that you are done, then submit your file
to the BeachBoard DROPBOX. Be sure to close Access before you upload your results.
1
Some Fundamental Rules for Access
1. Look at your tables and think about what information those tables provide before you start
linking tables and creating queries.
2. Make sure each table has a primary key designated.
3. Always establish relationships between tables first, before starting queries.
4. Always enforce referential integrity (or understand why you can’t).
5. No “expr1” field names.
6. Do not click on the big sigma to produce totals if the query doesn’t require totals (i.e., an
extension query).
7. Avoid “SumOf…” field names in accumulation queries.
8. Include identifying information in addition to the primary key in accumulation queries that
provide subtotals.
9. Always format new fields prope.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
3. I'll tell you how I estimate things. I sit down and figure out how long I think it
would take me to do it. Then I double that time and then I push it up to the next
point on the “Time Progression Scale”. Were the “Time Progress Scale” starts off:
seconds, minuets, hours and days. So if I think something is going to take me 4
hours to do. I will double it to 8 and then I would say it would take me 8 days to
get it all completely done start to finish. And I'm usually right, because there are so
many impediments. If you are the only one doing it yourself your schedule can be
very accurate. Once you have to involve other people, you might as well just make
numbers up. You might as well say “I think this will take me Blue days to get done”
- Development hell podcast; Episode 29: Snappy to Snappy question
6. Requirements are the key
Measure what is measurable, but make measurable what is not so
-Galileo Galilei
7. “Wordy” Expression
Our new Contact form, is a quick and easy way for the sales team to
collect information to contact people to sell our service. The contact form
will require someone to enter in: Their name, their email address and their
phone number. The sales team will then contact that person to tell them
how awesome our service is
8. Actors:
Sales – Employees of Initech who promote the product
Leads – People who are not already signed on for Initech products
The contact form will have fields for: Name, Email, and Valid Phone
number.
9. Misplaced Modifier
The contact form allows Leads to enter in: Name, Email and Valid phone
number. The sales team needs a list of leads with the option to mark a
lead as contacted
Top Tip: Prevent children from ingesting dangerous medicines by locking them
in a childproof cupboard. 3 children per cupboard is a good fit
-Periwinkle Jones @peachesanscream
10. The contact form will have fields for: Name, Email, and Phone number.
All fields are required and must be validated. The sales team needs a list of
leads with the option to mark a lead as contacted
Valid Phone numbers:
(202) 456-1111
555-1212
212-867-5309
1-800-MATTRES
911
+44 871 984 6352
+852 2280 2898
+91 11 2679 1234
11. fast, rapid, efficient Use a set time: "5 seconds"
valid, including but not limited too,
etc., and so on
Describe what is valid or invalid.
use comprehensive list
maximize, minimize, optimize, at
least, between, several
Be sure to include appropriate
values
simple, easy, quick, user-friendly Describe what makes it these
reasonable, when necessary How do you make this judgment?
Source: Software Requirements 2 – Karl Weigers
12. Be sure you define the technical requirements of what you are estimating:
UTF-8
First and Last name must be between 3 and 100 characters
Email complies with RFC 822 and no longer than 300 characters
Phone Number < 25 characters and validated with Foo-Bar REST service
13. Break down requirements into smaller parts:
Email lookup service
Phone validation integration
Form logic
Lead management UI
14. Historical data
Dry run / Unit test
Confidence Interval (CI)
It is better to be roughly right than precisely wrong.
- John Maynard Keynes
15. What is the wingspan of a 747
How far is NY from LA
The average house in the United States uses how many gallons/liters of water
per day?
Francis Scott Key wrote the lyrics, but not the music, for the American National
Anthem
28 degrees Fahrenheit is colder than -15 degrees Celsius.
America On Line purchased Netscape.
18. Q. What is the wingspan of a 747
A. 211 ft (64m)
Q. How far is NY from LA
A. 2,808 mi (4,519 km)
Q. The average house in the United States uses how many gallons/liters of
water per day?
A. 350 g (1,324 l)
Q. Francis Scott Key wrote the lyrics, but not the music, for the American
National Anthem
A. True
Q. 28 degrees Fahrenheit is colder than -15 degrees Celsius.
A. False
Q. America On Line purchased Netscape.
A. True
19. Fuzzy Logic / Tee Shirt
Size Average LOC
Very Small 127
Small 253
Medium 500
Large 1,014
Very Large 1,988
Source: Software Estimation 2 – Steve McConnell
21. Bayes Theorem
When you get information, the level of uncertainty will decrease.
P (A|B) =
P (B|A) P(A)
P (B)
22. Priorities – Urgency Matrix
Important Not Important
Urgent High Priority
Not Urgent Medium Priority Low Priority
Source: Software Requirements 2 – Karl Weigers
30. Thank You!
Chuck Reeves @manchuck
Software Estimation: Demystifying the Black Art – by Steve McConnell |
ISBN-13: 978-0735605350
Software Requirements: Practical Techniques for Gathering and Managing
Requirements – by Karl Wiegers ASIN: B0043M56R8
How to Measure Anything: Finding the Value of Intangibles in Business –
by Douglas Hubbard | ISBN-13: 978-1118539279
Dev Hell Podcast - Episode 29: Snappy Answers to Stupid Questions
Editor's Notes
With Companies like Google and Spotify, not caring about deadlines, why should we care about estimating software?
Why should we estimate?
Estimation is not just about meeting deadlines. Managers need to know if the cost of building is worth the effort. Banks, budgets and backers need to gage how their investment is going to be used.
Why should developers Estimate?
Developers own the code
Magne Jørgensen + Stein Grimstad proved If you have any inkling of budget or time line, Your estimate will be biased. Project Managers and Owners know this information and might try to “fit” the cost into what they are willing to spend
What Developers do Wrong?
Developers are capable of taking problems and break it down into smaller parts. When it comes to Estimating, we follow arbitrary means that can cause projects to go over budget or worse, fail completely.
A story about estimation that went “well”
I needed a developer that was working on another project. He was working with someone who has been programming 30 years. Both were not sure on how long it would take to complete the huge laundry list of items. I sat down with both of them, went over the whole project and broke it up into smaller parts. We then came up with estimates for each items, then sat down with the Project Manager to come up with a time line the client was happy with. The project goes along, for a month, then panic. One of the libs we were using was not working with some version of Safari. Everyone panicked to get a fix in. There was fear that we would miss the deadline. Which would set back my project. We got a fix in, deployed all the changes, and when the smoke cleared, we found that we launched a day early.
How did we do it?
When dealing with estimates, you are fighting a battle of uncertainty.
Remember this:
Its easy to estimate what you know
Its hard to estimate what you don’t know
Its very hard to estimate what you don’t know you don’t know
**Use driving to work example**
Requirements – Wordy Expressions
Managers try to “sell” requirements to you. Which means that some times they will add “fluff” to requirements.
Wordy expressions add useless information to a statement
Requirements – Actors and Props
Requirements – Misplaced Modifiers
Misplaced modifier happens when a word, phrase or clause is improperly separated from the word it describes. In this case, we have valid next to first and last name. Valid modifies First and Last name. Does that mean that we can enter an invalid email address or phone number?
Groucho Marx has a famous one: I shot an elephant in my pajamas the other day. How it got into my pajamas Ill never know
Requirements – Clarity
Now that we have cleaned up the format and grammar of the requirement, we now look for smells in the requirement. For example, what is considered a “valid” phone number?
Requirement – Smells
If estimation is a battle for uncertainty, requirement gathering is a battle against ambiguity. Words used in requirements that cause ambiguity, I like to call Requirement smells. Like Code Smells, these words or phrases raise some red flags about the requirements. Take the time to clarify the requirements before making an estimate.
Requirements – Finial
Once you have defined the requirements as best you can, you can now start estimating. We now see that our one requirement for a contact form has grown into a much bigger project then we thought. We need to break down our requirements into smaller parts. Break the requirement into smaller more manageable units. We can then take a look and see which parts have the most uncertainty.
Requirements – Finial
Break requirements into smaller parts to make estimating the full feature easier
Tools for Estimating
Before getting into some techniques, we are going to need some more information. Using the following tools we can then break down our requirement
Historical data
Take current data about development and proxy it to new requirements. Start tracking metrics like LOC, Number of Functions, Avg LOC / Function. Apply time to each of those metrics to get a rough idea on how long it takes to create each metric: LOC / Hour / Day.
I wrote a script that would run git commit every hour to help with this
Dry run / Unit test
You don’t need to use a full stack testing framework, but you can test out some critical functions. If you have not previous experience with a service, you therefore have no historical data to base your estimate on. Spending an hour or two on testing out the logic, can provide you with better insight on the complexity for the requirement.
Even if you have worked on something similar in the past, do a dry run for the more complex tasks. I was asked to connect to the OH tax service using a SOAP service. In the past I made many SOAP calls, so my estimate reflected that experience. After spending about 15 hours of my 12 hour estimate, I was unable to make the connection for technical reasons and the requirement was dropped (I was told by the developer that I need to use .NET or Java and not PHP in order to use the service).
Confidence Interval (CI)
This is a statistical model that represents uncertainty. It is calculated by using means and variances. We see them in the real world with hurricane paths. They are great because we do not need to “pad” our estimate. The interval uses a High and Low range that represents our 90% confidence that the “True” value is between them.
Calibration Exercise
We are going to do a practice calibration test. Three questions have a number value, for these try use the confidence interval. Three questions will be true or false, do not answer those with null ;).
Repetition
Take a lunch break come back in an hour and try your estimate again. Clear your mind and try the estimate again. Don’t read your 1st estimate before trying again to avoid anchoring to your original estimate.
Pros and Cons
Make a list of things that will happen if your estimate is right and if your estimate is wrong. This helps bring clarity to the problem and remove some bias. After the list, try again
Absurdity Test
Narrow down your range by using absurd values for your CI and making them smaller. For example, for the wingspan of a 747, starting with a range of 1 to 1000 ft. is absurd. Is 80 to 250 ft sound better? What about 180 to 220 ft?
Equivalent Bet
This works on a gut feeling. Imagine a spinner that pays out 90% of the time. You choose between your estimate and betting against the spinner. If you choose the spinner, you most likely not confident your value. If you choose your estimate, you might be overconfident and your range is too wide.
Fuzzy logic
A simple estimation tool to get an idea on effort. Classify features into Very Small, Small, Medium Large, Very Large. You then have an idea on how much work is needed based on Historical data or Industry average. Keep track of your estimate with hours.
Wideband Delphi AKA Group
Based on the statistical Law of Large Numbers. Where by the more information you have, the closer your average is to the true value. This requires a team of at lease 4 people and works best with about 10 total. First choose a coordinator. The coordinator presents the feature requested and takes estimates from each member, and averages the numbers. The coordinator then presents the data to the team. A vote is then cast and if it fails, the team estimates again. It is critical that estimates are kept secret to avoid bias. Traditional Wideband Delphi fails to represent uncertainty since the average is voted on, I recommend that you take ranges and then average the high and low numbers.
Bayes Theorem
As stated in the beginning of this presentation, we are going to avoid math as much as possible. However you cannot talk about probabilities with out talking about Bayes Theorem. It was developed by Howard Bayes in the 17th century and is widely used in many applications today from predictive text to suggested ads. The simplicity of the equation makes for highly complex “Bayesian trees”. The take away from Bayes Theorem is this: when you have more information about a probability, you must change your original estimate. The estimate at the start of a project might not always reflect the estimate half way through. By that point you have more clarity and now can better predict the outcome.
Priorities
Once all the features have estimates attached, how do you set the priorities on when items are going to get done? Most of the time we use order them in High, Medium, or Low. How effective is that? Based on surveys from project managers, you will find that ~85% of your tasks become High, ~10% Medium and ~5% Low. Three level scale is an easy way to avoid this trap. We create a matrix of Importance vs Urgency. By comparing the values, you get a grasp of the priority scale.
Priorities Prioritization Spreadsheet
This is the ultimate way to reduce bias.
Have the customer rate relative benefit for each feature on a scale of 1-9. 9 is extremely valuable.
Have the owners Estimate the penalty on a scale of 1 – 9, 9 means a serious impact on business
Developers Rate the relative on a scale of 1 – 9, 1 is quick an easy. Then rate the technical risk. 1 means you can do in your sleep
Then sort the list descending on priority. The priority is based on the Value % /
Politics
Dealing with the rest of the company can be a challenge. Keep in mind that there will be politics everywhere you go but you can curve some of resistance you will get. When dealing with managers or product owners remember this: You are responsible for the code.
Imagine a scenario where a patient needs to be operated on by a Dr. The patient is on the table and sees the Dr. washing his hands. If the patient yells out to the Dr. to stop washing his hands and get in the OR to start, is the Dr. going to listen? The patient is the boss because he is paying the Dr. but the Dr. is going to act in a manner that benefits the Patient.
Remove people from the problem
Everyone will want everything done yesterday. You also have your own needs for the project that must be met. If you focus on what is best for the project (or better yet the dollar amount), it helps change the perspective. In the example early with connecting to the FooBar Rest service, if development will cost $2,000 plus another $500 per month to maintain, but saves $2.00 per lead. If you only get 2 leads a day, the savings per lead per month is only about $120. If a sales rep is demanding that this feature be implemented, prove that there is a loss per month with this service, make the priority lower.
Focus on Interests not Positions
If the estimate takes the project longer than the ship date, work out with the project owners what you can deliver in the time. Try to get features implemented with known bugs and workarounds that you can fix the ship. If this is needed for a trade show, work out a “white page” demoing the features that you wont be able to deliver
Prefer Hours
Hours scale more in a day then days do in a week.
More Developers
It takes 9 months to make a baby, 9 women cannot make a baby in one month. Developers need to be trained, and oriented to a project.
Iterate
Iterate your estimates in the same way that you iterate code. When you notice a job stopper, inform the party early on in the cycle rather than the end. This will help keep budgets in line and expectations high.