This presentation explores the reasons why software projects are significantly more difficult to manage than other types of projects. Software-specific issues related to scope, resources, and time are explored, as well as how software projects differ from other projects in the physical world. An argument for why software constitutes a “Wicked Problem” is expanded, and numerous software development myths are attacked with real-world anecdotes and solutions.
The first part of this presentation is a situational assessment of typical challenges in IT project delivery using the SCRAP (Situation, Complication, Resolution, Action, Proof) model. This is essentially a business case for Agile. So if you are looking for ways to get buy-in for Agile, this is the place to be.
The second part of this presentation shows you what Agile is from 50,000 ft. From this high up, we'll be covering the essential elements from a business and management perspective. We'll cover what Agile is, what it does, how it works and what it achieves.
If you are interested in learning or communicating the value of Agile, then this is the presentation for you!
Please email me if you would like a download.
The first part of this presentation is a situational assessment of typical challenges in IT project delivery using the SCRAP (Situation, Complication, Resolution, Action, Proof) model. This is essentially a business case for Agile. So if you are looking for ways to get buy-in for Agile, this is the place to be.
The second part of this presentation shows you what Agile is from 50,000 ft. From this high up, we'll be covering the essential elements from a business and management perspective. We'll cover what Agile is, what it does, how it works and what it achieves.
If you are interested in learning or communicating the value of Agile, then this is the presentation for you!
Please email me if you would like a download.
Presentation I gave to the Chicago ACM about Lean Software Development. Full audio can be found here:
https://soundcloud.com/griffinc/intro-to-lean-software
Agility and planning : tools and processesJérôme Kehrli
In this presentation, I intend to present the fundamentals, the roles, the processes, the rituals and the values that I believe a team would need to embrace to achieve success down the line in Agile Software Development Management - Product Management, Team Management and Project Management - with the ultimate goal of making planning and forecasting as simple and efficient as it can be.
Lean principles and practices have long been applied to manufacturing, with Agile arguably the inevitable evolution of Lean applied to knowledge-based work.
When viewed from a customer’s perspective much of software development may be seen as lower value. How can organizations become lean by eliminating waste and working smarter?
This presentation explores Lean principles and practices applied to software beginning with value stream mapping and the 7 (+1) types of waste.
Presented as an Agile 101 session at Agile New England on 5 August 2021.
5 Secrets of Smarter, Faster, & Cheaper Construction In NYCRahulJaykar21
Construction in New York City doesn’t have to be a long, drawn-out process. With the proper planning and first steps at the beginning of the project, you can eliminate the top culprits that delay construction projects.
If your projects involve other companies doing most of the work, then this presentation can open the door to faster, better and less expensive projects. You don't have to spend more to get your project sooner. Critical Chain Project Management (CCPM) has worked wonders in many industries..but has not had much impact in sectors such as construction. We think we know why. Take a look ad let us know what you think www.profitableprojects.org
Improving Focus and Predictability on Projects with Critical Chain Project Ma...Joe Cooper
This presentation was delivered at the 2013 PMI Central Indiana Professional Development Day in Carmel, IN on October 4th. The title, "Improving Focus and Predictability on Projects with Critical Chain Project Management". The presenter, Joe Cooper, is with Allegient LLC in Indianapolis. A similar presentation will be given at PMI Global Congress in New Orleans on October 29th, 2013.
A presentation by Gary Palmer, made at the APM South Wales and West of England branch seminar 'Project Controls: A 1 day Seminar' on Wednesday, 2nd October 2013
What is Technical Debt? It doesn't have to be negative, but it does have to be carefully managed. Here is a quick run-down of best practice to approaching Technical Debt management.
Presentation I gave to the Chicago ACM about Lean Software Development. Full audio can be found here:
https://soundcloud.com/griffinc/intro-to-lean-software
Agility and planning : tools and processesJérôme Kehrli
In this presentation, I intend to present the fundamentals, the roles, the processes, the rituals and the values that I believe a team would need to embrace to achieve success down the line in Agile Software Development Management - Product Management, Team Management and Project Management - with the ultimate goal of making planning and forecasting as simple and efficient as it can be.
Lean principles and practices have long been applied to manufacturing, with Agile arguably the inevitable evolution of Lean applied to knowledge-based work.
When viewed from a customer’s perspective much of software development may be seen as lower value. How can organizations become lean by eliminating waste and working smarter?
This presentation explores Lean principles and practices applied to software beginning with value stream mapping and the 7 (+1) types of waste.
Presented as an Agile 101 session at Agile New England on 5 August 2021.
5 Secrets of Smarter, Faster, & Cheaper Construction In NYCRahulJaykar21
Construction in New York City doesn’t have to be a long, drawn-out process. With the proper planning and first steps at the beginning of the project, you can eliminate the top culprits that delay construction projects.
If your projects involve other companies doing most of the work, then this presentation can open the door to faster, better and less expensive projects. You don't have to spend more to get your project sooner. Critical Chain Project Management (CCPM) has worked wonders in many industries..but has not had much impact in sectors such as construction. We think we know why. Take a look ad let us know what you think www.profitableprojects.org
Improving Focus and Predictability on Projects with Critical Chain Project Ma...Joe Cooper
This presentation was delivered at the 2013 PMI Central Indiana Professional Development Day in Carmel, IN on October 4th. The title, "Improving Focus and Predictability on Projects with Critical Chain Project Management". The presenter, Joe Cooper, is with Allegient LLC in Indianapolis. A similar presentation will be given at PMI Global Congress in New Orleans on October 29th, 2013.
A presentation by Gary Palmer, made at the APM South Wales and West of England branch seminar 'Project Controls: A 1 day Seminar' on Wednesday, 2nd October 2013
What is Technical Debt? It doesn't have to be negative, but it does have to be carefully managed. Here is a quick run-down of best practice to approaching Technical Debt management.
The TCP/IP protocol system is used by virtually every modern data network to quickly and reliably move data from node to node. This presentation covers what TCP/IP is, what it does, it’s most important features, and how it was developed.
Pricing Analytics: Segmenting Customers To Maximize RevenueMichael Lamont
Potential customers for a product or service can be segmented into valuation groups. High valuation groups are willing to pay more for the product or service, while low valuation groups are only willing to pay a lesser amount for the same product or service. This presentation provides a basic background on yield management through customer segmentation, and a hands-on example of modeling airline customer segmentation using Excel.
Income statement Functional Format,Linear cost Function,Method of Analyzing cost,Comparison of variable costing , unit cost computation, Illustration of variable costing , evaluation of results. Managerial Accounting
Pricing Analytics: Estimating Demand Curves Without Price ElasticityMichael Lamont
Most techniques used to created demand curves depend on the product’s price elasticity. But what if you don’t have or can’t obtain the price elasticity figures for a particular product? If you can make reasonable estimates of demand for a product at a high, median, and low price point, then you can still construct a reasonable estimate of the demand curve over the range of those prices. This presentation shows how to use Excel’s line fitting and Solver functionality to construct a demand curve without knowing the product’s price elasticity, and determine the optimal price for the product that maximizes profit margin.
Break even analysis- A Comprehensive and Clear DescriptionShyama Shankar
Break-even analysis is one of the most important concepts in management-accounting that enables the management to calculate production costs accurately and avoid wastage. It relates volume with profits at different levels and helps the company to fix price accordingly.
Cost Volume Profit (CVP).
Introduction
Fixed costs
Variable costs
Semi variable costs
Contribution margin
Break even point
PV Ratio
BEP ANalysis.
break even point
Cost-volume-Profit.
INFORMATION ABOUT
B.E.P.
Definition
Cost Volume Profit analysis & Application
Assumption of BEP analysis
Calculation
Method
Formula
Target profit
Margin of safety
Definition
Formula
Limitation of B.E.P.
Basic equation of Marginal Costing
Uses Of CVP Analysis
Limitations Of CVP Analysis
Profit Volume (P/V) Ratio
Marginal costing
Determination Of Marginal Cost
Features of Marginal Costing
This blog help you to estimate the cost of software development project. For more detail information Read full article here, https://www.vrinsofts.com/how-to-estimate-software-development-project-cost/
* What is Engineering?
* Who is an Engineer?
* The reasons to become an Engineer
* What is Software Engineering?
* Software Engineering: History
* The principles of Software Engineering
* Who is a Software Engineer?
* The reasons to become Software Engineer
* Requirements of being Software Engineer
* The Areas of Software Engineers
* The working areas of Software Engineers
* Difference between Computer Science and Software Engineering
* Pros and Cons of being Software Engineer
* A Software Engineer Responsibilities
* The Most Popular Software Development Methodologies(Waterfall, Rapid Application, Agile and DevOps) Development Methodology
* Version control
* Centralized Version Control
Critical Capabilities to Shifting Left the Right WaySmartBear
The concept of testing earlier in the SDLC isn't new, but the term "shift left" has reignited its importance. See how shifting left can help you, and how to do it right.
A Proven Software Development Process for the Non Technical FounderFounders Workshop
Are you a non-technical founder with a great software idea? Ready to take the plunge but want the “secret” to successfully managing software development? Well, it's not a "secret" at all - it's a disciplined methodology we are going to share with you. This presentation is designed to provide entrepreneurs with a blueprint for successful software development and technology implementation.
The unfortunate reality is that quality software development and technology implementation is not readily available to most startups and small business entrepreneurs. Great entrepreneurs are met with small thinkers when searching for a development team via online freelancer sites, or the recommendation of a friend’s cousin who may code on weekends. Or they are faced with development companies that impose business models that do not align with the entrepreneurial spirit.
importance of resources allocation in formal method of software engineering ...abdulrafaychaudhry
Project management is a very wide area of work, particularly in business. It covers many different topics which can be broken into even smaller particles. Work of a project manager is not only about giving people orders and telling them what to do. Many people limit their work of a project manager to supervising their employees and making sure everyone meets their deadline. But a good project manager knows it’s more than that.
Resource allocation in project management is one of those particles which make work of a good PM effective and significant. And even though it may seem simple, it is actually crucial in delivering a great project.
Resource allocation in project management is concerned with creating a plan which can help achieve future goals. There are many resources which have to be allocated when managing a project, beginning from budget to equipment and tools, to data and the project’s plan.
How To Allocate Resources
Resource allocation in project management is so important because it gives a clear picture on the amount of work that has to be done. It also helps to schedule ahead and have an insight into the team’s progress, including allocating the right amount of time to everyone on the team.
Resource allocation allows to plan and prepare for the project’s implementation or achieving goals. It is also possible to analyze existing threats and risks to the project.
But above all, resource allocation in project management helps to control all the workload. This, as a result, contributes to team’s effectiveness at work and what follows later is a satisfying and exhaustive project.
Steve McConnell is CEO and Chief Software Engineer at Construx Software where he writes books and articles, teaches classes, and oversees Construx’s software engineering practices.
How to Plan for Hyper Growth Success by Slack Software EngineerProduct School
Every company is different. Every team is different. Every Product Manager is different. In Carly's two years working at Slack as a Software Engineer building features for Enterprise Grid, she's had the opportunity to work with several Product Managers with distinct styles and varying levels of experience. Her talk explored challenges her team encountered working on high impact, cross functional projects in a hyper growth startup environment.
The software development process is a complex and error-prone task. faulty software can lead to devastating consequences, including loss of data, system crashes, and security breaches. Let's discuss the most common challenges that can occur and how to address them.
How Software Developers Destroy Business Value.pptxAaron Stannard
Software developers are intended to be massive, highly leverageable value creators for their companies and teams - using their creative and technical talent to build products themselves or mission-critical systems that facilitate the delivery of value inside the business. The blunt truth, however, is that many software developers would screw up tying their own shoes when left to their own devices. There's an abundant corpus of work out there on how managers routinely let down their software developers through insufficient planning, communication, listening, and support. In this talk we're going to explore the inverse - how individual software developers contributing to a project unintentionally sabotage their teams, their companies, their projects, and themselves through: * Immutable technical preferences + biases; * Bad attitudes; * Poor listening; * Inflexible and unproductive learning styles; * Risk aversion; * Incuriosity; * And more! Most importantly, in this talk we're going to try to address how we can help shift developers who want to learn and improve, but are have trouble executing, become the high value contributors they'd like to be.
Sales and promotional discounts let retailers reach pools of customers that value the same product differently. Modeling the pool of potential buyers, and how it changes over time, lets you optimize how and when sales and discounts are applies. This presentation provides a hands-on demonstration of modeling the pool of potential buyers, and using Excel’s Solver tool to optimize revenue from that shopper pool by manipulating price.
The prices of several product classes – notably fashion and technology – tend to drop over time. One possible reason for the drop over time is different customers assigning a different value to the same product or service. Price skimming models can be used to maximize a product or service’s revenue by planning price reductions over time in a manner that slowly cuts tranches of higher-value customers out of the market. This presentation provides a hands-on demonstration of constructing a price skimming model in Excel, and optimizing planned price reductions.
Business Intelligence: Multidimensional AnalysisMichael Lamont
An introduction to multidimensional business intelligence and OnLine Analytical Processing (OLAP) suitable for both a technical and non-technical audience. Covers dimensions, attributes, measures, Key Performance Indicators (KPIs), aggregates, hierarchies, and data cubes.
The “best” price for a product or service is one that maximizes profits, not necessarily the price that sells the most units. This presentation uses real-world examples to explore how Excel’s Solver functionality can be used to calculate the optimal price for any product or service.
Pricing Analytics: Creating Linear & Power Demand CurvesMichael Lamont
An introduction to the two most common types of demand curves (linear and power), which can be used to estimate the price for a product or service that maximizes profit margins. Includes hands-on real-world examples using Excel.
HP Tech Forum 2009 presentation covering some of the ways spammers harvest email addresses on the Internet (and how you can prevent it), including an in-depth look at three commonly used software packages.
Slides from my wildly popular presentation at HP World 2005. Who knew? Grossly over-simplified signal processing methodology and sample photos of models in bikinis was a winning combo, even in San Francisco.
Evaluating and Implementing Anti-Spam SolutionsMichael Lamont
Presentation from HP World 2004 that explores common anti-spam technologies including how they work, how effective they are, their relative strengths/weaknesses, and how spammers try to circumvent them. Also has a section on evaluating anti-spam software packages.
Methodology for a technical evaluation of software-based spam filters - a hot topic back in 2005. It was originally going to be given at the HP Tech Forum in New Orleans in Sept 2005 - Katrina forced the conference to cancel while I was literally on the way to the Boston airport. Ended up giving this presentation at the rescheduled conference in Orlando in Oct 2005.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
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.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
4. Unreasonable Constraints
• Set schedules & budgets without a detailed design
• Estimations performed without input from developers
• Ignoring interlocking relationships between cost, schedule, and
features
5. Three Sides of Software Dragon’s Triangle
• Scope
• Resources
• Schedule
9. Easy&Straight-
Forward,Right?
• Clear requirements
• Expectations are easy
to manage
• Detailed plans
(blueprint)
• Well-established
principles
• Knowledgeable staff
• On time, on scope, on
budget
• $$$ for everyone!
11. HowContractors
ActuallyGetPaid…
• No change to original
plans, no profit for
contractor
• Changes to original
blueprint are virtually
guaranteed
• Profit comes from
charging for changes
17. Comparison of Hardware/Software Properties
Phenomenon Hardware Software
Manufacture of exact duplicates A challenge Not a problem
Wearing out with use or passage of
time
A major issue Not a problem
Human sensory experiences Not a problem Not experienced
Progress measured during
construction
Observable Observable only via a
baseline process
Cost, schedule, and planning Experienced
physically
Requires speculation
and relatively high risk
18. We can see & touch our
progress when building
things in the physical
world
19. In the real world, following
sequential steps gives us
incremental completion
we can experience and
evaluate
20. In early stages of software
development, all we have
are design and
architecture documents to
experience.
23. Engineering in the physical
world is based on
unchanging laws that
make the future
predictable.
Lack of hard-and-fast
principles in software
world lets unpredictable
major setbacks occur in
moments.
24. When developing
software, it’s easy to get
forced into dealing with
simultaneous problems:
• Scheduling
• Cost
• Features
25. 3 Points of the Dragon’s Triangle
Scope
Resources Schedule
26. 3 Points of the Dragon’s Triangle
Scope
Resources Schedule
36. Remedies/Repercussions in Hardware &
Software Projects
Situation Hardware World Software World
Behind schedule Add people and/or equipment,
and balance expense
elsewhere
Adding people makes matters worse, so cut
features, which impacts customers and
morale. Or go into Death March Mode.
Over budget Stretch out delivery time; you
might lose incentive fees.
Adding people makes matters worse, so cut
features, which impacts customers and
morale. Or go into Death March Mode.
Not all features will be
delivered
Renegotiate the contract;
customer might get another
vendor to finish the job.
Reassess, focusing on customer’s “must
have” features; customer expectations might
impact opinion of results. Or go into Death
March Mode.
37. Remedies/Repercussions in Hardware &
Software Projects
Situation Hardware World Software World
Behind schedule Add people and/or equipment,
and balance expense
elsewhere
Adding people makes matters worse, so cut
features, which impacts customers and
morale. Or go into Death March Mode.
Over budget Stretch out delivery time; you
might lose incentive fees.
Adding people makes matters worse, so cut
features, which impacts customers and
morale. Or go into Death March Mode.
Not all features will be
delivered
Renegotiate the contract;
customer might get another
vendor to finish the job.
Reassess, focusing on customer’s “must
have” features; customer expectations might
impact opinion of results. Or go into Death
March Mode.
38. “DeathMarch
Mode”
• Slang for quickly
spending ridiculous
amounts of resources
to force a project to
completion
• Caused by the
software manager’s
failings
40. SoftwareIsn’t
Deterministic
• No way to predict how
long it’ll take to
identify and fix a
specific defect
• “Death March Mode”
leads to mental
fatigue, which leads to
poor productivity and
mistakes
43. IfYouHaveTo
CutFeatures…
• Reassure the affected
developers that their
work is appreciated
• Feature cuts are due
to scheduling reasons,
not the developers’
skill level or work
product
44. “Wicked”
Problems
• Put forth by design
theorist Horst Rittel
• Describes a class of
problems that don’t
have bounded
solutions
• The more effort you
put into solving the
problem, the larger
the problem becomes
until infinity
• Software development
is a “wicked” problem
45. Criteria For “Wicked” Problems
• Cannot be definitively stated
• Software requirements change in unpredictable ways
• No rule or guideline to determine when the problem is solved
• Development on a product only stops when you run out of time or
money
• Solutions are “good” or “bad” – not “right” or “wrong”
• Software provides thousands of ways to meet even the most detailed
specifications
• Some solutions are better than others, even though they all meet spec
46. Criteria For “Wicked” Problems
• Cannot be definitively tested
• No scientific way to accept or reject a specific software solution
• Spec issues can be argued without clear rights and wrongs
• Solutions are too big (i.e., expensive) to experiment with
• Building multiple software systems and choosing the best is prohibitively
expensive
• There are unlimited solutions, and unlimited criteria for
evaluation
47. Criteria For “Wicked” Problems
• Every problem is unique
• Symptomatic of higher-level problems
• “Solving” one part of the problem can lead to unanticipated problems in
other areas
51. Large-scale projects in the
physical world undergo
intensive planning before
anyone touches a shovel
52. With software, it’s too
easy to think we “see” the
solution and start coding
immediately, without
really understanding the
problem.
Example: Y2K
53. Software Development Myths
1. Software is easier to change than hardware
2. Processes aren’t needed in “maintenance mode”
54. Aircraft maintenance
processes provide a useful
template for software
maintenance.
Careful records are kept of
every issue and action
taken, and analyzed to
improve results.
56. Software Development Myths
1. Software is easier to change than hardware
2. Processes aren’t needed in “maintenance mode”
3. Source code is self-documenting
57. Some developers actually
remove other people’s
comments from code.
Argument: Documentation
is going to be out of date
soon, so I’m saving us time
by removing it before that
happens.
58. Arguments for removing
comments fail to take staff
turnover issues into
account.
Fix with a simple
requirement: every
developer responsible for
verifying comments are
correct before checking in
changes.
Have QA do basic spot-
checking to verify.
59. Software Development Myths
1. Software is easier to change than hardware
2. Processes aren’t needed in “maintenance mode”
3. Source code is self-documenting
4. Quality can be tested into a software system
60. Henry Ford’s rolling
assembly line built quality
into the production
process:
• Break process into
small steps
• Execute each step
perfectly
• Quality inspections at
key milestones during
production
63. Testing only tells you if
quality is present – it
doesn’t help increase a
product’s quality.
Quality products have a
chance to be successful.
Low-quality products end
up where they belong: the
scrap pile.
64. Software Development Myths
1. Software is easier to change than hardware
2. Processes aren’t needed in “maintenance mode”
3. Source code is self-documenting
4. Quality can be tested into a software system
5. We sell code, not analysis and design documents
65. Successful engineering has
always depended on
careful analysis, design,
and planning.
A carefully designed plan,
agreed to by the
development team, is
much more likely to lead
to a successful outcome.
66. Software Development Myths
1. Software is easier to change than hardware
2. Processes aren’t needed in “maintenance mode”
3. Source code is self-documenting
4. Quality can be tested into a software system
5. We sell code, not analysis and design documents
6. We don’t need QA – good programmers don’t make mistakes
67. QA’s job isn’t testing
software to find bugs – its
job is to prevent bugs in
the first place.
68. Software Development Myths
1. Software is easier to change than hardware
2. Processes aren’t needed in “maintenance mode”
3. Source code is self-documenting
4. Quality can be tested into a software system
5. We sell code, not analysis and design documents
6. We don’t need QA – good programmers don’t make mistakes
7. Increasing compensation increases performance
69. Increasing pay doesn’t
make unhappy developers
happy.
The company is signaling
that they like the way
things are going, and they
aren’t going to make any
changes.
Make sure developers
know any overwork
scenario is a short-term
situation
70. Software Development Myths
2. Processes aren’t needed in “maintenance mode”
3. Source code is self-documenting
4. Quality can be tested into a software system
5. We sell code, not analysis and design documents
6. We don’t need QA – good programmers don’t make mistakes
7. Increasing compensation increases performance
8. Rewarding managers with perks will make management
positions desirable.
73. Software Development Myths
3. Source code is self-documenting
4. Quality can be tested into a software system
5. We sell code, not analysis and design documents
6. We don’t need QA – good programmers don’t make mistakes
7. Increasing compensation increases performance
8. Rewarding managers with perks will make management
positions desirable
9. Processes are great, as long as you aren’t behind schedule
77. Software Development Myths
4. Quality can be tested into a software system
5. We sell code, not analysis and design documents
6. We don’t need QA – good programmers don’t make mistakes
7. Increasing compensation increases performance
8. Rewarding managers with perks will make management
positions desirable
9. Processes are great, as long as you aren’t behind schedule
10. We have to be first to market, and formal processes just slow
us down
79. LockUp
Difficult to compete in a
saturated market – “rip
and replace.”
…But how long does it
really take to put together
some reasonable
processes?
80. “LandRush”
Development
Actually takes more time
to develop a marketable
product in “Land Rush”
mode than it will if you use
defined processes to
organize workflow and
reduce bugs.
81. Software Development Myths
6. We don’t need QA – good programmers don’t make mistakes
7. Increasing compensation increases performance
8. Rewarding managers with perks will make management
positions desirable
9. Processes are great, as long as you aren’t behind schedule
10. We have to be first to market, and formal processes just slow
us down
11. We can tie together several COTS packages and mostly avoid
writing new code
82. CommercialOff
TheShelf(COTS)
COTS packages are
designed to solve a
specific problem in a
specific way – probably
not yours.
Using COTS makes your
software the same as
everyone else’s – why
bother to develop it in the
first place?
83. IntrinsicCOTS
Issues
Some popular COTS
systems introduce
significant latency into
real-time and interactive
software.
Integration of multiple
COTS systems isn’t as easy
as you might think.
84. Software Development Myths
7. Increasing compensation increases performance
8. Rewarding managers with perks will make management
positions desirable
9. Processes are great, as long as you aren’t behind schedule
10. We have to be first to market, and formal processes just slow
us down
11. We can tie together several COTS packages and mostly avoid
writing new code
12. Formal processes cause talented people to leave
85. AvoidingProcesses
toAvoidChange
Some poor managers are
afraid of change, others
are afraid that processes
will reveal their poor
leadership.
Instituting formal
processes usually
improves development
team morale (and
productivity).
86. Process-Induced
Failures
All failure stories lack
detail – the real story is
that the dev team tried
out a method, and had
problems.
Usually the problems
would have been
resolvable, but the
software manager freaked
when code didn’t start
rolling out the door and
abandoned the processes.
93. Key Take-Aways
• Rules, principles, and experience in the physical world doesn’t
often apply to software
• Quality affects performance of both the product AND your
team
• Small scheduling slides very quickly add up to a large slip