“
Innovation is a learned organizational capability. You must train people how to innovate and navigate organizational barriers that kill off good ideas before they can be tested.
”
”
Kaihan Krippendorff
“
First Law You may not write production code until you have written a failing unit test. Second Law You may not write more of a unit test than is sufficient to fail, and not compiling is failing. Third Law You may not write more production code than is sufficient to pass the currently failing test.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
No matter how elegant it is, no matter how readable and accessible, if it hath not tests, it be unclean. Dave
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
Suppose a developer has a conversation with a customer about details of a feature. The conversation should not be considered complete until it is expressed as a customer test.
”
”
Mary Poppendieck (Lean Software Development: An Agile Toolkit: An Agile Toolkit (Agile Software Development Series))
“
If the discipline of requirements specification has taught us anything, it is that well-specified requirements are as formal as code and can act as executable tests of that code!
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
“
What this team did not realize was that having dirty tests is equivalent to, if not worse than, having no tests.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
“
If you let the tests rot, then your code will rot too. Keep your tests clean.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
“
What makes a clean test? Three things. Readability, readability, and readability.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
A good negotiator prepares, going in, to be ready for possible surprises; a great negotiator aims to use her skills to reveal the surprises she is certain to find. Don’t commit to assumptions; instead, view them as hypotheses and use the negotiation to test them rigorously. People who view negotiation as a battle of arguments become overwhelmed by the voices in their head. Negotiation is not an act of battle; it’s a process of discovery. The goal is to uncover as much information as possible. To quiet the voices in your head, make your sole and all-encompassing focus the other person and what they have to say. Slow. It. Down. Going too fast is one of the mistakes all negotiators are prone to making. If we’re too much in a hurry, people can feel as if they’re not being heard. You risk undermining the rapport and trust you’ve built. Put a smile on your face. When people are in a positive frame of mind, they think more quickly, and are more likely to collaborate and problem-solve (instead of fight and resist). Positivity creates mental agility in both you and your counterpart.
”
”
Chris Voss (Never Split the Difference: Negotiating as if Your Life Depended on It)
“
It is unit tests that keep our code flexible, maintainable, and reusable. The reason is simple. If you have tests, you do not fear making changes to the code! Without tests every change is a possible bug.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
I remember once he began a speech to us by asking ‘What is the meaning of love?’ ” recalled Bob Skoronski. “And this is what he said. He said, ‘Anybody can love something that is beautiful or smart or agile. You will never know love until you can love something that isn’t beautiful, isn’t bright, isn’t glamorous. It takes a special person to love something unattractive, someone unknown. That is the test of love. Everybody can love someone’s strengths and somebody’s good looks. But can you accept someone for his inabilities?’ And he drew a parallel that day to football. You might have a guy playing next to you who maybe isn’t perfect, but you’ve got to love him, and maybe that love would enable you to help him. And maybe you will do something more to overcome a difficult situation in football because of that love. He didn’t want us to be picking on each other, but thinking, What can I do to make it easier for my teammate?
”
”
David Maraniss (When Pride Still Mattered: A Life Of Vince Lombardi)
“
A system that is comprehensively tested and passes all of its tests all of the time is a testable system. That’s an obvious statement, but an important one. Systems that aren’t testable aren’t verifiable. Arguably, a system that cannot be verified should never be deployed.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
If you can’t out-experiment and beat your competitors in time to market and agility, you are sunk. Features are always a gamble. If you’re lucky, ten percent will get the desired benefits. So the faster you can get those features to market and test them, the better off you’ll be. Incidentally, you also pay back the business faster for the use of capital, which means the business starts making money faster, too.
”
”
Gene Kim (The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win)
“
A child’s sense of secure attachment—this idea that I, in all my glory, as well as all my stinkiness and imperfection, am loved and accepted—allows him not only to take risks in the world but also to take risks with his own emotions. Knowing he will not be invalidated, rejected, punished, or shamed for feeling whatever he feels, he can test out sadness, happiness, or anger and figure out how to manage or respond to each of these emotions in turn.
”
”
Susan David (Emotional Agility: Get Unstuck, Embrace Change, and Thrive in Work and Life)
“
It is a myth that we can get systems “right the first time.” Instead, we should implement only today’s stories, then refactor and expand the system to implement new stories tomorrow. This is the essence of iterative and incremental agility. Test-driven development, refactoring, and the clean code they produce make this work at the code level.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
Code, without tests, is not clean. No matter how elegant it is, no matter how readable and accessible, if it hath not tests, it be unclean. Dave
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
It may seem like writing tests slows down development; in fact, testing does not cost, it pays, both during development and over the system’s lifecycle.
”
”
Mary Poppendieck (Lean Software Development: An Agile Toolkit: An Agile Toolkit (Agile Software Development Series))
“
The ultimate test of agility is whether you can keep all your stakeholders happy.
”
”
Jurgen Appelo (#Workout: Games, Tools & Practices to Engage People, Improve Work, and Delight Clients (Management 3.0))
“
It was fascinating to watch that agile mind trying one opening after another, testing and rejecting all the theories that Stormgren himself had abandoned long ago.
”
”
Arthur C. Clarke (Childhood's End)
“
Without tests every change is a possible bug. No
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
It appears evident that, for the average team, insisting on writing tests first, before functional coding, improves quality.
”
”
David J. Anderson (Kanban: Successful Evolutionary Change for Your Technology Business)
“
If a test in the same package needs to call a function or access a variable, we’ll make it protected or package scope.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build, and test.” —Ray Ozzie, CTO, Microsoft Corporation
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
The moral of the story is simple: Test code is just as important as production code. It is not a second-class citizen. It requires thought, design, and care. It must be kept as clean as production code.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
Try to write tests that force exceptions, and then add behavior to your handler to satisfy your tests. This will cause you to build the transaction scope of the try block first and will help you maintain the transaction nature of that scope.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
Clean code can be read, and enhanced by a developer other than its original author. It has unit and acceptance tests. It has meaningful names. It provides one way rather than many
ways for doing one thing. It has minimal dependencies, which are explicitly defined, and provides a clear and minimal API. Code should be
literate since depending on the language, not all necessary information can be expressed clearly in code alone.
-Dave Thomas, founder
of OTI, godfather of the
Eclipse strategy
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship)
“
A sound idea is a form of energy.
It can not be destroyed.
It evolves from inspiration, to a function of preparation, then determination - till the ideator's dream becomes actualized in real life
At the very least, success is a second iteration of the original, unscripted Idea
So your idea refinement process needs to be test-driven
Test
Determine on time if investment in terms of effort and time is worth it
Work Smart
Fail early, fail often,
Success lies on the paths yet to be treaded,
Open your mind,
Think Disruption,
Be Flexible
Be AGILE
I think this is an idea worth sharing
”
”
Eniitan Akinola
“
An adaptive development process has a different character from an optimizing one. Optimizing reflects a basic prescriptive Plan-Design-Build lifecycle. Adapting reflects an organic, evolutionary Envision-Explore-Adapt lifecycle. An adaptive approach begins not with a single solution, but with multiple potential solutions (experiments). It explores and selects the best by applying a series of fitness tests (actual product features or simulations subjected to acceptance tests) and then adapting to feedback.
”
”
Jim Highsmith (Agile Project Management: Creating Innovative Products)
“
■A good negotiator prepares, going in, to be ready for possible surprises; a great negotiator aims to use her skills to reveal the surprises she is certain to find. ■Don’t commit to assumptions; instead, view them as hypotheses and use the negotiation to test them rigorously. ■People who view negotiation as a battle of arguments become overwhelmed by the voices in their head. Negotiation is not an act of battle; it’s a process of discovery. The goal is to uncover as much information as possible. ■To quiet the voices in your head, make your sole and all-encompassing focus the other person and what they have to say. ■Slow. It. Down. Going too fast is one of the mistakes all negotiators are prone to making. If we’re too much in a hurry, people can feel as if they’re not being heard. You risk undermining the rapport and trust you’ve built. ■Put a smile on your face. When people are in a positive frame of mind, they think more quickly, and are more likely to collaborate and problem-solve (instead of fight and resist). Positivity creates mental agility in both you and your counterpart. There are three voice tones available to negotiators: 1.The late-night FM DJ voice: Use selectively to make a point. Inflect your voice downward, keeping it calm and slow. When done properly, you create an aura of authority and trustworthiness without triggering defensiveness. 2.The positive/playful voice: Should be your default voice. It’s the voice of an easygoing, good-natured person. Your attitude is light and encouraging. The key here is to relax and smile while you’re talking. 3.The direct or assertive voice: Used rarely. Will cause problems and create pushback. ■Mirrors work magic. Repeat the last three words (or the critical one to three words) of what someone has just said. We fear what’s different and are drawn to what’s similar. Mirroring is the art of insinuating similarity, which facilitates bonding. Use mirrors to encourage the other side to empathize and bond with you, keep people talking, buy your side time to regroup, and encourage your counterparts to reveal their strategy.
”
”
Chris Voss (Never Split the Difference: Negotiating as if Your Life Depended on It)
“
When applying agile practices at the portfolio level, similar benefits accrue: • Demonstrable results—Every quarter or so products, or at least deployable pieces of products, are developed, implemented, tested, and accepted. Short projects deliver chunks of functionality incrementally. • Customer feedback—Each quarter product managers review results and provide feedback, and executives can view progress in terms of working products. • Better portfolio planning—Portfolio planning is more realistic because it is based on deployed whole or partial products. • Flexibility—Portfolios can be steered toward changing business goals and higher-value projects because changes are easy to incorporate at the end of each quarter. Because projects produce working products, partial value is captured rather than being lost completely as usually happens with serial projects that are terminated early. • Productivity—There is a hidden productivity improvement with agile methods from the work not done. Through constant negotiation, small projects are both eliminated and pared down.
”
”
Jim Highsmith (Agile Project Management: Creating Innovative Products (Agile Software Development Series))
“
Plan-driven development works well if you are applying it to problems that are well defined, predictable, and unlikely to undergo any significant change. The problem is that most product development efforts are anything but predictable, especially at the beginning. So, while a plan-driven process gives the impression of an orderly, accountable, and measurable approach, that impression can lead to a false sense of security. After all, developing a product rarely goes as planned. For many, a plan-driven, sequential process just makes sense, understand it, design it, code it, test it, and deploy it, all according to a well-defined, prescribed plan. There is a belief that it should work. If applying a plan-driven approach doesn’t work, the prevailing attitude is that we must have done something wrong. Even if a plan-driven process repeatedly produces disappointing results, many organizations continue to apply the same approach, sure that if they just do it better, their results will improve. The problem, however, is not with the execution. It’s that plan-driven approaches are based on a set of beliefs that do not match the uncertainty inherent in most product development efforts.
”
”
Kenneth S. Rubin (Essential Scrum: A Practical Guide to the Most Popular Agile Process)
“
And so, when I tell stories today about digital transformation and organizational agility and customer centricity, I use a vocabulary that is very consistent and very refined. It is one of the tools I have available to tell my story effectively. I talk about assumptions. I talk about hypotheses. I talk about outcomes as a measure of customer success. I talk about outcomes as a measurable change in customer behavior. I talk about outcomes over outputs, experimentation, continuous learning, and ship, sense, and respond. The more you tell your story, the more you can refine your language into your trademark or brand—what you’re most known for. For example, baseball great Yogi Berra was famous for his Yogi-isms—sayings like “You can observe a lot by watching” and “When you come to a fork in the road, take it.” It’s not just a hook or catchphrase, it helps tell the story as well. For Lean Startup, a best-selling book on corporate innovation written by Eric Ries, the words were “build,” “measure,” “learn.” Jeff Patton, a colleague of mine, uses the phrase “the differences that make a difference.” And he talks about bets as a way of testing confidence levels. He’ll ask, “What will you bet me that your idea is good? Will you bet me lunch? A day’s pay? Your 401(k)?” These words are not only their vocabulary. They are their brand. That’s one of the benefits of storytelling and telling those stories continuously. As you refine your language, the people who are beginning to pay attention to you start adopting that language, and then that becomes your thing.
”
”
Jeff Gothelf (Forever Employable: How to Stop Looking for Work and Let Your Next Job Find You)
“
Let’s take the threshold idea one step further. If intelligence matters only up to a point, then past that point, other things—things that have nothing to do with intelligence—must start to matter more. It’s like basketball again: once someone is tall enough, then we start to care about speed and court sense and agility and ball-handling skills and shooting touch. So, what might some of those other things be? Well, suppose that instead of measuring your IQ, I gave you a totally different kind of test. Write down as many different uses that you can think of for the following objects: a brick a blanket This is an example of what’s called a “divergence test” (as opposed to a test like the Raven’s, which asks you to sort through a list of possibilities and converge on the right answer). It requires you to use your imagination and take your mind in as many different directions as possible. With a divergence test, obviously there isn’t a single right answer. What the test giver is looking for are the number and the uniqueness of your responses. And what the test is measuring isn’t analytical intelligence but something profoundly different—something much closer to creativity. Divergence tests are every bit as challenging as convergence tests, and if you don’t believe that, I encourage you to pause and try the brick-and-blanket test right now. Here, for example, are answers to the “uses of objects” test collected by Liam Hudson from a student named Poole at a top British high school: (Brick). To use in smash-and-grab raids. To help hold a house together. To use in a game of Russian roulette if you want to keep fit at the same time (bricks at ten paces, turn and throw—no evasive action allowed). To hold the eiderdown on a bed tie a brick at each corner. As a breaker of empty Coca-Cola bottles. (Blanket). To use on a bed. As a cover for illicit sex in the woods. As a tent. To make smoke signals with. As a sail for a boat, cart or sled. As a substitute for a towel. As a target for shooting practice for short-sighted people. As a thing to catch people jumping out of burning skyscrapers.
”
”
Malcolm Gladwell (Outliers: The Story of Success)
“
A great tide of civilization governs how humans do things. When that tide goes out, we centralize, establish command and control structures, and attempt to find efficiencies in large batches and long queues. When the water starts to come back in, we break down those structures, start to drive control down into the hands of 'common' folk, and attempt to find efficiencies in the quick decisions that get made by people closest to the problem. The tide is coming back in and will probably continue to ebb that direction for the lifespan of anyone alive at the time of this writing.
”
”
Max Guernsey III (Test-Driven Database Development: Unlocking Agility)
“
Agile is quite simple. The most popular Agile approach, Scrum, has just three roles, a handful of activities, and one major artifact: running tested software. That doesn’t mean Agile is easy. It’s still hard to decide what product would be desirable, and it’s still hard to write software that does what is asked for. It is, however, quite simple. Simplicity is the essence of what makes up Agility, as we described in our chapter on Value. So if Agile is simple, what about “Scaled Agile”?
”
”
Anonymous
“
Certified Scrum Developers have demonstrated through a combination of formal training and a technical skills assessment that they have a working understanding of Scrum principles and have learned specialized Agile engineering skills. This 3-5 day course provides hands-on instruction in the agile engineering practices. Engineering practices include agile architecture and design, test first approach, paired programming and behavior driven development.
”
”
Delight Learning
“
Here are some of the key lessons from this chapter to remember: ■A good negotiator prepares, going in, to be ready for possible surprises; a great negotiator aims to use her skills to reveal the surprises she is certain to find. ■Don’t commit to assumptions; instead, view them as hypotheses and use the negotiation to test them rigorously. ■People who view negotiation as a battle of arguments become overwhelmed by the voices in their head. Negotiation is not an act of battle; it’s a process of discovery. The goal is to uncover as much information as possible. ■To quiet the voices in your head, make your sole and all-encompassing focus the other person and what they have to say. ■Slow. It. Down. Going too fast is one of the mistakes all negotiators are prone to making. If we’re too much in a hurry, people can feel as if they’re not being heard. You risk undermining the rapport and trust you’ve built. ■Put a smile on your face. When people are in a positive frame of mind, they think more quickly, and are more likely to collaborate and problem-solve (instead of fight and resist). Positivity creates mental agility in both you and your counterpart.
”
”
Chris Voss (Never Split the Difference: Negotiating as if Your Life Depended on It)
“
If you are going to use automated testing and Continuous Integration (CI) to dramatically improve your productivity, you need to treat your testing investments as being at least as important, or even more important, than your development investments, which is a big cultural change for most organizations. In
”
”
Gary Gruver (Practical Approach to Large-Scale Agile Development, A: How HP Transformed LaserJet FutureSmart Firmware (Agile Software Development Series))
“
To have humans executing tests that should be automated is a waste of human potential.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
This includes the creation of automated build, integration, and test processes so that we can immediately detect when a change has been introduced that takes us out of a correctly functioning and deployable state.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
In addition to collecting telemetry from our production services and environments, we must also collect telemetry from our deployment pipeline when important events occur, such as when our automated tests pass or fail and when we perform deployments to any environment. We
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
We should also collect telemetry on how long it takes us to execute our builds and tests. By
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
all team members as well as passers-by can see the latest information at a glance: count of automated tests, velocity, incident reports, continuous integration status, and so on. This
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
every Facebook user was part of a massive load testing program, which
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
We cannot achieve deployments on demand if every code deployment requires two weeks to set up our test environments and data sets, and another four weeks to manually execute all our regression tests. The countermeasure is to automate our tests so we can execute deployments safely and to parallelize them so the test rate can keep up with our code development rate.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
the architecture that our services operate within dictates how we test and deploy our code. This
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Even high-profile product and feature releases become routine by using dark launch techniques. Long before the launch date, we put all the required code for the feature into production, invisible to everyone except internal employees and small cohorts of real users, allowing us to test and evolve the feature until it achieves the desired business goal.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Testing is done in scarce integration test environments, which often require weeks to obtain and configure. The
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
We cannot achieve deployments on-demand if we always have to wait weeks or months for production or test environments. The countermeasure is to create environments that are on demand and completely self-serviced, so that they are always available when we need them.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Contrast this to the more traditional model where Development and Test teams are assigned to a “project” and then reassigned to another project as soon as the project is completed and funding runs out. This leads to all sorts of undesired outcomes, including developers being unable to see the long-term consequences of decisions they make (a form of feedback) and a funding model that only values and pays for the earliest stages of the software life cycle—which, tragically, is also the least expensive part for successful products or services. ††
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Instead of merely documenting the specifications of the production environment in a document or on a wiki page, we create a common build mechanism that creates all of our environments, such as for development, test, and production. By doing this, anyone can get production-like environments in minutes, without opening up a ticket, let alone having to wait week.s
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Automated testing helps developers discover their mistakes quickly (usually within minutes), which enables faster fixes as well as genuine learning-learning that is impossible when mistakes are discovered six months later during integration testing, when memories and the link between cause and effect have long faded. Instead of accruing technical debt, problems are fixed as they are found, mobilizing the entire organization if needed, because global goals outweigh local goals.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
When Dev teams had problems with testing or deployment, they needed more than just technology or environments. What they also needed was help and coaching. At first, we embedded Ops engineers and architects into each of the Dev teams, but there simply weren’t enough Ops engineers to cover that many teams. We were able to help more teams with what we called an Ops liaison model and with fewer people.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
A new day has dawned. New Secondary Skills are unlocked: Strider’s Focus: You have grown closer to Nature and learned the basics of this skill without a trainer. Somatic Battle-Weaving: This skill has increased through extensive use without the need to allocate skill points to it. Equilibrium: This skill allows you to keep your balance and avoid effects that cause dizziness or disorientation. Suffer through more such effects to increase it. Blades: You have increased your knowledge of which techniques to use in which situations. He had little time to bask in the glory of his skill increases, as the true prize of level four awaited him: Focus Unlocked. At level 4, you may select a Focus for one of your Attributes. This Focus increases your effective score in that Attribute whenever the relevant trait is tested. For instance, Prowess(Strength) allows you better results when lifting heavy objects, but you receive no bonus for feats of agility (such as dodging attacks)
”
”
Gregory Blackburn (Unbound (Arcana Unlocked #1))
“
By speeding up flow through the technology value stream, we reduce the lead time required to fulfill internal or customer requests, especially the time required to deploy code into the production environment. By doing this, we increase the quality of work as well as our throughput and boost our ability to innovate and out-experiment the competition. The resulting practices include continuous build, integration, test, and deployment processes, creating environments on demand, limiting work in process (WIP), and building systems and organizations that are safe to change.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations)
“
QA and Acceptance Tests If QA has not already begun to write the automated acceptance tests, they should start as soon as the IPM ends. The tests for stories that are scheduled for early completion should be done early. We don’t want completed stories waiting for acceptance tests to be written.
”
”
Robert C. Martin (Clean Agile: Back to Basics (Robert C. Martin Series))
“
No matter how good their CAD tools are, eventually they must build and test the product in the physical world.
”
”
Katherine Radeka (When Agile Gets Physical: How to Use Agile Principles to Accelerate Hardware Development)
“
To survive in the race of life, you must have the strength and agility to stand the test of time”.
”
”
Abdulazeez Henry Musa
“
People, not methodologies or tools, make projects successful.
”
”
Lisa Crispin (Agile Testing: A Practical Guide for Testers and Agile Teams)
“
Lisa Crispin and Jane Gregory in their book Agile Testing: A Practical Guide for Testers and Agile Teams, (2009) describe the testing that should occur in agile projects along with the considerations, techniques, and roles involved in testing.
”
”
Gloria J. Miller (Going Agile Project Management Practices)
“
non-functional tests such as performance, security, reliability, inter-operability, scalability, etc.
”
”
Gloria J. Miller (Going Agile Project Management Practices)
“
Executives need to understand the basic challenges of their current architecture and work to improve it over time. The build process needs to support managing different artifacts in the system as independent entities. Additionally, a solid, maintainable test automation framework needs to be in place so developers can trust the ability to quickly localize defects in their code when it fails. Until these fundamentals are in place, you will have limited success effectively transforming your processes.
”
”
Gary Gruver (Leading the Transformation: Applying Agile and DevOps Principles at Scale)
“
This is the worst-case scenario for automated testing: where developers start ignoring the results of the tests because they assume it is a test issue instead of a code issue.
”
”
Gary Gruver (Leading the Transformation: Applying Agile and DevOps Principles at Scale)
“
Expect to create, architect, and maintain at least as much test code and automation scripts as you create production code. Soundly architected test code leads to soundly architected production code that is easy to understand and maintain.
”
”
Gary Gruver (Leading the Transformation: Applying Agile and DevOps Principles at Scale)
“
Most literature on the subject of agile methodology... is written from the viewpoint of software developers and programmers, and tends to place its main emphasis on programming techniques and agile project management—testing is usually only mentioned in the guise of unit testing and its associated tools. ...However, unit tests alone are not sufficient and broader-based testing is critical to the success of agile development processes.
”
”
Tilo Linz (Testing in Scrum: A Guide for Software Quality Assurance in the Agile World (Rocky Nook Computing))
“
To pass the time they invented a number of games including Knattleik, a ball game similar to hockey, which attracted both large crowds and frequent injuries. Several less violent board games did exist, but the Vikings primarily valued physical fitness.8 Their most popular activities were usually tests of strength – wrestling, sword fighting, and trying to dunk each other; endurance – climbing fjords, skiing, skating and distance swimming; or agility – throwing spears with both hands at the same time, or leaping from oar to oar outside the railing of a ship while it was being rowed.
”
”
Lars Brownworth (The Sea Wolves: A History of the Vikings)
“
Agile project management is a style of project management that focuses on early delivery of business value, continuous improvement of the project’s product and processes, scope flexibility, team input, and delivering well-tested products that reflect customer needs.
”
”
Mark C. Layton (Agile Project Management For Dummies)
“
Winners throw out the traditional product management and introduction processes they learned at existing companies. Instead, they combine agile engineering and Customer Development to iteratively build, test and search for a business model, turning unknowns into knowns. Winners also recognize their startup “vision” as a series of untested hypotheses in need of “customer proof.” They relentlessly test for insights, and they course-correct in days or weeks, not months or years, to preserve cash and eliminate time wasted on building features and products that customers don’t want.
”
”
Steve Blank (The Startup Owner's Manual: The Step-By-Step Guide for Building a Great Company)
“
For a company culture to change, the top executives must be on board with changing it. This means they must understand what the change means for them.
”
”
Janet Gregory (More Agile Testing: Learning Journeys for the Whole Team)
“
the Pentagon is hosting a $3.5 million, international competition that will pit robot against robot in an obstacle course designed to test their physical prowess, agility, and even their awareness and cognition.
”
”
Anonymous
“
If you are interested in reading more about testing, I recommend Agile Testing by Lisa Crispin and Janet Gregory (Addison-Wesley), which among other things covers the use of the testing quadrant in more detail.
”
”
Sam Newman (Building Microservices: Designing Fine-Grained Systems)
“
Because our goal is to enable small teams of developers to independently develop, test, and deploy value to customers quickly and reliably, this is where we want our constraint to be. High performers, regardless of whether an engineer is in Development, QA, Ops, or Infosec, state that their goal is to help maximize developer productivity.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Myth—DevOps Means Eliminating IT Operations, or “NoOps”: Many misinterpret DevOps as the complete elimination of the IT Operations function. However, this is rarely the case. While the nature of IT Operations work may change, it remains as important as ever. IT Operations collaborates far earlier in the software life cycle with Development, who continues to work with IT Operations long after the code has been deployed into production. Instead of IT Operations doing manual work that comes from work tickets, it enables developer productivity through APIs and self-serviced platforms that create environments, test and deploy code, monitor and display production telemetry, and so forth. By doing this, IT Operations become more like Development (as do QA and Infosec), engaged in product development, where the product is the platform that developers use to safely, quickly, and securely test, deploy, and run their IT services in production.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Just prior to the production push, all developers with changes going out must be present and check in on their IRC chat channel—any developers not present have their changes automatically removed from the deployment package. Rossi continued, “If everything looks good and our test dashboards and canary tests† are green, we push the big red button and the entire Facebook.com server fleet gets the new code delivered. Within twenty minutes, thousands and thousands of machines are up on new code with no visible impact to the people using the site.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
To achieve market orientation, we won’t do a large, top-down reorganization, which often creates large amounts of disruption, fear, and paralysis. Instead, we will embed the functional engineers and skills (e.g., Ops, QA, Infosec) into each service team, or provide their capabilities to teams through automated self-service platforms that provide production-like environments, initiate automated tests, or perform deployments.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Integration problems result in a significant amount of rework to get back into a deployable state, including conflicting changes that must be manually merged or merges that break our automated or manual tests, usually requiring multiple developers to successfully resolve.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
The Agile methodology, as it came to be known, emphasized collaboration, frequent testing, rapid iteration, and pushing decision making to whoever was closest to a problem.
”
”
Charles Duhigg (Smarter Faster Better: The Secrets of Being Productive in Life and Business)
“
Agile is a response to the need for more continuous software repair. Its central strategy is to reduce the size and increase the frequency of the design-develop-test lifecycle. Over time, Agile has discovered and incorporated several powerful techniques to remove noise from the iterative lifecycle. These
”
”
Jeff Sussna (Designing Delivery: Rethinking IT in the Digital Service Economy)
“
It used to be that developers rarely wrote tests. If tests were written at all, they were written by a separate QA team. However, one of the tenets of agile development is that testing should be tightly integrated with development, and programmers should write tests for their own code. This practice has now become widespread.
”
”
John Ousterhout (A Philosophy of Software Design)
“
One of the most important elements of agile development is the notion that development should be incremental and iterative. In the agile approach, a software system is developed in a series of iterations, each of which adds and evaluates a few new features; each iteration includes design, test, and customer input.
”
”
John Ousterhout (A Philosophy of Software Design)
“
These organizations are able to perform experiments to test business ideas, discovering which ideas create the most value for customers and the organization as a whole, and which are then further developed into features that can be rapidly and safely deployed into production.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations)
“
Part III describes how to accelerate flow by building the foundations of our deployment pipeline: enabling fast and effective automated testing, continuous integration, continuous delivery, and architecting for low-risk releases.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations)
“
Don’t underestimate the challenge of the Gauntlet, Mira. It’s designed to test your balance, strength, and agility. The times don’t matter for shit, only that you make it to the top. Reach for the ropes when you have to. Coming in last is better than coming in dead. —PAGE FORTY-SIX, THE BOOK OF BRENNAN
”
”
Rebecca Yarros (Fourth Wing (The Empyrean, #1))
“
Automated systems can allow mistakes, errors, and attacks to be propagated and multiplied in far more damaging ways than manual systems. As the DevOps comedy account @DevOpsBorat says, “To make error is human. To propagate error to all server in automatic way is #devops.” 2 Furthermore, automated tooling is fallible; and as we know so well in the security world, it can be easy for humans to begin to trust in the computer and stop applying sense or judgment to the results. This can lead to teams trusting that if the tests pass, the system is working as expected, even if other evidence might indicate otherwise.
”
”
Laura Bell (Agile Application Security: Enabling Security in a Continuous Delivery Pipeline)
“
here are some steps to identify and track code that should be reviewed carefully: Tagging user stories for security features or business workflows which handle money or sensitive data. Grepping source code for calls to dangerous function calls like crypto functions. Scanning code review comments (if you are using a collaborative code review tool like Gerrit). Tracking code check-in to identify code that is changed often: code with a high rate of churn tends to have more defects. Reviewing bug reports and static analysis to identify problem areas in code: code with a history of bugs, or code that has high complexity and low automated test coverage. Looking out for code that has recently undergone large-scale “root canal” refactoring. While day-to-day, in-phase refactoring can do a lot to simplify code and make it easier to understand and safer to change, major refactoring or redesign work can accidentally change the trust model of an application and introduce regressions.
”
”
Laura Bell (Agile Application Security: Enabling Security in a Continuous Delivery Pipeline)
“
Recent studies of recreational cyclists aged fifty-five to seventy-nine suggest they have the capacity to do everyday tasks very easily and efficiently because nearly all parts of their body are in remarkably good condition.15 The cyclists also scored high on tests measuring mental agility, mental health, and quality of life.
”
”
Sanjay Gupta (Keep Sharp: Build a Better Brain at Any Age)
“
1. Identify your core capabilities as a business. Can you define precisely what gives your company competitive advantage? How easily can it be imitated? How do you deliver value to your customers? Evaluate your business as a set of processes and capabilities. Be clear on the definition, and break down big processes into smaller functions and services. 2. Identify the services. Think through what the service, and the API for the service, might be. How do you make it a “black box”? In other words, how will you protect it from replication and theft? 3. Where’s your advantage? How would you offer best-in-class commercial terms? Commercial terms include cost, speed, availability, quality, flexibility, and features. 4. Can it be profitable? Would these commercial terms and capabilities be viable in the market? Would it be a viable profitable business for you? 5. Test and evaluate. You have a critical and fact-based understanding of your core capabilities, their gaps, and the potential benefit (or lack thereof) of a platform. Build your agile approach to testing, learning, and building value as you go.
”
”
John Rossman (Think Like Amazon: 50 1/2 Ideas to Become a Digital Leader)
“
We hear all the time about how important it is to be physically fit. Our society has become ultra-focused on fitness and health. Our Facebook feeds are filled with seven-minute workouts. There are YouTube videos galore on seven days to rock-hard abs. The radio plays ads to lose ten pounds in ten days, but only if you call in the next ten minutes.
Even the president told us to be physically fit. Remember the Presidential Physical Fitness Test in elementary school? A quick shuttle run, the dreaded flexed arm hang. It tested strength, endurance, flexibility, and agility. All different ways to prove we were physically fit. Or not.
As a matter of fact, Americans now spend more on fitness than on college tuition.1 Over a lifetime, the average American spends more than $100,000 on things like gym memberships, supplements, exercise equipment, and personal training.2 Seems shocking, right?
But where are the training programs for the thoughts in your head? Those thoughts that tell you that you have no choices when bad things happen. Those thoughts that try to convince you everything is out of your control in difficult situations. Where do you go if you want to be Thoughtfully Fit?
Right here in this book.
”
”
Darcy Luoma (Thoughtfully Fit: Your Training Plan for Life and Business Success)
“
Without automated testing, continuous integration is the fastest way to get a big pile of junk that never compiles or runs correctly.
”
”
Gene Kim (The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations)
“
Anyone contemplating it has to pass F. Scott Fitzgerald’s famous test of a first-rate intelligence: “the ability to hold two opposed ideas in the mind at the same time and still retain the ability to function.
”
”
Darrell Rigby (Doing Agile Right: Transformation Without Chaos)
“
Examples of slowification practices: using mock-ups, prototypes, simulations, scale model tests, offline problem-solving, land-based models, etc. §§ Examples of simplification practices: simple workflows, agile software development, modularization, just-in-time, pull systems, etc. ¶¶ Examples of amplification practices: stress tests, andon cords, smoke detectors, etc. to flag problems sooner rather than later.
”
”
Gene Kim (Wiring the Winning Organization: Liberating Our Collective Greatness through Slowification, Simplification, and Amplification)
“
Agile software teams solve the problems with waterfall by building their software incrementally, making only the decisions around the specific work packages they’ve chosen to complete in a sprint. They delay even the decisions about which work packages or user stories to implement, choosing them out of a backlog at the start of each sprint. They get immediate feedback, first from their own tests and then from the users at a Demo to validate their decisions.
”
”
Katherine Radeka (When Agile Gets Physical: How to Use Agile Principles to Accelerate Hardware Development)
“
Actions for Impact If you’re interested in working on your rethinking skills, here are my top thirty practical takeaways. I. INDIVIDUAL RETHINKING A. Develop the Habit of Thinking Again 1. Think like a scientist. When you start forming an opinion, resist the temptation to preach, prosecute, or politick. Treat your emerging view as a hunch or a hypothesis and test it with data. Like the entrepreneurs who learned to approach their business strategies as experiments, you’ll maintain the agility to pivot.
”
”
Adam M. Grant (Think Again: The Power of Knowing What You Don't Know)
“
The difficulty is that culture is unwritten and unstated. For the Agile team to use culture as a guide to what is valued by the business, it must excavate, deduce, hypothesize, and test. One thing that it cannot do is to try to rip out the existing culture and replace it with a “more Agile” one. Corporate culture is not an impediment to Agile adoption; it is a valuable clue to defining the success of Agile adoption.
”
”
Mark Schwartz (The Art of Business Value)
“
To do Agile right, you had to work in pairs, write tests first, refactor, and commit to simple designs. You had to work in short cycles, producing executable output in each. You had to communicate with business on a regular and continuous basis.
”
”
Robert C. Martin (Clean Agile: Back to Basics)
“
Mayer-Salovey-Caruso Emotional Intelligence Test (MSCEIT) – ability model Swinburne University Emotional Intelligence Test (SUEIT) – trait model EQ-I – trait model Schutte EI – trait model Emotional Competency Inventory – mixed model Emotional Intelligence Appraisal – mixed model
”
”
Glenn Cummings (Emotional Intelligence: The Most Complete Blueprint to Develop And Boost Your EQ. Improve Your Social Skills, Emotional Agility and Discover Why it Can Matter More Than IQ. (EQ Mastery 2.0))
“
Until recently, a mindless cult of acceleration led by numerous business “gurus” in the United States urged companies to “Be first! Be agile! Shoot now, aim later!” This simplistic advice led to the launch of many low-quality, poorly tested products; angry customers; unhappy investors; a loss of strategic focus; and a high turnover of CEOs. It ignored the problems of synchronization and de-synchronization. It was a superficial way of dealing with the deep fundamental of time.
”
”
Alvin Toffler (Revolutionary Wealth)
“
There must be another way,” she said. “I cannot possibly climb up there.”
“Those who wish to visit Il Sangue di Mezzanotte must follow the trail,” the man said.
The Blood of Midnight, Cass thought. Lovely. And then she said, “What trail?”
With one foot in front of the other, the man with the scars maneuvered his way up the rocks with impossible agility. He stopped halfway and looked down at Cass. “It is just like a staircase,” he said.
Gingerly, Cass tested her foot on the closest stone. It shifted slightly beneath her weight and she almost tumbled backward. “I can’t believe I’m doing this,” she grumbled.
“You can make it, Signorina Cassandra,” Maximus said. “Be the woman who broke her fiancé out of the Doge’s dungeons.”
The man’s eyebrows lifted slightly, but if he was surprised at this, he didn’t comment.
”
”
Fiona Paul (Starling (Secrets of the Eternal Rose, #3))
“
The Flynn effect is most visible on IQ tests that measure a more computational type of mental agility
”
”
Susan A. Greenfield (Mind Change: How Digital Technologies Are Leaving Their Mark on Our Brains)
“
Code at the boundaries needs clear separation and tests that define expectations. We should avoid letting too much of our code know about the third-party particulars. It’s better to depend on something you control than on something you don’t control, lest it end up controlling you.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))