Estimates are not promises
Your gut lies
Premature estimation is sabotage
Big teams are slower than small ones
Beware unwarranted precision
Count all the things!
When in a pinch, use a proxy
You can’t negotiate math
You’re an expert developer, peacefully composing code into a profoundly elegant masterpiece, when suddenly your boss rushes in with the Next Big Idea that will Revolutionize The Way People Use The Internet. He’s on his way to pitch to a VC, and stops by to describe the Idea in excited terms. After a 30 second elevator pitch, he pops the question: “So, Peter, how long do you think it will take to build this thing-a-ma-bob?”
What do you say?
These eight Protips will cover your back, save your job, and keep your boss’s shirt.
My main goal is to share and make you experiment some of the techniques that I use when transforming teams into high-perfoming agile teams, by providing you with four (4) different ways to estimate projects in Agile.
Estimates or #NoEstimates by Enes PelkoBosnia Agile
Do we need estimates? Are the estimates abused so much that they became unusable? There is a new emerging movement behind #NoEstimates that thinks so. But is it for anyone and in any situation?
This document provides an overview of agile stories, estimating, and planning. It discusses what user stories are, how to write them, and techniques for estimating story sizes such as story points. It also covers different levels of planning including release planning, iteration planning, and daily planning. The document is intended to provide background information on using agile methods for requirements management and project planning.
Scoping and Estimating WordPress Projects as an AgencyJohn Giaconia
WordCamp Los Angeles 2016. Scoping and Estimating WordPress Projects as an Agency. Presentation video available here: http://wordpress.tv/2016/09/25/john-j-giaconia-and-kara-hansen-scoping-and-estimating-wordpress-projects-as-an-agency/
This document discusses the importance of estimating and tracking time for documentation projects. It recommends tracking all time spent on tasks like meetings, writing, editing, and more to build a basis for accurate estimating. Both bottom-up and top-down estimating methods are described. Tracking time allows learning from past projects to improve estimates using techniques like comparative, parametric, and matrix-based estimating. Correlating estimates with tracking provides feedback to refine estimates. Risks should be identified and stakeholders agree on estimates upfront to manage scope changes.
Kanban is a method for integrating lean principles into software project delivery. It focuses on visualizing workflow, limiting work-in-progress, and managing flow to improve the current process, reduce task switching, detect and address bottlenecks, and make priorities adaptable. Key aspects of Kanban include limiting WIP for each activity, exposing bottlenecks, measuring and tracking lead time and cycle time, and holding retrospectives to evaluate improvements and keep adjusting policies based on team feedback and data.
Making P6 move in ready and adoption easy - Oracle Primavera P6 Collaborate 14p6academy
This document provides information about two sessions on making Oracle's Primavera P6 software ready for use and adoption. The first session discusses preparing P6 by setting up global and project-level administrative settings strategically to align with organizational goals. The second session is about using earned value management with P6 to provide a new perspective on project progress and help manage P6 compliance for various organization sizes. Both sessions aim to help users understand and properly configure P6 to support their projects and business objectives.
You’re an expert developer, peacefully composing code into a profoundly elegant masterpiece, when suddenly your boss rushes in with the Next Big Idea that will Revolutionize The Way People Use The Internet. He’s on his way to pitch to a VC, and stops by to describe the Idea in excited terms. After a 30 second elevator pitch, he pops the question: “So, Peter, how long do you think it will take to build this thing-a-ma-bob?”
What do you say?
These eight Protips will cover your back, save your job, and keep your boss’s shirt.
My main goal is to share and make you experiment some of the techniques that I use when transforming teams into high-perfoming agile teams, by providing you with four (4) different ways to estimate projects in Agile.
Estimates or #NoEstimates by Enes PelkoBosnia Agile
Do we need estimates? Are the estimates abused so much that they became unusable? There is a new emerging movement behind #NoEstimates that thinks so. But is it for anyone and in any situation?
This document provides an overview of agile stories, estimating, and planning. It discusses what user stories are, how to write them, and techniques for estimating story sizes such as story points. It also covers different levels of planning including release planning, iteration planning, and daily planning. The document is intended to provide background information on using agile methods for requirements management and project planning.
Scoping and Estimating WordPress Projects as an AgencyJohn Giaconia
WordCamp Los Angeles 2016. Scoping and Estimating WordPress Projects as an Agency. Presentation video available here: http://wordpress.tv/2016/09/25/john-j-giaconia-and-kara-hansen-scoping-and-estimating-wordpress-projects-as-an-agency/
This document discusses the importance of estimating and tracking time for documentation projects. It recommends tracking all time spent on tasks like meetings, writing, editing, and more to build a basis for accurate estimating. Both bottom-up and top-down estimating methods are described. Tracking time allows learning from past projects to improve estimates using techniques like comparative, parametric, and matrix-based estimating. Correlating estimates with tracking provides feedback to refine estimates. Risks should be identified and stakeholders agree on estimates upfront to manage scope changes.
Kanban is a method for integrating lean principles into software project delivery. It focuses on visualizing workflow, limiting work-in-progress, and managing flow to improve the current process, reduce task switching, detect and address bottlenecks, and make priorities adaptable. Key aspects of Kanban include limiting WIP for each activity, exposing bottlenecks, measuring and tracking lead time and cycle time, and holding retrospectives to evaluate improvements and keep adjusting policies based on team feedback and data.
Making P6 move in ready and adoption easy - Oracle Primavera P6 Collaborate 14p6academy
This document provides information about two sessions on making Oracle's Primavera P6 software ready for use and adoption. The first session discusses preparing P6 by setting up global and project-level administrative settings strategically to align with organizational goals. The second session is about using earned value management with P6 to provide a new perspective on project progress and help manage P6 compliance for various organization sizes. Both sessions aim to help users understand and properly configure P6 to support their projects and business objectives.
Agile Estimating & Planning by Amaad QureshiAmaad Qureshi
An introduction to Agile Estimating and how it can be used to measure the size and length of work.
Agile estimating & planning is a way of measuring the size and time it takes to complete a task. This technique is used by Agile teams in Enterprise and can be utilised in the same way by Start-ups not just for software but for all areas of the business. In this talk I will show you how estimating & planning works by:
- Writing effective user stories
- Writing tests to validate stories (acceptance criteria)
- Using story points to work out the size of a task
- Estimating using Planning Poker
- Using Story Points to calculate a team’s velocity (speed of work)
- Using a team’s velocity to calculate project length
Twelve Risks to Enterprise Software Projects—And What to Do about ThemTechWell
Every large software project is unique—each with its own complex array of challenges. When projects get into trouble, however, they often exhibit similar patterns, and succumb to risks that could have been anticipated and prevented—or detected sooner and managed better. Common responses to the problems—blaming, deferring action, or outright denial—only make things worse. Payson Hall reviews a dozen patterns he has observed over and over again on troubled projects during his thirty-year career: trouble with subcontractors, challenges with project sponsors, friction within the team, perils of interfacing with adjacent systems, issues with data cleansing and conversion, and more. Payson shares the tools he uses to help identify the symptoms of common risks, reduce the likelihood of risks occurring, facilitate early detection of problems, and establish a foundation for helpful responses when problems arise. This session is designed for project managers, team leaders, project sponsors, and anyone responsible for building or rolling out large enterprise systems.
Xanpan - What do you get if you cross XP and Kanban?allan kelly
Xanpan is a hybrid agile methodology that combines elements of Kanban, Extreme Programming (XP), and Lean. It focuses on iterative development, team autonomy over work, quality practices, flow-based prioritization, and visual management. Key practices include breaking stories into tasks, estimating in story points, applying work-in-progress limits, and allowing both planned and unplanned work. The methodology is meant to be adapted by individual teams to their needs rather than followed strictly.
The document discusses estimation in agile projects, noting that agile methods use iterative development with frequent delivery of working software to allow for emergence of requirements and capabilities. Agile estimation is done at both the iteration and release level, with developers re-estimating effort for upcoming iterations based on experience from previous iterations. Daily stand-up meetings, iteration planning meetings, and retrospectives help facilitate collaboration, adaptation, and continuous improvement in agile projects.
The document provides an overview of agile methodologies compared to traditional approaches. It discusses key principles of agile like iterative development, empowered teams, and valuing individuals. Popular agile frameworks like Scrum, Kanban, and eXtreme Programming are explained. The document also covers agile practices like user stories, estimating techniques, and retrospectives. Various agile methods are suited for different project types and have tradeoffs in terms of adaptability versus prescriptiveness.
Cutting Through the Noise: Breaking Down Hierarchical Communication Channels ...Atlassian
As organizations grow to 100's of employees, expand to multiple offerings, or step out into multiple geographies, they can naturally develop siloed and hierarchical communication channels which hinder transparency, scale, and operational agility. Learn how Atlassian has tackled these problems by creating simple, highly visible, and cross-cutting communication channels all while helping to empower teams and encourage autonomy; built using the power of JIRA and using microservices as the vehicle to generate customised views and weekly communications tailored to each user.
This document discusses challenges with estimating velocity for the initial sprint of a new Scrum team. It notes that using past data from other teams is not accurate for a new team. While management wants estimates upfront, the best approach is to wait for real data from the first sprint. The document recommends a risk mitigation approach of estimating tasks in hours to approximate a velocity range for the first sprint. Additional challenges can arise from delivering a minimum viable product that does not match architectural needs.
Agile Australia 2017 - Memories from the TrenchesMarcio Sete
The document discusses how a data center migration was executed using eight Lean-Agile principles. The principles focused on visualizing work, collaborating, reducing work-in-progress, ensuring the right work was being done at the right time, celebrating wins, using feedback loops, building a great team, and sharing experiences. Applying these principles resulted in improved flow efficiency, reduced lead times, increased throughput, lower discard rates, and an overall successful migration.
How To Build Scrum Task Boards that Radiate Information mikedep01
This document discusses how to build effective agile boards that radiate important information. It recommends starting simply with basic standards for story cards and task stickies. The board design should evolve based on the team's real estate needs and experiences. Teams should make their policies and definition of done visible on the board. Visual annotations like ownership indicators and dependencies can help convey status at a glance. The team should collaboratively build and own the board to ensure the information stays truthful and up-to-date. Periodic retrospection is important to evaluate if the board continues providing needed visibility into progress and issues.
An introduction to agile estimation and release planningJames Whitehead
The document provides an introduction to agile estimation and release planning. It discusses building a product backlog by creating user stories, estimating each story using complexity buckets and points, and ensuring user stories meet INVEST criteria. It also covers splitting large user stories, acceptance criteria, and ensuring the product backlog is DEEP by being detailed, estimated, emergent, and prioritized. Estimation techniques include relative sizing to other stories and complexity buckets for different aspects like user interface, business logic, etc. The document emphasizes that estimation is about relative size rather than fixed timelines and that consistency is more important than absolute accuracy.
Atlassian has been in hyper-growth for the last 5 years, exploding from 200 employees to over 1700. We've worked tirelessly to implement strategic planning while staying true to our agile roots and upholding our culture and values. To the surprise of no-one, it ain't easy. Learn about three practices we developed – and scaled – to help our teams deliver more compelling stories, and the strategic framework they all feed into.
The document discusses agile planning methods including prioritizing themes, desirability, and purpose during product planning. It describes estimating velocity and prioritizing user stories during release planning. Sprint planning involves adjusting priorities, selecting stories, and estimating tasks. Daily stand-ups involve discussing work completed the previous day and planned for the current day.
This presentation focuses on how to seek, recruit and retain good talent for your software development team. It also examines external human resource factors such as the job market, the competition and software trends.
Telecommuting and distributed working is a growing trend. Gallup says 37% percent of U.S. workers telecommuted in 2015, up from just 9% in 1995. However, most organizations have not adjusted their talent management practices to accommodate (or optimize) distributed teams. Get practical examples for building successful culture, teamwork and engagement across all aspects of HR and across the globe.
This was a presentation for the Northern California HR Association Global Workforce Conference in September 2016.
The document discusses the concept of "flow" or being fully immersed in an activity. It provides characteristics of flow including clear goals, strong concentration, intrinsic reward, loss of self-consciousness and time distortion. The document then discusses how teams and organizations can achieve flow through optimizing their processes to reduce bottlenecks and wait times, using techniques like Scrum of Scrums and PI planning. Key aspects that can disrupt flow are discussed, like fractionalized work and excessive work in progress. The document emphasizes the need for intentional design of work systems and value streams to achieve organizational flow at scale.
The document discusses various techniques for estimating work in Agile projects, including story points and feature points. It explains that story points are used to estimate user stories and provide a relative measure of complexity, while feature points are used to estimate larger features. The document also describes planning poker, where teams discuss estimates and converge on a shared value through discussion. Finally, it notes that estimates may need adjusting over time based on team experience and environment factors.
Building for success and failure with DisqusJonathon Hill
The document discusses using caching strategies to improve performance when accessing dynamic data from the Disqus API. It recommends using a "burst cache" like Memcached for fast access and a "failover cache" like MongoDB to handle cache misses or failures. A health check is also suggested to monitor the API and gradually increase the failover cache expiration times if issues arise. Code examples and links are provided for implementing these caching techniques using Guzzle, Memcached, MongoDB and other tools.
This document summarizes an invitation to partner with Travel Ticker, a travel marketing company. They have millions of newsletter subscribers and website visitors who are looking for travel deals. Advertising with Travel Ticker provides access to their affluent, travel-seeking audience. Partners have experienced increased sales, exposure to new customers, and the ability to fill dates and locations that may otherwise be hard to sell. The document highlights Travel Ticker's targeting and customized advertising solutions to help partners maximize results.
Agile Estimating & Planning by Amaad QureshiAmaad Qureshi
An introduction to Agile Estimating and how it can be used to measure the size and length of work.
Agile estimating & planning is a way of measuring the size and time it takes to complete a task. This technique is used by Agile teams in Enterprise and can be utilised in the same way by Start-ups not just for software but for all areas of the business. In this talk I will show you how estimating & planning works by:
- Writing effective user stories
- Writing tests to validate stories (acceptance criteria)
- Using story points to work out the size of a task
- Estimating using Planning Poker
- Using Story Points to calculate a team’s velocity (speed of work)
- Using a team’s velocity to calculate project length
Twelve Risks to Enterprise Software Projects—And What to Do about ThemTechWell
Every large software project is unique—each with its own complex array of challenges. When projects get into trouble, however, they often exhibit similar patterns, and succumb to risks that could have been anticipated and prevented—or detected sooner and managed better. Common responses to the problems—blaming, deferring action, or outright denial—only make things worse. Payson Hall reviews a dozen patterns he has observed over and over again on troubled projects during his thirty-year career: trouble with subcontractors, challenges with project sponsors, friction within the team, perils of interfacing with adjacent systems, issues with data cleansing and conversion, and more. Payson shares the tools he uses to help identify the symptoms of common risks, reduce the likelihood of risks occurring, facilitate early detection of problems, and establish a foundation for helpful responses when problems arise. This session is designed for project managers, team leaders, project sponsors, and anyone responsible for building or rolling out large enterprise systems.
Xanpan - What do you get if you cross XP and Kanban?allan kelly
Xanpan is a hybrid agile methodology that combines elements of Kanban, Extreme Programming (XP), and Lean. It focuses on iterative development, team autonomy over work, quality practices, flow-based prioritization, and visual management. Key practices include breaking stories into tasks, estimating in story points, applying work-in-progress limits, and allowing both planned and unplanned work. The methodology is meant to be adapted by individual teams to their needs rather than followed strictly.
The document discusses estimation in agile projects, noting that agile methods use iterative development with frequent delivery of working software to allow for emergence of requirements and capabilities. Agile estimation is done at both the iteration and release level, with developers re-estimating effort for upcoming iterations based on experience from previous iterations. Daily stand-up meetings, iteration planning meetings, and retrospectives help facilitate collaboration, adaptation, and continuous improvement in agile projects.
The document provides an overview of agile methodologies compared to traditional approaches. It discusses key principles of agile like iterative development, empowered teams, and valuing individuals. Popular agile frameworks like Scrum, Kanban, and eXtreme Programming are explained. The document also covers agile practices like user stories, estimating techniques, and retrospectives. Various agile methods are suited for different project types and have tradeoffs in terms of adaptability versus prescriptiveness.
Cutting Through the Noise: Breaking Down Hierarchical Communication Channels ...Atlassian
As organizations grow to 100's of employees, expand to multiple offerings, or step out into multiple geographies, they can naturally develop siloed and hierarchical communication channels which hinder transparency, scale, and operational agility. Learn how Atlassian has tackled these problems by creating simple, highly visible, and cross-cutting communication channels all while helping to empower teams and encourage autonomy; built using the power of JIRA and using microservices as the vehicle to generate customised views and weekly communications tailored to each user.
This document discusses challenges with estimating velocity for the initial sprint of a new Scrum team. It notes that using past data from other teams is not accurate for a new team. While management wants estimates upfront, the best approach is to wait for real data from the first sprint. The document recommends a risk mitigation approach of estimating tasks in hours to approximate a velocity range for the first sprint. Additional challenges can arise from delivering a minimum viable product that does not match architectural needs.
Agile Australia 2017 - Memories from the TrenchesMarcio Sete
The document discusses how a data center migration was executed using eight Lean-Agile principles. The principles focused on visualizing work, collaborating, reducing work-in-progress, ensuring the right work was being done at the right time, celebrating wins, using feedback loops, building a great team, and sharing experiences. Applying these principles resulted in improved flow efficiency, reduced lead times, increased throughput, lower discard rates, and an overall successful migration.
How To Build Scrum Task Boards that Radiate Information mikedep01
This document discusses how to build effective agile boards that radiate important information. It recommends starting simply with basic standards for story cards and task stickies. The board design should evolve based on the team's real estate needs and experiences. Teams should make their policies and definition of done visible on the board. Visual annotations like ownership indicators and dependencies can help convey status at a glance. The team should collaboratively build and own the board to ensure the information stays truthful and up-to-date. Periodic retrospection is important to evaluate if the board continues providing needed visibility into progress and issues.
An introduction to agile estimation and release planningJames Whitehead
The document provides an introduction to agile estimation and release planning. It discusses building a product backlog by creating user stories, estimating each story using complexity buckets and points, and ensuring user stories meet INVEST criteria. It also covers splitting large user stories, acceptance criteria, and ensuring the product backlog is DEEP by being detailed, estimated, emergent, and prioritized. Estimation techniques include relative sizing to other stories and complexity buckets for different aspects like user interface, business logic, etc. The document emphasizes that estimation is about relative size rather than fixed timelines and that consistency is more important than absolute accuracy.
Atlassian has been in hyper-growth for the last 5 years, exploding from 200 employees to over 1700. We've worked tirelessly to implement strategic planning while staying true to our agile roots and upholding our culture and values. To the surprise of no-one, it ain't easy. Learn about three practices we developed – and scaled – to help our teams deliver more compelling stories, and the strategic framework they all feed into.
The document discusses agile planning methods including prioritizing themes, desirability, and purpose during product planning. It describes estimating velocity and prioritizing user stories during release planning. Sprint planning involves adjusting priorities, selecting stories, and estimating tasks. Daily stand-ups involve discussing work completed the previous day and planned for the current day.
This presentation focuses on how to seek, recruit and retain good talent for your software development team. It also examines external human resource factors such as the job market, the competition and software trends.
Telecommuting and distributed working is a growing trend. Gallup says 37% percent of U.S. workers telecommuted in 2015, up from just 9% in 1995. However, most organizations have not adjusted their talent management practices to accommodate (or optimize) distributed teams. Get practical examples for building successful culture, teamwork and engagement across all aspects of HR and across the globe.
This was a presentation for the Northern California HR Association Global Workforce Conference in September 2016.
The document discusses the concept of "flow" or being fully immersed in an activity. It provides characteristics of flow including clear goals, strong concentration, intrinsic reward, loss of self-consciousness and time distortion. The document then discusses how teams and organizations can achieve flow through optimizing their processes to reduce bottlenecks and wait times, using techniques like Scrum of Scrums and PI planning. Key aspects that can disrupt flow are discussed, like fractionalized work and excessive work in progress. The document emphasizes the need for intentional design of work systems and value streams to achieve organizational flow at scale.
The document discusses various techniques for estimating work in Agile projects, including story points and feature points. It explains that story points are used to estimate user stories and provide a relative measure of complexity, while feature points are used to estimate larger features. The document also describes planning poker, where teams discuss estimates and converge on a shared value through discussion. Finally, it notes that estimates may need adjusting over time based on team experience and environment factors.
Building for success and failure with DisqusJonathon Hill
The document discusses using caching strategies to improve performance when accessing dynamic data from the Disqus API. It recommends using a "burst cache" like Memcached for fast access and a "failover cache" like MongoDB to handle cache misses or failures. A health check is also suggested to monitor the API and gradually increase the failover cache expiration times if issues arise. Code examples and links are provided for implementing these caching techniques using Guzzle, Memcached, MongoDB and other tools.
This document summarizes an invitation to partner with Travel Ticker, a travel marketing company. They have millions of newsletter subscribers and website visitors who are looking for travel deals. Advertising with Travel Ticker provides access to their affluent, travel-seeking audience. Partners have experienced increased sales, exposure to new customers, and the ability to fill dates and locations that may otherwise be hard to sell. The document highlights Travel Ticker's targeting and customized advertising solutions to help partners maximize results.
BarrierElectric has been in business for 50 years as a licensed electrical contractor in NJ. They have installed over 8 megawatts of solar panels. They provide performance bonding, and are qualified vendors for the NY/NJ Port Authority and NJ Transit. They offer solar installation, lighting retrofits, and energy efficiency projects. Their process involves assessment, design, installation, and long-term maintenance. They have completed large commercial solar projects for companies like FedEx.
smart & tech clothing, is the future near?Cecilia Rocha
The document discusses smart and technical clothing. It touches on several key points:
- Identifying what smart clothing options currently exist and who wants them
- Understanding customer needs and desires for smart clothing
- Exploring how smart clothing can be achieved simply, comfortably and affordably
The document suggests smart clothing may be part of the future and questions how close that future is. It emphasizes simplicity, comfort, and affordability in developing smart clothing solutions.
Wolfgang Weil - Xi’an Xianyang International AirportMatthew Willey
The document discusses the concept of "Trinity" in airport retail and proposes establishing an Airport Trinity Conference (XTC) to facilitate collaboration between airports, concessionaires, and brands. The XTC would include a General Assembly and an Executive Committee. The General Assembly would meet annually with representatives from the airport, concessionaires, and brands to discuss strategic issues through keynote speeches and guest presentations. The Executive Committee would meet bimonthly and include subcommittee chairmen and vice chairmen to address specific issues raised by the airport, concessionaires, and brands in order to overcome obstacles to Trinity and ensure its success.
Gatwick Airport has seen significant passenger growth through competing on service quality. It aims to stay ahead of consumer trends by delivering excellent service and commercial returns. Over 100,000 demanding consumers pass through daily. Gatwick constantly measures service quality across many areas and uses insights to improve the consumer experience through its digital engagement program myGatwick, which rewards loyalty. The key to commercial success is knowing consumers, delivering valuable experiences, engaging them, measuring performance, and improving based on feedback.
Sanjay Khanna - Mumbai International Airport LimitedMatthew Willey
The document discusses trends in airport customer experience and engagement. It notes that airports are shifting from being seen as a utilitarian destination to a relaxing and pampering experience. Airports are using various innovative concepts like pop-up restaurants and bars, entertainment offerings for kids and business passengers, experiential themes involving art and gardens, and technology to optimize the passenger experience. The goal is to create a memorable experience that increases dwell time and spending while turning passengers into loyal advocates for the airport.
This document discusses how technology and social media have changed consumer behavior. It notes that consumers are highly connected through various devices and use of WiFi and social media is widespread. This presents challenges for capturing consumer attention across multiple stakeholders like airports, retailers, and brands. The document advocates leveraging technology to improve the consumer experience through a single platform that engages consumers across their entire travel journey from pre-travel to post-travel. It argues this could deliver a "consumer utopia" by providing relevant information and promotions while reducing noise and confusion from multiple messages. The key target is noted as millennials who make up 50% of travelers and shoppers.
Francis Gros, the Head of Global Channels at Luxottica Group, discusses the need for brands and retailers to "get real" and adapt to changing consumer behaviors and technologies. He advocates for a more experiential and relevant approach in travel retail by focusing on omni-channel experiences, hospitality, and leadership. Gros also highlights the importance of collaboration between brands, airports, and retailers to drive growth in the travel retail sector.
Hong Kong International Airport aims to contribute to an unrivalled passenger experience through understanding evolving passenger needs and innovative commercial developments, resulting in strong non-aeronautical revenue. Their future focuses on eating, entertainment, ease, and engagement, including world-class dining options, festive celebrations, interactive entertainment facilities, efficient services, and engaging passengers prior to and during their journey through the airport.
The document discusses multi-tasking in PHP using multiprocessing. It describes how to fork child processes from a parent process to perform asynchronous tasks in parallel. It covers using signals to communicate between processes and reaping zombie processes. Examples are provided to illustrate how to fork processes, define signal handlers, and avoid race conditions using semaphores to protect shared resources.
Sang J. Ahn - Bangalore International Airport LimitedMatthew Willey
The document discusses trends in Indian travel retail and the demands of future passengers at Bangalore International Airport. It notes that customers now want personalized, private, and fair services. Airports must define their value propositions and determine if they are ready to meet new customer demands. Bangalore Airport is responding by improving self-service options, information access, and redesigning passenger experiences. It aims to enhance both aeronautical and commercial revenues through expanding retail, food, beverage and other offerings. Future challenges include keeping up with rising demand and changing passenger perceptions around quality and price.
The document discusses the opportunities for travel retail in online and digital channels. It notes that online retail is the fastest growing retail channel globally. While air travel has fully embraced digital, travel retail is only beginning to adopt digital. The document argues that online travel retail can be an opportunity if airports, brands, and retailers work together and invest in digital. However, there are also risks like revenue transfer to other channels if the industry does not adapt. Ultimately, a joint industry effort taking advantage of customer insights from digital can help capture the full value of the emerging online travel retail opportunity.
Este documento presenta la estructura y temas de un debate entre estudiantes sobre las ideas humanistas ateas y cristianas, y si las religiones, el humanismo o el pensamiento científico ofrecen mejores soluciones a los conflictos mundiales y cómo mejorar la sociedad. Los estudiantes están divididos en grupos que debatirán estas posiciones y se les pide incluir conceptos sobre humanismo, ejemplos de crisis actuales y sus causas.
Este documento presenta las instrucciones para un debate en un foro sobre el humanismo que se llevará a cabo en una clase de antropología de tercero medio. Se proponen cuatro temas a debatir sobre el aporte del humanismo ateo, cristiano, clásico y moderno para mejorar la sociedad. Se dividen a los estudiantes en grupos que debatirán a favor o en contra de cada tema y se especifican las reglas y estructura del debate.
Este documento explora diferentes definiciones y tipos de amor desde perspectivas filosóficas, psicológicas y religiosas. Se definen el amor fraternal, de pareja, a los hijos y a uno mismo. También se discuten mitos sobre el amor como la infidelidad y los celos. Finalmente, se pide a los estudiantes investigar representaciones del amor en la poesía, cine, literatura y música para analizar la idea de amor transmitida y su interpretación desde enfoques académicos y religiosos.
Scoping and Estimating WordPress Projects as an AgencyKara Hansen
The document provides an overview of how to scope, estimate, and manage WordPress projects as an agency. It discusses the importance of understanding scope through discovery, estimating projects by breaking work into discrete tasks, and managing customer expectations through clear communication and documentation of assumptions. Continuous improvement is emphasized through retrospective reviews of past projects to refine processes.
- The document discusses planning in Scrum, noting that while Scrum does not favor long-term detailed plans, it does support planning through events like Sprint Planning and refinement.
- A key part of Scrum is the Product Backlog, which holds all requirements and is prioritized and refined throughout development. Upcoming items are refined to be "ready" for selection in Sprints.
- Sprints are timeboxed iterations where development work is pulled from the Product Backlog to form the Sprint Backlog and goals. Progress is reported through metrics like velocity.
This document discusses how to interpret data from Kanban retrospectives to identify opportunities for optimizing workflow. It provides examples of metrics like lead time, cycle time, and work in progress that can be analyzed to address issues like bottlenecks, piles of work in specific states, outliers in work completion times, frequent blockers, the impact of unplanned work, and ensuring team well-being and sustainability. The document advocates using a structured process of planning improvements, implementing changes, measuring their impact, and adjusting as needed.
Optimize Portfolio Performance with Simple Agile Techniques and Jira - Part 1Cprime
Some organizations spend months or even years attempting to create a workable portfolio management solution – often with little success. So, how do organizations determine if their software portfolio is working? Can your portfolio answer basic questions related to productivity or performance? With Agile Portfolio Management and Jira, organizations can apply simple techniques to create a software portfolio that satisfies organizational needs.
In Part 1 of this 2-part Webinar, Anthony Crain, Delivery Manager at Blue Agility, presents simple agile practices, such as agile estimation and innovation accounting, to achieve what more complex portfolio practices often do not. Crain demonstrates how to harness the power of JIRA to standardize and centralize these practices resulting in more dynamic portfolio management and reporting.
Join us to learn how Software Portfolio Management along with JIRA allows organizations to:
*Maximize the ROI of their technology and IT work
*Identify what work to staff and what work to leave in backlog to a later date
*Determine ROI of individual efforts or entire initiatives when going agile
*Identify which innovations are working, such as adopting agile or using offshore resources
Measure what matters for your agile projectMunish Malik
While working with Agile projects, we simply can't get away from tracking and showcasing the progress of the project. A typical Agile project would be working with estimates, story points, velocities, burn-up or burn-down charts.
I have witnessed numerous sprint reviews and showcases where the business is only waiting to see those few slides of the presentation where there is the "actual" red worm, running against the "planned" green worm, trying to catch-up. If the red worm is ahead, I have seen a smile on the faces of the stakeholders. If it matches the green one, there is a sigh of relief. And as a development team you should just pray that the poor red guy is not falling behind the green one, lest it might lead to a lot of questions starting with why, how, what etc.
There have also been times where there have been some unfortunate heated discussions that last forever on why did the team end up not claiming a few points that they had committed. What gets lost is what the team accomplished in the sprint that adds good value to the product. There have also been times where the estimates are being questioned by the product owner or account managers. If you are working in a distributed setup where the product owner is working out of a different country, the problem is even bigger.
Let us think about a scenario where the project gets completed on time, budget and scope. Majority (or all) of estimates were correct. However, when the product went live to the market it failed big time. What is the use of building such a product?
Are we focusing too much on numbers and points and overlooking the other important aspects of Agile software development such as producing software that delights the customers and looking for ways on how we can measure that? Are we measuring if we are creating a solid, robust and a scalable platform that is ready for future developments and enhancements? Are we measuring the outcomes of the time we are spending in the shoes of the people who will actually use the software?
The objective of this presentation is to promote the thinking of measuring what matters for your project. To measure the goals that your software development wants to achieve. I don't plan to showcase an exhaustive list of measurements that can solve all your problems, however, I instead want to highlight some samples that I have used in my projects with the help of my team, that helped us to measure things that add value to the business and development v/S simply creating burn down charts.
Majorly, I want to encourage thinking out of the box to identify what measurements will really matter for your projects. Perhaps from the eyes of the users and business and see what things if measured will add a lot more value than simply estimates, and will help in creating a valuable product that will truly delight the business and the users of the product.
This document discusses time management and prioritization. It defines time management as how one organizes and plans time spent on activities. The importance of time management is described as leading to greater productivity, efficiency, less stress, and increased opportunities. Key aspects of time management covered include evaluating processes, implementing strategies effectively, setting priorities and goals. Various planning techniques are outlined, such as the ABC analysis method and Eisenhower method. The document emphasizes setting goals, prioritizing tasks, and using software to aid in time management.
The document discusses Agile software development methodology. It describes Agile as an iterative approach that builds software incrementally from the start instead of delivering it all at once near the end. The key difference between Agile and Waterfall is that Agile uses empirical process control and allows for scope and priority to be reset every 2-4 weeks to ensure alignment with evolving business needs. It also outlines various Agile concepts like product backlog, sprint planning, daily stand-ups and retrospectives.
1. The document provides an overview of practical scrum concepts including lean thinking, agile principles, scrum roles and ceremonies.
2. It discusses the roles of the product owner, scrum master and team in scrum and describes the four main scrum ceremonies: sprint planning, daily scrum, sprint review, and retrospective.
3. Key aspects of each ceremony are outlined such as their purpose, participants, and goals to continuously deliver working software and improve the process.
Analytics in Action: Project Analytics: Visibility that Aids Risk ManagementHannah Flynn
Product Managers face changes that put delivery at risk. Just as you use data from the customer to inform your solutions, transparency during the building of those solutions is critical for making better risk mitigation decisions. Whether your solution has fixed scope, fixed scheduling, fixed resources or fixed level of quality, the earlier you can know when these are at risk (and how) the better. The more clear the picture, the better you can understand the impacts of changes, and the more effectively you can deliver the solution the customer needs, when they need it, at a reasonable cost.
This session will focus on the use of a One-Dimensional Product Backlog from a risk management point of view. We will show how this tool can be used to monitor and evaluate how your solution is getting built, and a clear view of any cascading impacts risks have as they surface.
Project Analytics: Visibility that Aids Risk ManagementAggregage
Product Managers face changes that put delivery at risk. Just as you use data from the customer to inform your solutions, transparency during the building of those solutions is critical for making better risk mitigation decisions. Whether your solution has fixed scope, fixed scheduling, fixed resources or fixed level of quality, the earlier you can know when these are at risk (and how) the better. The more clear the picture, the better you can understand the impacts of changes, and the more effectively you can deliver the solution the customer needs, when they need it, at a reasonable cost. This session will focus on the use of a One-Dimensional Product Backlog from a risk management point of view. We will show how this tool can be used to monitor and evaluate how your solution is getting built, and a clear view of any cascading impacts risks have as they surface.
The Business Case for DevOps - Justifying the JourneyXebiaLabs
Ting Cosper, IT Director at Freedom Mortgage, gives his presentation on building the case for DevOps within your organization at the DevOps Leaderships Summit in Boston MA.
The document describes an agile journey at Dashlane from 2014-2017 as they evolved from feature-focused teams to business-focused teams driven by objectives and key results (OKRs). Initially they used scrum but later adopted more scrumban practices. They introduced roadmaps, portfolios, and OKRs to align strategy, tactics, and operations. Transitioning to business teams and OKRs was challenging but improved business focus, alignment, and delivery of value. Ongoing work includes refining OKRs and supporting processes to continuously improve.
Scrum and Kanban are frameworks designed to help manage work and perform process improvement at the team level. In this class we will explore Scrum, Kanban, and what XP has to say about work management. We’ll discuss the key practices involved in applying these frameworks, the differences between them, and which situations to use them in.
This document discusses different methods for conducting retrospectives in Agile software development. It outlines several common retrospective structures including using three questions to gather data on what went well, what didn't go well, and what puzzles the team; using a starfish model to gather data on what to keep doing, start doing, stop doing, and less of; and using a timeline to map out significant, problematic, and good events over the project. The document also discusses setting the stage, gathering data, generating insights, deciding on actions, and closing out the retrospective. The goal of retrospectives is for teams to reflect on how to continuously improve.
The document provides 10 secrets for managing successful projects from an experienced project manager. It discusses the importance of having a detailed plan and schedule, daily stand-up meetings, managing issues and risks, clear communication, mediating team discussions, managing scope, addressing resource issues, and caring about the project's success. Project management fundamentals like scope, schedule, budget, risk, and issues are also covered.
1. The document discusses defining the scope of a project, including writing a basic statement of what is being made, choosing a general approach, providing a detailed description, work breakdown structure, and action plan.
2. It covers estimating time and costs through techniques like early estimation, research, and assigning dollar values to tasks.
3. Detailed scheduling involves ordering tasks, assigning resources, estimating durations, and accounting for dependencies to create a project schedule.
4. Budgeting completes the planning process by assigning costs to all scheduled tasks and resources.
This document provides an overview of an introduction to Scrum training session. It includes an agenda with topics like introduction, games and exercises, parking lot for questions, and forming teams. There is also background on the trainer, Elad Sofer, including his experience and roles. Key aspects of Scrum like the roles of Product Owner, Scrum Master and Development Team are defined. Concepts like the product backlog, user stories, story points, planning poker and backlog refinement are introduced and explained. Exercises are included to help illustrate estimating and splitting stories.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Odoo ERP software
Odoo ERP software, a leading open-source software for Enterprise Resource Planning (ERP) and business management, has recently launched its latest version, Odoo 17 Community Edition. This update introduces a range of new features and enhancements designed to streamline business operations and support growth.
The Odoo Community serves as a cost-free edition within the Odoo suite of ERP systems. Tailored to accommodate the standard needs of business operations, it provides a robust platform suitable for organisations of different sizes and business sectors. Within the Odoo Community Edition, users can access a variety of essential features and services essential for managing day-to-day tasks efficiently.
This blog presents a detailed overview of the features available within the Odoo 17 Community edition, and the differences between Odoo 17 community and enterprise editions, aiming to equip you with the necessary information to make an informed decision about its suitability for your business.
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
2. BACKGROUND
• Self-taught
• 5+ years of full-time development
• Former CTO for a small web startup
• Former Director of Development for
a digital marketing agency
• AtlantaPHP Steering Committee
8. (N) ES-TIM-ATE:
An attempt to quantify something in
the face of the unknown.
By definition, estimates are imprecise
and tentative, versus
9. “GOOD” ESTIMATE
A good estimation approach should
provide estimates that are within 25%
of the actual results 75% of the time.
Conte, Dunsmore, and Shen (1986)
10. CERTAINTY
Sadly, people asking for control or
visibility really want certainty.
Which doesn’t exist.
Dan North
https://twitter.com/tastapod/status/116271851767992320
11. DISTINCTIONS
Target: a stated desirable business
objective
Commitment: a promise to deliver a
specific product within a specific
timeframe
12.
13. DEFINITION
A good estimate is an estimate that
provides a clear enough view of the
project reality to allow the project
leadership to make good decisions
about how to control the project to hit
targets.
Steve McConnell, Software Estimation
19. HOFSTADTER’S LAW
“It always takes longer than you
expect, even when you take into
account Hofstadter’s Law.”
Douglas Hofstadter
Gödel, Escher, Bach: An Eternal Golden Braid
23. THE PLANNING FALLACY
Students estimated their senior thesis
completion time in a 1994 study:
27.4
33.9
48.6
55.5
60
50
40
30
20
10
0
Best Case
Expected Case
Worst Case
Actual
Source: Wikipedia
24.
25. TIME FRAMES
“With software estimation you've only
realistically got a choice of 5 mins, 1
hour, 1-2 days, about a week, and then
all bets are off.”
Rob Bowley
https://twitter.com/robbowley/status/115430969825181696
26. TIME FRAMES
Can it be done in…
• 5 minutes?
• 1 hour?
• 1-2 days?
• 1 week?
28. DEFINITION
A good estimate is an estimate that
provides a clear enough view of the
project reality to allow the project
leadership to make good decisions
about how to control the project to hit
targets.
Steve McConnell, Software Estimation
30. OVERESTIMATION
• Inflated prices – might lose the job
• Lack of urgency – project time fills
up the estimate when it could have
been done faster
• Procrastination
33. IS IT USEFUL?
If there’s as much chance of you
coming up with something meaningful
by rolling some dice or rubbing the
estimate goat then what purpose are
you satisfying by doing so?
Rob Bowley
46. TIME FRAMES
Can it be done in…
• 5 minutes?
• 1 hour?
• 1-2 days?
• 1 week?
47. DECOMPOSITION AND
RECOMPOSITION
1. List all the features
2. Break the features into sub-features
3. Break the sub-features into
components
4. Estimate the components
5. Add the estimates up
48. LAW OF LARGE NUMBERS
The tendency for errors on the high
side and errors on the low side to
cancel each other out.
i.e.,
The accuracy of the sum is greater
than the accuracy of the individual
estimates.
49. PAUL JONES’ METHOD
1. List all the controllers required for
each feature
2. List all the methods required for
each controller
3. Estimate 1 dev-pair day per
controller method
50. BRANDMOVERS
METHOD
1. List all the logical features required
2. Break down each feature into small
logical components
3. List all the pages and modals required for
each feature
4. Estimate the back-end time required for
each logical component
5. Estimate the front-end time required for
each page
6. Sum up the back-end and front-end totals
53. PROXY ESTIMATION
1. Assign a size classification to each
feature
2. Compute the average time required
for similarly-sized features from
actual past projects
3. Create estimate ranges for each
feature based on past performance
4. Sum the result
55. CONS
• Less accurate
• Requires collection and archival of
project historical data on a per-feature
basis
56. STORY POINTS
• Uses a point scale: 1, 2, 4, 8, 16
• Break down the project into epics and
stories
• Assign a point value to each story
• Schedule releases at regular intervals
• The number of points completed per
release is known as “velocity”
• Use the velocity to plan and estimate
the delivery dates for future releases
59. T-SHIRT SIZING
• Assign a T-shirt size for development cost
• Assign a T-shirt size for business value
• Create a table of business value to
development cost ratios
• Look up the net business value for each
feature based on the dev cost and
business value T-shirt sizes
• Prioritize the features in order of net
business value
60. EXAMPLE
Feature Business Value Dev Cost
Feature A L S
Feature B S L
Feature C L L
Feature D M M
Feature E M L
61. VALUE TO COST RATIOS
Development Cost
XL L M S
XL 0 4 6 7
L -4 0 2 3
M -6 -2 0 1
S -7 -3 -1 0
Business Value
62. BIZ VALUE EXAMPLE
Feature Business
Value
Dev Cost Net Value
Feature A L S 3
Feature C L L 0
Feature D M M 0
Feature E M L -2
Feature B S L -3
65. PROBLEM SOLVING
When the estimate and target conflict:
• Negotiate features
• Negotiate time
• Negotiate price
66. ATTITUDE
• Try to be helpful, offer solutions
• Be creative
• Examine what can be done in
parallel to save time
• Be firm – you can’t change the laws
of physics
69. THE SETTING
• Former employer of mine
• Start-up, naïve and inexperienced
• Needed cash bad
70. THE CLIENT
• Small company in Atlanta
• Four separate disconnected
systems
• Wanted web-based workflow
consolidation
• Wanted online ordering and
payments
71. THE ESTIMATE
• Estimated at 1,039 man-hours
• Normal hourly rate was $120/hr
• We did a fixed-bid for $50k, at an
effective hourly rate of $48/hr
72. THE FALLOUT
• 18 months later…
• 2,500 man-hours
• 1,500+ Subversion commits
• Lots of “unknown unknowns”,
hidden complexities, and scope
creep
73. THE MORAL
• Don’t succumb to optimism or
planning bias
• Use a good estimation methodology
• Try not to do fixed bidding
• Always have a thorough scope
before starting
74. ESTIMATION PROTIPS
1. Estimates are not promises
2. Your gut lies
3. Premature estimation is sabotage
4. Big teams are slower than small ones
5. Beware unwarranted precision
6. Count all the things!
7. When in a pinch, use a proxy
8. You can’t negotiate math
Targets:
“We need v2.1 ready to demo at a trade show in May.”
“Our budget is $2mm, we must limit the cost of the next release to that budget.”
Here’s the problem: estimates and targets often collide. Good estimates are probability statements based on what is known about the project and available resources, and targets are specific business objects that are sometimes quite solid.
At Brandmovers, if we’re building a promotion to help generate buzz and excitement for the next Avengers movie, and that movie launches on a particular date, it isn’t really an option to delay launching the promotion if the project runs over.
So if an estimate isn’t a promise, what is a good estimate?
Ever been asked for a “gut estimate?”
It’s not at all uncommon to be asked to estimate something about which you have next to no knowledge.
To illustrate the point, I’d like to do a little exercise.
I’d like you to estimate the weight, in pounds, of the heaviest blue whale ever recorded.
No cheating, don’t Google it.
Give a high and a low estimate.
Here’s the catch: I want you to estimate this with a wide enough range so that you are 90% confident that the correct answer is in the range that you set.
You’ve got one minute. Go.
Now, I’d like to get a show of hands of how many of you captured the correct answer in your range.
Almost everyone gets this wrong.
You might be thinking, “c’mon, this is not a realistic exercise.”
Folks, estimating in the face of this kind of uncertainty is business as usual for software estimators. Fortunately, there are techniques that will help you get within 25% of the actual number 75% of the time.
The other takeaway here is unless you are into statistics and you have have a mathematical reason for saying so, don’t use terms like “90% confident” or “75% confident.”
Before we go any further, I’d like to share a book recommendation.
The exercise we just did comes from chapter 2 of the book Software Estimation, by Steve McConnell.
Steve is a former Microsoft employee and also authored the book Code Complete.
Software Estimation is pretty much required reading for anyone who is responsible for estimating software projects. This book really helped me to understand why good estimation practices work, and what I had been doing wrong for years before.
Hofstadter’s Law illustrates why estimation is so hard, and why so many people get it wrong.
In fact, the difficulties with producing even a ballpark estimate and the the tendency to misunderstand and abuse estimation have led some to seek workflows which eliminate estimation altogether. Some agile methodologies do this.
Sadly, the dynamics and business models of many companies do not allow such a luxury.
We’ve talked about a lot of theory, what estimates are, what they’re good for.
Now let’s talk about some practical methodology.
Remember Rob Bowley’s timeframes?
This is the underlying idea behind estimation by decomposition.
Essentially, you break down the project features, and then you break down those sub-features down even further to the individual components that must be built.
Estimate each component, and sum the individual estimates to produce the overall estimate.
There are a few different ways to do this. The first way was pretty hard for me to swallow at first.
I learned it from Paul Jones and in practice it works very well.
This method includes front-end, back-end, and QA time built in and was created based on his personal observations from working on many different projects.
Notice the large unit of measure (1 day), and the fact that it assumes two people will be pair programming.
I never understood why this method worked so well until I learned about the law of large numbers.
Simple methods are often quite effective! It doesn’t take complex mathematics or estimation modeling software to produce a useful estimate. A spreadsheet and a good method are all you need.
Had four separate systems in place for managing customer data, billing, inventory, and fulfillment