Clean Agile: Back to Basics

By Robert C. Martin

Location: 32143728

Use it for all it’s worth, evangelize it to the others in your sphere of influence, and reclaim the original goal, the goal you and practically everyone you’ve ever worked with have longed for, talked about, and probably given up on.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32143716

Say what you will about religion, but the best adherents to it are those who make the effort to understand what they believe, beyond just believing what they are told.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32143605

So while we await the Next Big Thing that the next generation will reveal to us, let’s take a minute to reassess where we are and what we have to work with at present.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32143411

Ask the developers in an “Agile organization” what Agile is, and you’ll likely get a very different answer than if you ask anyone beyond the level of a software development manager

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32141525

There is a difference between having a job and having a profession

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32141491

Every time developers volunteer details of how they work, they are inviting managers to micromanage them.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32141453

The problem here is that we are offering a solution before agreeing on the problem

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32141447

FOCUS ON THE VALUE, NOT THE PRACTICE

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32141417

The goal is to teach a child to ride a bicycle, not to adopt the training wheels.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32141380

SOFTWARE CRAFTSMANSHIP

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32141241

Over the years, developers started seeing Agile coaches as another layer of management: people telling them what to do instead of helping them to get better at what they do.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32104903

balancing flexibility and robustness with the need to deploy software to production continuously is extremely hard and cannot be done without the necessary engineering skills.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32104657

Good collaboration removes some of the blocks people have to do their jobs but does not necessarily make them more skilled.

There is a

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32103569

Daily standup meetings become meetings where developers must report progress to product owners and Agile coaches, detailing what they are working on and when they will be done

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32103555

Agile coaches with neither business nor technical experience are coaching managers and telling development teams what to do. Roadmaps and milestones are being defined by managers and forced upon development teams—developers can estimate the work, but they are pushed hard to fit their estimates into the imposed milestones.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32093197

But as in a Chinese whispers game, the original Agile ideas got distorted and simplified, arriving at companies as the promise of a process to deliver software faster

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32092173

Here are some of the practices that are generally associated with team-level Agile that do double duty as enablers of multiteam coordination.

~ Clean Agile: Back to Basics, Robert C. Martin

Solid, small stories, small iterations, simple design

Location: 32092151

Agility in the large is very high levels of Agility at the team level and very low levels of complexity everywhere.

~ Clean Agile: Back to Basics, Robert C. Martin

!

Location: 32092137

Portfolio Kanban sets work in progress limits at the initiative level in order to ensure that the organization is focused on the highest-value work at all times

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32091969

aligning iteration start and stop times as well as iteration length. Teams that don’t use iterations and are able to release on demand can align with any other cadence.

~ Clean Agile: Back to Basics, Robert C. Martin

For teams that don't work the same processes

Location: 32091916

making the work visible (via a card wall), limiting work in progress, and pulling work through the system.

~ Clean Agile: Back to Basics, Robert C. Martin

Practices of kanban

Location: 32091912

short daily team meetings, a product owner, a process facilitator (aka Scrum Master), retrospectives, a cross-functional team, user stories, small releases, refactoring, writing tests first, and pair programming

~ Clean Agile: Back to Basics, Robert C. Martin

Practices of scrum

Location: 32091844

For instance, rather than adopting Scrum, Kanban, XP, or one of the scaling frameworks, consider which single practice from the list below is most relevant to a current need for a defined group or team, and adopt that.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32091636

Coaching alone is not enough; teaching and mentoring will also come into play so that people will be able to make informed decisions.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32077447

at the team and organizational levels means helping teams achieve their goals on their own

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32077324

Unfortunately, a common pattern of Agile adoption in large organizations is to treat the adoption like a traditional project. That is, a top-down command and control rollout of a huge number of changes decided on as part of an up-front design

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32077311

There is a growing body of coaching tools. Many of them can be found at tastycupcakes.org, retromat.org, and liberatingstructures.com.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32077296

Coaching Agile Teams

~ Clean Agile: Back to Basics, Robert C. Martin

Book

Location: 32077282

Coaching helps people discover the blind spots and surface the underlying beliefs that keep them from moving forward.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32077201

Becoming Agile involves revisiting entrenched beliefs, culture, process, thinking, and ways of working

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32077176

Ironically, executives are also often driven by the risk-taking, direct, communicative values of Agile. This is one of the reasons they try to transition their organizations.

The barrier is the management layer in the middle. These folks were hired to not take risks, to avoid directness

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32055161

Agile as an algorithm for finding the highest-value-producing features in the market and then turning them into revenue faster.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32013680

Given the current state of most ALM tools, it may be safer and smarter to begin with physical tools

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32013587

tool has replaced interactions of individuals with automated status reporting

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32013547

ALM tools utterly fail at being grea

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32010421

You don’t want to get locked into other people’s process flows

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32010413

Workers use and control tools; tools don’t control and use people.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32010406

Once you own a tool, the path of least resistance is to do whatever the tool provides regardless of whether it meets the team’s needs.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32010369

physical tools is that they’re not very effective for distributed teams, o

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32010363

information radiators

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32010353

exapted (used effectively in ways the originators hadn’t intended).

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32009465

A good tool should feel comfortable in your hands and not make you queasy with the dread of having to use it

~ Clean Agile: Back to Basics, Robert C. Martin

!

Location: 32009458

Git is its ability to make you feel safe

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32009412

Software Tools

~ Clean Agile: Back to Basics, Robert C. Martin

Hand tools

Location: 32009400

This mastery allows them to focus on the craft itself—the delicate shaping of a high-quality piece of furniture, for example—rather than the tool. Without mastery, a tool becomes an impediment to delivery, and a poorly used tool can even cause harm to the project and its operator.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32009301

you just read is my opinion

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32009271

use standard management and operations research techniques to manage those teams

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32009255

ng. Organizing large teams is a matter of organizing them into small teams

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32009239

I am always frustrated when people ask me how to apply Agile to hardware, construction, or some other task. My answer has always been that I don’t know, because Agile is about software

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 32009186

Software is like mathematics, except that nothing can be proven.

~ Clean Agile: Back to Basics, Robert C. Martin

Uh

Location: 32009136

Large teams are a solved problem.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992473

The Agile certifications that exist are a complete joke and an utter absurdity.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992470

see Scrum Masters who are not coaches at all but are simply project manage

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992464

led to the role of the coach to be conflated with the role of the project manager

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992313

Agile coaches are not trainers. They are members of the team whose role is to defend the process within the team

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992273

Their goal is to inculcate the Agile values and teach the Agile disciplines. Their tenure should be short. Eac

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992203

Does an Agile team need a coach? The short answer is “No.” The longer answer is “Sometimes.”

First, we need to

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992174

Rather than fighting a futile battle with the middle managers, these teams put a layer on top of Agile that makes Agile look safe and conformant to the middle managers.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992077

TRANSFORMATION

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992053

The value structures are just too different for the middle-management layer to accept

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31992031

risk-taking, rapid-feedback, intense, high-bandwidth communication between people that ignores barriers and command structures. They also focus on moving in straight and direct lines rather than mapping out and negotiating the landscape. These values are diametrically opposed to the values of large organizations who have invested heavily in middle-management structures

~ Clean Agile: Back to Basics, Robert C. Martin

!

Location: 31991958

adopted the outer business ring and have found themselves in the trap that Martin Fowler has labeled “Flaccid Scrum.”

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31991953

adopt the full Circle of Life, including, and most especially, the technical practices

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31991888

Simplicity is directness—directness in the code, and directness in communication and behavior

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31991863

you recognize a problem but silently allow it to pass to someone else, you are engaging in indirection

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31991751

provide massive education about the consequences of earlier decisions.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31991607

The programmers, customers, testers, and managers want to sit near each other and interact with each other frequently, and not just in the context of meetings. Not just through emails, chat, and memos. Rather, they value face-to-face, informal, interpersonal conversation

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31978123

Kent Beck named the four values of Agile long ago. They are courage, communication, feedback, and simplicity.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31978118

—or, in other words, a reasonable degree of risk-taking

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31978054

studies have indicated that the direct cost might be about 15%

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31978049

We pair so that we behave like a team. The members of a team do not work in isolation from each other

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31978044

Over the course of a week, each programmer will spend about half of their pairing time on their own tasks, recruiting the help of several others. The other half of their pairing time will be spent helping others with their tasks.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977925

Kent Beck’s rules of Simple Design are as follows:

Pass all the tests.

Reveal the intent.

Remove duplication.

Decrease elements.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977920

Red/Green/Refactor

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977903

Sometimes the requirements change in such a way that you realize the current design and architecture of the system is suboptimal, and you need to make a significant change to the structure of the system. Such changes are made within the Red/Green/Refactor cycle. We do not create a project specifically to change the design. We do not reserve time in the schedule for such large refactorings. Instead, we migrate the code one small step at a time, while continuing to add new features during the normal Agile cycle

~ Clean Agile: Back to Basics, Robert C. Martin

!

Location: 31977872

Bigger Refactorings

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977867

This makes it clear that refactoring is a continuous process, and not one that is performed on a scheduled basis. We don’t make a huge mess for days and days, and then try to clean it up. Rather, we make a very small mess, over a period of a minute or two, and then we clean up that small mess.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977864

The word Refactoring should never appear on a schedule. Refactoring is not the kind of activity that appears on a plan. We do not reserve time for refactoring. Refactoring is simply part of our minute-by-minute, hour-by-hour approach to writing software

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977840

Courage

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977838

the whole system will be decoupled.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977819

Don’t let it become a management metric.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977790

have created test suites that are so complete that they allow the deployment decision to be made.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977780

And since you have left holes in the test suite, you suspect everyone else has, too.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977779

Completeness

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977760

Debugging

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977755

Do not write any production code until you have first written a test that fails due to the lack of that code.

Do not write more of a test than is sufficient to fail—and failing to compile counts as a failure.

Do not write more production code than is sufficient to pass the currently failing test.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977710

Test-Driven Development is the corresponding practice for programmers. Every required behavior is entered twice: once as a test, and then again as production code that makes the test pass. The two entries are complementary, just as assets are complementary to liabilities and equities.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31977702

This practice is so essential to the proper accounting of monies that it has become law in virtually all parts of the world

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31931809

Without TDD, Refactoring, Simple Design, and yes, even Pair Programming, Agile becomes an ineffective flaccid shell of what it was intended to be.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31905562

gist is that only developers should speak at the standup. Managers and other folks may listen in but should not interject.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31905111

A broken build is a Stop the Presses event.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31903051

No one owns the code in an Agile project. The code is owned by the team as a whole.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31903008

first hour of insufficient sleep costs me two hours of daytime wor

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31902421

Working overtime is not a way to show your dedication to your employer. What it shows is that you are a bad planner, that you agree to deadlines to which you shouldn’t agree, that you make promises you shouldn’t make, that you are a manipulable laborer and not a professional

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31902039

Managers may ask you to run faster than you should. You must not comply. It is your job to husband your resources to ensure that you endure to the end.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31901661

software project is a marathon, not a sprint, nor a sequence of sprints. In order to win, you must pace yourself.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31885117

On the seventh day, God rested. God later made it a commandment to rest on the seventh day. Apparently even God needs to run at a Sustainable Pace.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31885067

Ubiquitous Language, which is the name that should have been given to the Metaphor

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31885057

metaphor can provide a vocabulary that allows the team to communicate efficiently. On the other hand, some metaphors are silly to the point of being offensive to the customer.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884992

Ownership, and Continuous Integration.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884990

The practices we will discuss are Metaphor, Sustainable Pace, Collective

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884973

team composed of people who work almost entirely from home will never work as well as a team that is co-located.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884956

Can an Agile team work this way? I’ve heard that it is possible. I’ve never seen it done successfully. Perhaps you have.

~ Clean Agile: Back to Basics, Robert C. Martin

Distributed

Location: 31884916

Whole Team in order to make it clear that a development team was not simply a customer/programmer dyad. Instead, a development team is composed of many roles including managers, testers, technical writers, etc.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884906

In Scrum, the customer is called the Product Owner

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884849

Moving QA to the beginning and automating the tests solves another huge problem. When QA operates manually at the end, they are the bottleneck.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884812

QA’s role is to write the unhappy paths. There are a lot more of them than there are of the former. QA folks are hired for their ability to figure out how to break the system

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884743

So what is a specification? A specification is, by its very nature, a test

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884718

To do this, the organization will need to break the coupling between release and deployment

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884626

velocity chart shows a consistent negative slope, then the most likely cause is the quality of the code.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884615

The lesson here is that velocity is a measurement not an objective. It’s control theory 101: don’t put pressure on the thing you are measuring.

~ Clean Agile: Back to Basics, Robert C. Martin

!

Location: 31884568

we don’t want to end the iteration with two half-done stories when we could have sacrificed one story in order to get the other one done.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884544

The definition of “done” is this: acceptance tests pass.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884432

you write a new story called Estimate Print PDF.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884356

cleanup is never a story.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884347

The story must have clear and quantifiable value to the business.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884293

The project is over when there are no more stories in the deck worth implementing

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884266

Think of the iteration cycle as a pump that pumps the ROI out of that deck.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31884242

Iterations do not fail. The purpose of an iteration is to generate data for managers.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31794343

the completed stories only add up to 10 points. With only a week left, it’s not likely that they are going to get 20 more points done. So the stakeholders remove enough stories from the plan to reduce the remaining points to 10.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31775531

velocity is not a commitment. The team is not making a promise to get 30 points done during the iteration. Th

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31775513

the Law of Large Numbers

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31775510

These numbers are vague, fuzzy, imprecise things that do not relate directly to real time.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31775457

This rejection of detail is a discipline.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31775387

story point technique deals with accuracy and precision by using a very tight feedback loop that iteratively calibra

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31775366

(PERT).1

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31775282

The imprecision of an accurate estimate denotes a range of time within which the estimated event will almost certainly occur.

~ Clean Agile: Back to Basics, Robert C. Martin

Precision and accuracy

Location: 31775258

The more imprecision, the less time the estimate will take

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31775255

Therefore an estimate is, by definition, imprecise.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749510

Planning, Small Releases, Acceptance Tests, and Whole Team

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749504

Agile is not a process. Agile is not a fad. Agile is not merely a set of rules. Rather, Agile is a set of rights, expectations, and disciplines of the kind that form the basis of an ethical profession.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749489

Developers have the right to make and update their own estimates.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749447

Developers have the right to do good work. The business has no right to tell developers to cut corners or do low-quality work

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749425

that the schedule is in jeopardy

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749422

customers do not have the right to demand conformance to the schedule. Their right is limited to managing the schedule by changing the scope.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749410

probability-based plan becaus

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749392

Many people have claimed that up-front planning is not part of Agile development. The very first customer right belies that claim.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749378

THE BILL OF RIGHTS

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749330

I expect you to keep learnin

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749321

I expect that, no matter how much schedule pressure you feel, no matter how many managers are demanding results, you will say “no” when the answer really is “no.”

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749301

So I expect you to provide estimates based on what you do and don’t know.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749292

I expect that the members of each software team will cover for each other

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749277

manual tests are expensive and so are always a target for reduction.

However, there is a mo

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749243

Customers, users, and managers expect fearless competence. They expect that if you see something wrong or dirty, you will fix and clean it.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749234

The design and architecture of a software system should get better with time.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749162

a change to the requirements breaks your architecture, then your architecture sucks.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31749117

they expect that a feature similar to one that took two weeks at the start of a project will take two weeks a year later. They expect productivity to be stable over time.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31744667

From the point of view of the business and the customers, continuous technical readiness is simply expected

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31744599

If the system is technically ready to deploy at the end of every iteration, then deployment is a business decision, not a technical decision

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31744515

It is perfectly reasonable for our managers, customers, and users to expect that we will provide systems for them that are high in quality and low in defect

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31744390

Meeting these expectations is one of the primary goals of Agile development

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31744359

hoped then, as I hope today, that the disciplines of Agile software development would be our first step toward turning computer programming into a true and honorable profession.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31744189

virtually nothing of significance can be done without interacting with a software system

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31722450

We in this industry sorely need to increase our professionalism

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31722444

professionalism and the reasonable expectations of our customers.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31689209

Agile is a process wherein a project is subdivided into iterations. The output of each iteration is measured and used to continuously evaluate the schedule. Features are implemented in the order of business value so that the most valuable things are implemented first. Quality is kept as high as possible. The schedule is primarily managed by manipulating scope.

That’s Agile.

~ Clean Agile: Back to Basics, Robert C. Martin

Definition of agile

Location: 31689196

at the beginning of each iteration, we are going to ask the stakeholders which features to implement next

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31689178

although the stakeholders have the moral high ground in this argument, the programmers have the data. And in any rational organization, the data will win.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31689162

Producing crap does not make you go faster, it makes you go slower. This is the lesson you learn after you’ve been a programmer for 20 or 30 years. There is no such thing as quick and dirty. Anything dirty is slow.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31689159

let’s assume that staff can’t be increased.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687413

Managers do this by making changes to the scope, the schedule, the staff, and the quality.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687403

Iron Cross of project management: good, fast, cheap, done.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687400

data to drive the project to the best possible outcome.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687399

Agile produces lots of data. Managers use that

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687380

Some folks think that Agile is about going fast. It’s not. It’s never been about going fast. Agile is about knowing, as early as possible, just how screwed we are

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687375

And Agile is a way to provide an early and continuous dose of cold, hard reality as a replacement for hope.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687370

Hope is a very bad way to manage a software project

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687356

new date is based upon real data, so it should not be ignored. It also can’t be taken too seriously yet

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687331

. In an Agile project, we are always analyzing and designing.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687296

We’re going to do the thing that didn’t work, and do a lot more of it.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687259

If only we could just say we were done with implementation. But we can’t, because the thing about implementation is that is actually has to be done. Analysis and design are not binary deliverables

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687247

we just sort of hack these changes into the design

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687244

It’s September 1, and we are done with the design.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687224

The best definition of analysis is: It’s what analysts do

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687214

We’ve got a new project,” the big boss says. “It’s got to be done November first. We don’t have any requirements yet. We’ll get them to you in the next couple of weeks.”

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31687169

Without data, the project cannot be managed.19

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31684544

not actually the charts that matter. What matters is the data.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31684305

Agile provides data

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31649305

Pick any three you like. You can’t have the fourth. You can have a project that is good, fast, and cheap, but it won’t get done. You can have a project that is done, cheap, and fast, but it won’t be any good

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31649286

Iron Cross of project management. Good, fast, cheap, done

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31649253

Hope and prayer are popular among those managers who believe that there are gods who govern the fate of software projects. Those who don’t have such faith often fall back on motivational techniques such as enforcing dates with whips, chains, boiling oil, and pictures of people climbing rocks and seagulls flying over the ocean.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31649223

the time was ripe, and that if the 17 of us hadn’t met on that mountain in Utah, some other group would have

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31649164

This is the central idea of the Agile Manifesto, and no one seems to remember clearly who first put it on the board. I seem to recall that it was Ward Cunningham. But Ward believes it was Martin Fowler.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31649133

that was my sole contribution to the meeting

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31649032

Martin and I met in the fall of 2000 at a coffee shop near the ThoughtWorks office where he worked. I described to him my idea to get all the competing lightweight process advocates together to form a manifesto of unity.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31648997

The more I read about XP, the more fascinated I was.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31645961

We simply could not conceive of a different way to work

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 31645940

It was inconceivable6 that the problem lay in that strategy. The problem had to lie with us. Somehow, we were doing it wrong.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 25975155

increased changeability for APIs doesn’t come for free.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 25975143

it’s usually a bad idea to use the same model for your interface, code, and data

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 25975137

The best API products have interface models that are consistent across the entire surface.

~ Clean Agile: Back to Basics, Robert C. Martin

DDD

Location: 25975116

API change management isn’t easy, but it is necessary. It’s also liberating. If you weren’t allowed to change your deployed API, your initial release would be much more difficult.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 25939672

Using design thinking to make sure you know your audience and understand their problems

Focusing on customer onboarding as a way to quickly show customers how they can succeed with your product

Investing in providing a developer experience for managing the post-release lifecycle of your product and gaining insights for future modifications

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 25939619

viable business strategy for your API product. It doesn’t make sense to invest a lot of time and money in an API product that has little to no return value.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 25939439

Design thinking in order to make sure you know your audience and understand their problems

Customer onboarding as a way to quickly show customers how they can succeed with your product

Developer experience for managing the post-release lifecycle of your product and to gain insights for future modifications.

~ Clean Agile: Back to Basics, Robert C. Martin

Location: 25938975

Keep in mind that governance always has a cost. Constraints need to be communicated, enforced, and maintained. Rewards that shape decision-making behavior need to be kept valuable and attractive to your audience. Standards, policies, and processes need to be documented, taught, and kept up to date.

~ Clean Agile: Back to Basics, Robert C. Martin