Studies
back to Dave Hoover

One of the characteristics of a postmodern computer language is that it puts the focus not so much onto the problem to be solved, but rather onto the person trying to solve the problem. --Perl, the first postmodern computer language, Larry Wall

I think that the cutting edge of free software will belong to people who start from individual vision and brilliance, then amplify it through the effective construction of voluntary communities of interest. --The Cathedral and the Bazaar, Eric Raymond

To the extent that the protocols of the World Wide Web remain "unowned" by a single company, the Web will remain a level playing field for companies large and small. Thus, "ownership" of the protocol must be prevented, and the existence of a robust reference implementation of the protocol, available absolutely for free to all companies, is a tremendously good thing. --Why Apache is Free

It's never the size of the step that a person takes that counts, but its direction. --Narrative Means to Therapeutic Ends, Michael White & David Epston

Be a dreamer. If you don't know how to dream, you're dead. --Jim Valvano

Know what you see, don't see what you know. --Addie Fuhriman

Husbands, love your wives, just as Christ loved the church and gave himself up for her. --Ephesians 5:25

We can't take any credit for our talents. It's how we use them that counts. --A Wrinkle in Time, Madeleine L'Engle

"The third thing that I learned was that you, my Lord, never regarded me as I actually was, lame and weak and crooked and cowardly. You saw me as I would be when you had done what you promised and had brought me to the High Places, when it could be truly said, 'There is none that walks with such a queenly ease, or with such grace, as she.' You always treated me with the same love and graciousness as though I were a queen already and not wretched little Much-Afraid." Then she looked up into his face and for a little time could say no more, but at last she added, "My Lord, I cannot tell you how greatly I want to regard others in the same way." --Hinds' Feet on High Places, Hannah Hurnard

I know why God left this aching void - for himself to fill. --Practicing His Presence, Frank Laubach

What a stupid world this would be if one never did anything different for fear of criticism! --Practicing His Presence, Frank Laubach

True greatness is measured by how much freedom you give to others, not by how much you can coerce others to do what you want. I remember praying a prayer when I was very young...``God is great. God is good. Let us thank him for our food. Amen.'' Well, I'm here to say amen to that. God's greatness and goodness are measured by the fact that he gives us choices. He doesn't require us to thank him for our food. (In case you hadn't noticed.) God is not a Modernist. He doesn't view us as nails. God expects us to behave like carpenters. Indeed, he gave us a carpenter as an example. --Perl, the first postmodern computer language, Larry Wall

How can there be too many children? That's like saying there's too many flowers. --Mother Theresa

I think God put me here for a reason. I remember walking down the halls in my high school and getting this tremendous sense of destiny. Like I was supposed to do something really great. It was a really weird feeling. I feel like if I have an accurate view of myself, it frees me to be both humble and a megalomaniac at the same time. --FEEDmag's hacker interview series, Larry Wall

As God's chosen, blessed sons and daughters, we are expected to attempt something large enough that failure is guaranteed...unless God steps in...You do not become great; you become dependent on the strong hand of God. --The Prayer of Jabez, Bruce Wilkinson

The things you own end up owning you. --Fight Club, Tyler Durden

He is no fool who gives what he cannot keep, to gain what he cannot lose. --Jim Elliot

Instead of spreading hate, ignorance and a narrow-minded social agenda why doesn't the christian right go out and spread mercy, compassion, and selflessness? --Moby

If you can't tolerate being a public fool, you're not going to succeed in a role where all your actions are studied in detail... --Becoming a Technical Leader, Gerald Weinberg

You'll never accomplish anything if you care who gets the credit. --The Secrets of Consulting, Gerald Weinberg

Being able to see what's missing in ourselves is the only possible way to keep us from looking more ridiculous than we really are. --The Secrets of Consulting, Gerald Weinberg

When you're not terribly smart, it helps to be a good listener. --The Secrets of Consulting, Gerald Weinberg

I go to great lengths to keep my life hassle-free. --The Secrets of Consulting, Gerald Weinberg

The chances of solving a problem decline the closer you get to finding out who was the cause of the problem. --The Secrets of Consulting, Gerald Weinberg

People who can solve problems do lead better lives. But people who can ignore problems, when they choose to, live the best lives. If you can't do both, stay out of consulting. --The Secrets of Consulting, Gerald Weinberg

Each of us, after all, is the direct descendant of innumerable unbroken lines of survivors. --The Secrets of Consulting, Gerald Weinberg

The problem isn't change, per se, because change is going to happen; the problem, rather, is the inability to cope with change when it comes. --Extreme Programming Explained, Kent Beck

Programming is the Great Game. It consumes you, body and soul. When you're caught up in it, nothing else matters. --How Software Companies Die, Orson Scott Card

As soon as a person stops practicing, her mastery fades. Hence, beginners are apprenticed to a craft, because people cannot afford to take time away from their craft to teach others. --Software Craftsmanship, Pete McBreen

People master a craft because they care enough about the craft to make the effort. --Software Craftsmanship, Pete McBreen

Mastery has never been a case of finding the "one best way," but rather a journey of discovery in which new insights are possible, even in the most mundane of tasks. --Software Craftsmanship, Pete McBreen

Many microscopic changes can produce a very large effect in unison. --Agile Software Development, Alistair Cockburn

I long to accomplish a great and noble task, but it is my chief duty to accomplish humble tasks as though they were great and noble. The world is moved along not only by the mighty shoves of its heroes, but by the aggregate of the tiny pushes of each honest worker. --Helen Keller

The phenomenon of communication does not depend on what is transmitted, but on what happens to the person who receives it. --Agile Software Development, Alistair Cockburn

...Language marks the co-ordinates of my life in society and fills that life with meaningful objects. --The Social Construction of Reality, Peter Berger and Thomas Luckman

...As long as my friend Henry is available in the plentitude of expressivity of the face-to-face situation, he will constantly break through my type of anonymous Englishman and manifest himself as a unique and therefore atypical individual. --The Social Construction of Reality, Peter Berger and Thomas Luckman

Language provides me with a ready-made possibility for the ongoing objectification of my unfolding experience. --The Social Construction of Reality, Peter Berger and Thomas Luckman

My knowledge of everyday life has the quality of an instrument that cuts a path through a forest and, as it does so, projects a narrow cone of light on what lies just ahead and immediately around; on all sides of the path there continues to be darkness. --The Social Construction of Reality, Peter Berger and Thomas Luckman

Since...knowledge is socially objectivated as knowledge, that is, as a body of generally valid truths about reality, any radical deviance from the institutional order appears as a departure from reality. --The Social Construction of Reality, Peter Berger and Thomas Luckman

Reification implies that man is capable of forgetting his own authorship of the human world, and further, that the dialectic between man, the producer, and his products is lost to conciousness. ...As soon as the objective social world is established, the possibility of reification is never far away. The objectivity of the social world means that it confronts man as something outside himself. The decisive question is whether he still retains the awareness that, however objectivated, the social world was made by men -- and, therefore, can be remade by them. --The Social Construction of Reality, Peter Berger and Thomas Luckman

...A little dryness now and again forced the plant to extend its roots further down into the ground in search of moisture. --The Secrets of Consulting, Gerald Weinberg

Do not be anxious about anything, but in everything, by prayer and petition, with thanksgiving, present your requests to God. --Philippians 4:6

All we need to know is the first step we need to take to head toward where we think we want to go at the moment. --Growing Software: Debunking the Myth of Prediction and Control, p. 108, Roy Miller

But woe to you who are rich, for you have already received your comfort. Woe to you who are well fed, for you will go hungry. Woe to you who laugh, for you will mourn and weep. Woe to you when all men speak well of you, for that is how their fathers treated the false prophets. --Luke 6:24-26

Blessed are you who are poor, for yours is the kingdom of God. Blessed are you who hunger now, for you will be satisfied. Blessed are you who weep now, for you will laugh. Blessed are you when men hate you, when they exclude you and insult you and reject your name as evil, because of the Son of Man. --Luke 6:20-22

Jesus did many other things as well. If every one of them were written down, I suppose that even the whole world would not have room for the books that would be written. --John 21:25

The good man brings good things out of the good stored up in his heart, and the evil man brings evil things out of the evil stored up in his heart. For out of the overflow of his heart his mouth speaks. --Luke 6:45

Watch out! Be on your guard against all kinds of greed; a man's life does not consist in the abundance of his possessions. --Luke 12:15

From this time many of his disciples turned back and no longer followed him. "You do not want to leave too, do you?" Jesus asked the Twelve. Simon Peter answered him, "Lord, to whom shall we go? You have the words of eternal life. We believe and know that you are the Holy One of God." --John 6:66-69

Being intelligent is not having some magic formula which one can apply to every problem. It is, rather, having a number of "formulas" and not being so much in love with one that it cannot be dropped for another. --The Psychology of Computer Programming, Gerald Weinberg

Anyone who has ever seen a programmer at work...knows that programming itself, if the programmer is given the chance to do it his way, is the biggest motivation in programming. --The Psychology of Computer Programming, Gerald Weinberg

Good designers don't put handles on unlatched doors that can only be pushed. Instead, they put a flat plate where the handle would otherwise be. Just about the only thing you can do with a plate is to push on it, so the physical structure of the plate helps you operate the door correctly. --Object Oriented Perl, Damien Conway

Well-designed objects are easy to interpret and understand. They contain visible clues to their operation. --The Design of Everyday Things, Donald Norman

Once a satisfactory product has been achieved, further change may be counterproductive, especially if the product is successful. You have to know when to stop. --The Design of Everyday Things, Donald Norman

Designers are not typical users. They become so expert in using the object they have designed that they cannot believe that anyone else might have problems; only interaction and testing with actual users throughout the design process can forestall that. --The Design of Everyday Things, Donald Norman

When simple things need instruction, it is a certain sign of poor design. --The Design of Everyday Things, Donald Norman

Innovation is concerned with redefining a task or the way a task is done. --Becoming a Technical Leader, Gerald Weinberg

Good programmers are a little bit lazy: they sit back and wait for an insight rather than rushing forward with their first idea. That must, of course, be balanced with the initiative to code at the proper time. The real skill, though, is knowing the proper time. That judgment comes only with the experience of solving problems and reflecting on their solutions. --Programming Pearls, Jon Bentley

A different algorithm results from a different view of the problem... --Programming Pearls, Jon Bentley

A designer knows he has arrived at perfection not when there is no longer anything to add, but when there is no longer anything to take away. --Antoine de Saint-Exupéry

Program to an interface, not an implementation. --Design Patterns, Gamma et al

The choice of programming language is important because it influences one's point of view. --Design Patterns, Gamma et al

As systems evolve to depend more on object composition than class inheritance...emphasis shifts away from hard-coding a fixed set of behaviors toward defining a smaller set of fundamental behaviors that can be composed into any number of more complex ones. --Design Patterns, Gamma et al

A class is more reusable when you minimize the assumptions other classes must make to use it. --Design Patterns, Gamma et al

Software development is always an evolving dialog between the possible and the desirable. --Extreme Programming Explained, Kent Beck

We should assume that the simplest design we can imagine possibly working actually will work. This will give us time to do a thorough job in case the simplest design doesn't work. In the meantime, we won't have to carry along the cost of extra complexity. --Extreme Programming Explained, Kent Beck

The purpose of the design of the system is, first, to communicate the intent of the programmers and, second, to provide a place for the logic of the system to live. --Extreme Programming Explained, Kent Beck

If the cost of today's decision is high, and the probability of its being right is low, and the probability of knowing a better way tomorrow is high, and the cost of putting in the design tomorrow is low, then we can conclude that we should never make a design decision today if we don't need it today. --Extreme Programming Explained, Kent Beck

Instead of being impressed when someone (like you, for instance) gets something complicated to work, you have to learn to be dissatisfied with complexity, not to rest until you can't imagine anything simpler working. --Extreme Programming Explained, Kent Beck

We can drive ourselves crazy with expectation. But by preparing for every eventuality we can think of, we leave ourselves vulnerable to the eventualities we can't imagine.

There is another way. The team can be perfectly prepared at any moment to go in whatever direction the business or the system demands. By giving up explicit preparation for change, paradoxically they become entirely prepared for any change. They expect nothing. They can no longer be surprised. --Extreme Programming Explained, Kent Beck

If you'd like to become a better software designer, studying the evolution of great software designs will be more valuable than studying the great designs themselves. For it is in the evolution that the real wisdom lies. --Refactoring To Patterns, p. 8, Joshua Kerievsky

I'm always interested in simplifying client code: I want it to read as clearly as English. --Refactoring To Patterns version 0.14, Joshua Kerievsky

The essance of an organism, then, is not its components but rather its organization -- that is, how it fits together as a whole. --Metaframeworks, Breulin et al

The compiler doesn't care whether the code is ugly or clean. But when we change the system, there is a human involved, and humans do care. A poorly designed system is hard to change. --Refactoring: Improving the Design of Existing Code, Martin Fowler

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. --Refactoring: Improving the Design of Existing Code, Martin Fowler

When you learn a new technique that greatly improves your productivity, it is hard to see when it does not apply. --Refactoring: Improving the Design of Existing Code, Martin Fowler

If there is any worse situation than having no documentation, it must be having wrong documentation. --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

The hacker may seem bad at first, but his heart is pure. He sees a useful piece of software, which is almost able to address the needs of the moment.... Spurred by a laudible desire not to redo what can be reused, our hacker starts modifying the original to add provisions for new cases.... The impulse is good but the effect is often to pollute the software...so that after a few rounds of hacking...the software starts resembling a chunk of Swiss cheese that has been left outside for too long in August (if the tastlessness of this metaphor may be forgiven on the grounds that it does its best to convey the presence in such software of both holes and growth). --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

The bad ideas and the complicated ones (they are often the same) often appear first; it takes time for the simple and the elegant to take over. --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

...[T]he single biggest enemy of reliablity (and perhaps software quality in general) is complexity. --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

To obtain reliable systems we must go from the microscopic view to a macroscopic view encompassing the entire architecture. If we take this global view, simplicity becomes a crucial criterion. --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

Almost always, new software expands on previous developments; the best way to create is by imitation, refinement and combination. --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

Inhertitance is a unifying principle; like many of the great unifying ideas of science, it brings together phenomena that had hitherto been treated as distinct. ... [Inheritance allows] a style of development which, instead of trying to solve every new problem from scratch, encourages building on previous accomplishments and extending their results. The spirit is one of both economy...and humility, in line with Newton's famous remark that he could reach so high only because he stood on the shoulders of giants. --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

Decentralization is the key: classes manage their own implementations and do not meddle in each other's affairs. Applied to humans, this would sound like Voltaire's Cultivez votre jardin, tend your own garden. Applied to modules, it is an essential requirement for obtaining decentralized structures that will yield gracefully to requests for extension, modification, combination and reuse. --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

The task facing developers is this: they are working on a problem that they don't fully understand, one that lives in emotions, wishes, and thoughts and that changes as they proceed. --Agile Software Development, Alistair Cockburn

Every project team should be on a quest to reduce the total energy cost of detecting and transferring needed ideas. That means noticing and improving the convection currents of information flow, getting the benefits of osmotic communication, watching for sources of drafts, and using information radiators. The end goal is to lower the erg-seconds required for team members to exchange information, whatever constraints their organization places on their seating, and with or without technology. --Agile Software Development, Alistair Cockburn

...By accepting responsiblity for your own development process, you are accepting responsibility for being aware and fixing it when there is a problem. --Extreme Programming Explained, Kent Beck

...Compassion isn't mere kindness, but a willingness to enter into long-term relationships, to accept and nurture the viewpoints of developers, managers, and customers, with any of whom you may disagree, to help them find ways to accept each other and build their community. --Extreme Programming Examined: "The Tao of Extreme Programming", Peter Merel

...A project suffers when the developers don't mention problems they notice. The project loses the creative interplay of sharp programmers offering their insights to refine the requests of the customers. --Agile Software Development, Alistair Cockburn

Software consists of tying together complex threads of thought. The programmer spends a great deal of time lifting and holding together a set of ideas. --Agile Software Development, Alistair Cockburn

Every consulting company can benefit from employing a social anthropologist or ethnographer. That person will help the consulting team understand the social forces in play on their projects, which will enhance the team's effectiveness. --Agile Software Development, Alistair Cockburn

Ecosystems and methodologies have this interesting characteristic in common: If the team members construct many complicated rules for themselves, they tie themselves to a narrow ecological niche.

However, narrow ecological niches are notoriously fragile, and the market has a nasty habit of changing the terrain around a company. The many rules that ensure effective behavior in one ecological setting are ill suited for use in another. --Agile Software Development, Alistair Cockburn

The better adapted you are the less adaptable you tend to be. --The Secrets of Consulting, Gerald Weinberg

A methodology is...a straightjacket. It is exactly the set of conventions and policies the people agree to use: It is the size and shape of the straightjacket they choose for themselves. --Agile Software Development, Alistair Cockburn

Discipline involves a person choosing to work in a way that requires consistency. Process involves a person following instructions. --Agile Software Development, Alistair Cockburn

Every project has a bottleneck activity. It moves during the project, but there is always one. ... The nonbottleneck people can spend some of their extra capacity by starting earlier, getting results earlier, doing more rework and doing it earlier, and doing other work that helps the person at the bottleneck activity. --Agile Software Development, Alistair Cockburn

If you follow a methodology out of the box, you will have one that fits some project in the world, but probably not yours. --Agile Software Development, Alistair Cockburn

With a short feedback cycle, it is very easy to learn what works and what doesn't. --Software Craftsmanship, Pete McBreen

Master craftsman are always willing to learn and are able to admit their own mistakes. Both of these traits are essential for software development, because things change so fast and it is easy to make mistakes. --Software Craftsmanship, Pete McBreen

Software craftsmanship is built on top of long-term relationships that are grounded in a reputation for delivery. --Software Craftsmanship, Pete McBreen

...The first few times you use a pattern are learning experiences that might not produce a good design, but will certainly add to your mental toolbox. --Ralph Johnson, [source]

All human activity is subject to habitualization. Any action that is repeated frequently becomes cast into a pattern, which can then be reproduced with an economy of effort and which, ipso facto, is apprehended by its performer as that pattern. --The Social Construction of Reality, Peter Berger and Thomas Luckman

One of the great advantages of not lying to your clients is that you generally don't have to remember what you said. --The Secrets of Consulting, Gerald Weinberg

It may look like a crisis, but it's only the end of an illusion. --The Secrets of Consulting, Gerald Weinberg

The boundary between one part of a system and another is a good place to look for missing things -- those things that each part assumes are taken care of by the other part. --The Secrets of Consulting, Gerald Weinberg

Planning is so valuable and important, so vital, that it deserves to go on a little every day, as long as development lasts. --Planning Extreme Programming, Kent Beck and Martin Fowler

The aim is to deliver software that matches the requirements at every release, not to match the requirements as they were misunderstood at the beginning of the project. --Planning Extreme Programming, Kent Beck and Martin Fowler

When you are overloaded, don't think about it as not having enough time; think of it as having too much to do. You can't give yourself more time, but you can give yourself less to do, at least for the moment. --Planning Extreme Programming, Kent Beck and Martin Fowler

The only thing we know for certain about a plan is that development won't go according to it. --Planning Extreme Programming, Kent Beck and Martin Fowler

Requirements creep is perfectly reasonable and rational, even valuable. The requirements can creep wherever they like as long as we know where they are going and the customer is informed of the consequences, indeed we encourage the requirements to crawl around and find whatever it is the customer needs. --Planning Extreme Programming, Kent Beck and Martin Fowler

The longer the iteration, the more risk you run of sliding just a little bit out of control. You want each iteration to be as short as possible, so that you know where you are as frequently as possible. --Planning Extreme Programming, Kent Beck and Martin Fowler

XP is not the end of the journey, it is just the current watering hole that is particularly tasty for many. We'll learn more with every project that we do. --Lowell Lindstrom, [source]

Having a plan isn't everything, but planning is. --Extreme Programming Installed, Ron Jeffries, Ann Anderson, Chet Hendrickson

When customers and programmers recognize that they depend on each other, the team can steer the project so that there's always the most business value implemented at any given moment. --Extreme Programming Installed, Ron Jeffries, Ann Anderson, Chet Hendrickson

It's not easy to guess how fast you will go at first, but it's easy to observe how fast you do go. --Extreme Programming Installed, Ron Jeffries, Ann Anderson, Chet Hendrickson

A focus on clear, intention revealing code is more valuable than all the comments you can write. --Extreme Programming Installed, Ron Jeffries, Ann Anderson, Chet Hendrickson

If your customer knows now exactly what she wants, and if by the time you're done she's still going to want the same thing, it may be the first time in software history that this has happened. Probably there will be a prize for you somewhere. --Extreme Programming Installed, Ron Jeffries, Ann Anderson, Chet Hendrickson

A good software product is based on a small number of powerful ideas. --Object-Oriented Software Construction, Second Edition, Bertrand Meyer

Inside almost every large program there are lots of little programs trying to get out. --Extreme Programming Installed, Ron Jeffries, Ann Anderson, Chet Hendrickson

The result of an XP project should be a computer program. Not just any computer program, but a well-crafted, flexibly structured, properly documented computer program, shown by testing to meet known and written requirements. --Extreme Programming Installed, Ron Jeffries, Ann Anderson, Chet Hendrickson

To become truly good at programming is a life's work, an ongoing enterprise of learning and practicing. --Extreme Programming Installed, Ron Jeffries, Ann Anderson, Chet Hendrickson

One hundred years from now, our engineering may seem as archaic as the techniques used by medieval cathedral builders seem to today's civil engineers, while our craftsmanship will still be honored. --The Pragmatic Programmer, Dave Thomas and Andy Hunt

Organize your code into cells (modules) and limit the interaction between them. --The Pragmatic Programmer, p. 138, Dave Thomas and Andy Hunt

It's always a good idea to make sure an algorithm really is a bottleneck before investing your precious time trying to improve it. --The Pragmatic Programmer, p. 182, Dave Thomas and Andy Hunt

By building tests before you implement the code, you get to try out the interface before you commit to it. --The Pragmatic Programmer, p. 192, Dave Thomas and Andy Hunt

The act of writing tests first is an act of discerning between design decisions. --Agile Software Development Principles, Patterns, and Practices, p. 24, Robert Martin

When we write a test, we imagine the perfect interface for our operation. We are telling ourselves a story about how the operation will look from the outside. --Test-Driven Development: By Example, p. 4, Kent Beck

Successful tools adapt to the hands that use them... [As a software developer] it is the tools that you build for others that must be adaptable. --The Pragmatic Programmer, p. 205, Dave Thomas and Andy Hunt

You should work constantly to refine and improve your processes. Never accept the rigid confines of a methodology as the limits of your world. --The Pragmatic Programmer, p. 222, Dave Thomas and Andy Hunt

It is a mistake to think that the activities of a project -- analysis, design, coding, and testing -- can happen in isolation. --The Pragmatic Programmer, p. 227, Dave Thomas and Andy Hunt

The major problems of our work are not so much technological as sociological in nature. --Peopleware: Productive Projects and Teams, Second Edition, p. 4, Tom DeMarco and Timothy Lister

The main reason we tend to focus on the technical rather than the human side of the work is not because it's more crucial, but because it's easier to do... Human interactions are complicated and never very crisp and clean in their effects, but they matter more than any other aspect of the work. --Peopleware: Productive Projects and Teams, Second Edition, p. 5, Tom DeMarco and Timothy Lister

Overtime is like sprinting: it makes some sense for the last hundred yards of the marathon for those with any energy left, but if you start sprinting in the first mile, you're just wasting time. --Peopleware: Productive Projects and Teams, Second Edition, p. 16, Tom DeMarco and Timothy Lister

As long as workers are crowded into noisy, sterile, disruptive space, it's not worth improving anything but the workspace. --Peopleware: Productive Projects and Teams, Second Edition, p. 41, Tom DeMarco and Timothy Lister

The business we're in is more sociological than technological, more dependent on workers' abilities to communicate with each other than their abilities to communicate with machines. --Peopleware: Productive Projects and Teams, Second Edition, p. 103, Tom DeMarco and Timothy Lister

The essence of successful management is to get everyone pulling in the same direction and then somehow get them fired up to the point that nothing, not even their manager, could stop their progress. --Peopleware: Productive Projects and Teams, Second Edition, p. 154, Tom DeMarco and Timothy Lister

On the best teams, different individuals provide occasional leadership, taking charge in areas where they have particular strengths. No one is the permanent leader...The structure of the team is a network, not a hierarchy. --Peopleware: Productive Projects and Teams, Second Edition, p. 155, Tom DeMarco and Timothy Lister

When you observe a well-knit team in action, you'll see a basic hygienic act of peer-coaching that is going on all the time. Team members sit down in pairs to transfer knowledge. When this happens, there is always one learner and one teacher. Their roles tend to switch back and forth over time... --Peopleware: Productive Projects and Teams, Second Edition, p. 182, Tom DeMarco and Timothy Lister

Like any work of art, your success at fostering community is going to require substantial talent, courage, and creativity. It will also need an enormous investment of time. The work will not be completed by you alone; at best, you will be the catalyst. --Peopleware: Productive Projects and Teams, Second Edition, p. 225, Tom DeMarco and Timothy Lister

When you ignore all the things that can go wrong, most of them will. --Extreme Programming Applied: Playing to Win, p. xxxix, Ken Auer and Roy Miller

When you use a process meant for building inflexible things like bridges to build flexible things like software, it shouldn't shock you that later change costs more. --Extreme Programming Applied: Playing to Win, p. xl, Ken Auer and Roy Miller

Remember that doing XP is not the goal, it is the means to an end. The goal is developing superior software quickly without messing up people's lives. --Extreme Programming Applied: Playing to Win, p. 11, Ken Auer and Roy Miller

Everybody on an XP team should feel like an idiot regularly. --Extreme Programming Applied: Playing to Win, p. 62, Ken Auer and Roy Miller

When you're honest with others and with yourself, you have no choice but to be humble. When you are humble, you are teachable. When you are teachable, you learn. When you learn, you can use what you learn to achieve great things. --Extreme Programming Applied: Playing to Win, p. 65, Ken Auer and Roy Miller

If you are practicing XP exactly the same way after six months, you aren't practicing XP. --"Iteration Retrospectives" by Frank Westphal in Extreme Programming Applied: Playing to Win, p. 76, Ken Auer and Roy Miller

XP Planning is all about learning and then applying the lessons learned as soon as possible. We hope to be "progressively less wrong" over time. --Extreme Programming Applied: Playing to Win, p. 138, Ken Auer and Roy Miller

XP is a team sport. People must work together and share problems. Some people may experience short bursts of hyperproductivity when they program solo, but solo programming will slow the team down in the long run. --Extreme Programming Applied: Playing to Win, p. 169, Ken Auer and Roy Miller

[Pair programming] is about loving the person you're pairing with. --Extreme Programming Applied: Playing to Win, p. 177, Ken Auer and Roy Miller

Bare sufficiency reduces costs through streamlining but even more importantly, it incorporates the chaordic perspective that creativity and innovation occur in a slightly messy environment, not a primarily structured one. --What is Agile Software Development?, Jim Highsmith

The implicit and explicit goal of conformance to plan restricts a manager's ability to steer the project in innovative directions. --What is Agile Software Development?, Jim Highsmith

Refactoring is the essential first step toward maintaining the simplest possible design. Clean code simply gives you more room to maneuver. --Extreme Programming Applied: Playing to Win, p. 190, Ken Auer and Roy Miller

The only way to get rid of your fear of changing code is to do it over and over again. --Extreme Programming Applied: Playing to Win, p. 196, Ken Auer and Roy Miller

To make collective [code] ownership work, you have to change your definition of what it means to be a hero. Heroes aren't the ones who have the best code with the most clever tricks; heroes are the ones who make the team better -- the best pairs, the best refactorers, the best encouragers of other people. --Extreme Programming Applied: Playing to Win, p. 225, Ken Auer and Roy Miller

In many ways, software bears more resemblance to complex social or organic systems than to hardware. --What is Software Design?, Jack Reeves

We should not be afraid to code our designs as we derive them. We simply must be willing to refine them as necessary. --What is Software Design?, Jack Reeves

Interfaces belong to the client, not to the derivative... Clients tend to be packaged with the interfaces they control. --Agile Software Development Principles, Patterns, and Practices, p. 318-319, Robert Martin

There is no such thing as enough analysis. No matter how much time you spend trying to figure out the perfect software structure, you will always find that the customer will introduce a change that violates that structure. --Agile Software Development Principles, Patterns, and Practices, p. 324-325, Robert Martin

Working well with others, communicating and interacting, is more important than raw programming talent. A team of average developers who communicate well are more likely to succeed than a group of superstars who fail to interact as a team. --Agile Software Development Principles, Patterns, and Practices, p. 4, Robert Martin

Building the team is more important than building the environment... Work to create the team, and then let the team configure the environment on the basis of need. --Agile Software Development Principles, Patterns, and Practices, p. 5, Robert Martin

A user story is a mnemonic token of an ongoing conversation about a requirement. --Agile Software Development Principles, Patterns, and Practices, p. 12, Robert Martin

Design patterns are wonderful things. They can help you with many design problems. But the fact that they exist does not mean that they should always be used. --Agile Software Development Principles, Patterns, and Practices, p. 164, Robert Martin

Just at the edge of chaos, the most complex behaviors can occur -- orderly enough to ensure stability, yet full of flexibility and surprise. --At Home in the Universe, p. 87, Stuart Kauffman

Simple rules applied locally can give a group of agents the ability to adapt to a changing environment naturally. --Growing Software: Debunking the Myth of Prediction and Control, p. 88, Roy Miller

Guess as intelligently as you can and pull the trigger. Thinking about it for a long time only means you'll delay guessing. --Growing Software: Debunking the Myth of Prediction and Control, p. 106, Roy Miller

Requirements are a conversation that never stops. --Growing Software: Debunking the Myth of Prediction and Control, p. 106, Roy Miller

Design is not a revealing of hidden order. It is the creation of new order that didn't exist before. --Growing Software: Debunking the Myth of Prediction and Control, p. 107, Roy Miller

The simpler it is to run a suite of tests, the more often those tests will be run. --Agile Software Development Principles, Patterns, and Practices, p. 29, Robert Martin

Diagrams can be inappropriate at times. When are they inappropriate? When you create them without code to validate them, and then intend to follow them. --Agile Software Development Principles, Patterns, and Practices, p. 83, Robert Martin

Software development is a messy problem. The only way to solve it is to interact with each other, and to let our understanding and path forward emerge. --Growing Software: Debunking the Myth of Prediction and Control, p. 143, Roy Miller

In a complex environment, following a plan produces the product you intended, just not the product you need. --Agile Software Development Ecosystems, p. 42, Jim Highsmith

By preparing for too many contingencies, the design becomes littered with constructs that are never used. --Agile Software Development Principles, Patterns, and Practices, p. 89, Robert Martin

Developers need to put themselves in the readers' shoes and make a concerted effort to refactor their code so that their readers can understand it. --Agile Software Development Principles, Patterns, and Practices, p. 89, Robert Martin

The attitude that agile developers have toward the design of the software is the same attitude that surgeons have toward sterile procedure. Sterile procedure is what makes surgery possible. --Agile Software Development Principles, Patterns, and Practices, p. 94, Robert Martin

A class should only have one reason to change. --Agile Software Development Principles, Patterns, and Practices, p. 95, Robert Martin

Resisting premature abstraction is as important as abstraction itself. --Agile Software Development Principles, Patterns, and Practices, p. 109, Robert Martin

Taking small steps and preserving simplicity, then being wrong and learning from it is the best way to explore the unknown. Make failure frequent, fast, and cheap. --Growing Software: Debunking the Myth of Prediction and Control, p. 164, Roy Miller

The bad thing about great technical talent is the attitude that tends to come along with it. It's tough to find a super programmer who doesn't believe he's a step above mere mortals. --Growing Software: Debunking the Myth of Prediction and Control, p. 170, Roy Miller

No process is foolproof enough, or complete enough, for users of that process to turn off their brains. --Adaptation: XP Style, p. 57, Christopher Collins and Roy Miller

The guarantee that a subclass will always work where its base classes are used is a powerful way to manage complexity. Once it is forsaken, we must consider each class individually. --Agile Software Development Principles, Patterns, and Practices, p. 122, Robert Martin

Overreliance on tools and procedures, and underreliance on intelligence and experience are recipes for disaster. --Agile Software Development Principles, Patterns, and Practices, p. 202, Robert Martin

If a package contains software that should be reused, then it should not also contain software that is not designed for reuse. Either all of the classes in a package are reusable or none of them are. --Agile Software Development Principles, Patterns, and Practices, p. 255, Robert Martin

When we are actively developing an application, there are many concrete classes that are very volatile. Depending on them is problematic. We'd rather depend on an abstract interface to shield us from the majority of these changes. The Factory pattern allows us to create instances of concrete objects while depending only on abstract interfaces. --Agile Software Development Principles, Patterns, and Practices, p. 270, Robert Martin

Rule of thumb: if you think something is clever and sophisticated, beware -- it is probably self-indulgence. --The Design of Everyday Things, Donald Norman

I prefer to evolve the code I am working on in the direction of its needs. As I refactor it to resolve issues of coupling, simplicity, and expressiveness, I may find that the code has come close to a particular pattern. When that happens, I change the names of the classes and variables to use the name of the pattern, and change the structure of the code to use the pattern in a more regular form. Thus the code backs into the pattern. --Agile Software Development Principles, Patterns, and Practices, p. 295, Robert Martin

The need to create test code that verifies each unit in isolation forces us to decouple the code in ways we might not otherwise think of. Thus, testability is a force that drives the design to a less coupled state. --Agile Software Development Principles, Patterns, and Practices, p. 424, Robert Martin

By eliminating duplication before we go on to the next test, we maximize our chance of being able to get the next test running with one and only one change. --Test-Driven Development: By Example, p. 8, Kent Beck

TDD is not about taking teeny-tiny steps, it's about being able to take teeny-tiny steps...If you can make steps too small, you can certainly make steps the right size. --Test-Driven Development: By Example, p. 9, Kent Beck

Rather than apply minutes of suspect reasoning, we can just ask the computer by making the change and running the tests. --Test-Driven Development: By Example, p. 46, Kent Beck

I try to keep the objects at the heart as ignorant of the rest of the system as possible, so they stay flexible as long as possible. --Test-Driven Development: By Example, p. 57, Kent Beck

The Extreme Programming movement is fascinating not so much because it works, but because it's about human relationships... I believe firmly that the key to creating great software lies more in people and process than in technology and engineering. Making programmers look up from their keyboards and smell the humans might well be one of the most significant improvements in high technology. --Digging the Panama Canal, Alan Cooper

Duplication is always a bad thing, unless you look at it as motivation to find the missing design element. --Test-Driven Development: By Example, p. 113, Kent Beck

The first part of our approach to dealing with programming stress is never to take a step forward unless we know where our foot is going to land. --Test-Driven Development: By Example, p. 126, Kent Beck

In TDD, the tests are a means to an end -- the end being code in which we have great confidence. --Test-Driven Development: By Example, p. 197, Kent Beck

Every programming practice encodes a value system, explicitly or implicitly. --Test-Driven Development: By Example, p. 200, Kent Beck

The higher your confidence, the more aggressive you will be in trying large-scale refactorings that extend the life of your system. --Test-Driven Development: By Example, p. 205, Kent Beck

...It is in relation to the limits of logico-scientific thought that the contribution of the narrative approach is perhaps most easily understood. --Complex thinking, complex practice: The case for a narrative approach to organizational complexity, p. 990, Haridimos Tsoukas and Mary Jo Hatch

When things seem out of control, most managers react understandably -- they try to control more. When they do that, they unintentionally squeeze out the potential for novel discovery their teams need in order to solve problems they've never solved before, which is what software development is all about. --Growing Software: Debunking the Myth of Prediction and Control, p. 8, Roy Miller

It is precisely because narrative can encode oppressive epistemes that it can also function as a means of individual, cultural, and political empowerment. --"Narrative and Chaos", New Literary History, 1992, p. 661, Alex Argyros

A narrative is perhaps best conceptualized as a hypothesis about the nature of an existing slice of reality or about the potential consequences of certain variations on a model of the world. Inasmuch as narratives tend to be shared, they perform on an intersubjective cultural level what our central nervous system does at the level of the individual. --"Narrative and Chaos", New Literary History, 1992, p. 667-8, Alex Argyros

It is because narratives need to accomodate the requirements of finitude and complexity that they tend to fold in on themselves, creating intricate, temporal, fractal depths. --"Narrative and Chaos", New Literary History, 1992, p. 669, Alex Argyros

Traditional narratives can be viewed as chaotic laminar systems, rivers characterized by an overall vector, the plot, itself composed of areas of local turbulence, eddies where time is reversed, rapids where it speeds ahead, and pools where it effectively stops. --"Narrative and Chaos", New Literary History, 1992, p. 669, Alex Argyros

Narrative offers culture both a powerful databank in which to store and transmit cultural knowledge, and a flexible and turbulent laboratory in which to invent new knowledge. --"Narrative and Chaos", New Literary History, 1992, p. 670, Alex Argyros

We live in a future which is largely waiting to be imagined... --"Narrative and Chaos", New Literary History, 1992, p. 672, Alex Argyros

The atmosphere in a troubled family is easy to feel...Whenever I am in any of these troubled atmospheres, my body reacts violently. My stomach feels queasy; my back and shoulders soon ache, as does my head. --The New Peoplemaking, p. 10, Virginia Satir

Rearing a family is probably the most difficult job in the world. It resembles two business firms merging their respective resources to make a single product. --The New Peoplemaking, p. 17, Virginia Satir

A person who does not value him- or herself will expect someone else -- a wife, husband, son, or daughter -- to be responsible for bestowing that value. --The New Peoplemaking, p. 31, Virginia Satir

The fear of the Lord is the beginning of knowledge, but fools despise wisdom and discipline. --Proverbs 1:7

I think having more than three feet between people puts a great strain on their relationship. --The New Peoplemaking, p. 65, Virginia Satir

I am convinced that anything exciting, even dangerous, is preferable to boredom. Fighting is better than being bored. You might get killed from it, but at least you feel alive while it's going on. --The New Peoplemaking, p. 79, Virginia Satir

Communication is the greatest single factor affecting a person's health and relationship to others. --The New Peoplemaking, p. 79, Virginia Satir

Wisdom is supreme; therefore get wisdom. Though it cost all you have, get understanding. --Proverbs 4:7

Good rules facilitate instead of limiting. --The New Peoplemaking, p. 118, Virginia Satir

The task of the therapist is to see the light that shines in every person or family, and to uncoil the wrappings that shroud that light. --The New Peoplemaking, p. 133, Virginia Satir

Sometimes even a minor incident can overwhelm the system, which indicates that the system's designers behaved as though change would never happen. --The New Peoplemaking, p. 136, Virginia Satir

Familiarity exerts a powerful pull. What we have observed and experienced day after day exerts a powerful influence. Most people will choose the familiar, even though uncomfortable, over the unfamiliar, because of that power. --The New Peoplemaking, p. 144-145, Virginia Satir

If I rise on the wings of the dawn, if I settle on the far side of the sea, even there your hand will guide me, your right hand will hold me fast. --Pslam 139:9-10

Search me, O God, and know my heart; test me and know my anxious thoughts. See if there is any offensive way in me, and lead me in the way everlasting. --Psalm 139:23-24

Any time a child is asked to ignore and/or denounce either biological parent, she or he runs a great risk of developing low self-worth. --The New Peoplemaking, p. 168, Virginia Satir

Blame is an expensive, useless, and destructive way to use your energy. --The New Peoplemaking, p. 211, Virginia Satir

The power of the familiar is very strong, often stronger than the wish to change. Strong interventions, lots of patience, and continual awareness help us challenge the power of the familiar. --The New Peoplemaking, p. 212, Virginia Satir

If we can get introduced to our ignorance, isn't that something worth celebrating? --The New Peoplemaking, p. 220, Virginia Satir

It is wise to get together once a day for everyone to touch base with each other. In the busy lives that most of us lead, this kind of meeting needs to be planned. It cannot be left to chance. --The New Peoplemaking, p. 284, Virginia Satir

When youth and young looks fade, when money, power, and position have gone, people can suffer great agonies if they equated this factors with personal value. --The New Peoplemaking, p. 354, Virginia Satir

Whenever change occurs, the old order is disturbed and a period of upheaval follows. During this chaos, it may be hard to see what has been gained... It takes time to learn a new process. --The New Peoplemaking, p. 381, Virginia Satir

Why is programming fun? What delights may its practitioner expect as his reward?

First is the the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake. --The Mythical Man Month, p. 7, Frederick Brooks

For the human makers of things, the incompleteness and inconsistencies of our ideas become clear only during implementation. Thus it is that writing, experimentation, "working out" are essential discliplines for the theoretician. --The Mythical Man Month, p. 15, Frederick Brooks

How, then, shall teams communicate with one another? In as many ways as possible. --The Mythical Man Month, p. 75, Frederick Brooks

The man with strong management talent and strong technical talent is rarely found. Thinkers are rare; doers are rarer; and thinker-doers are rarest. --The Mythical Man Month, p. 80, Frederick Brooks

If the design is to be free to change, the organization must be prepared to change. --The Mythical Man Month, p. 111, Frederick Brooks

It's better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas. --The Mythical Man Month, p. 42, Frederick Brooks

Sharp milestones are in fact a service to the team, and one they can properly expect from a manager. The fuzzy milestone is the harder burden to live with. It is in fact a millstone that grinds down morale, for it deceives one about lost time until it is irremediable. And chronic schedule slippage is a morale-killer. --The Mythical Man Month, p. 155, Frederick Brooks

Most documentation fails in giving too little overview. The trees are described, the bark and the leaves are commented, but there is no map of the forest. --The Mythical Man Month, p. 165, Frederick Brooks

The software product is embedded in a cultural matrix of applications, users, laws, and machine vehicles. These all change continually, and their changes inexorably force change upon the software product. --The Mythical Man Month, p. 185, Frederick Brooks

I...assert that it is really impossible for clients, even those working with software engineers, to specify completely, precisely, and correctly the exact requirements of a modern software product before having built and tried some versions of the product they are specifying. --The Mythical Man Month, p. 200, Frederick Brooks

I can't emphasize enough the importance of empowerment, of the team being accountable to itself for its success. --The Mythical Man Month, p. 279, Frederick Brooks quoting Jim McCarthy

To only a fraction of the human race does God give the privilege of earning one's bread doing what one would have gladly pursued free, for passion. I am very thankful. --The Mythical Man Month, p. 291, Frederick Brooks

I became the buffer between the team and the chaos of changing requirements and competitive pressures. I helped to protect the team so it could focus on its Sprint commitments. The role I assumed became known as the Scrum Master. --Agile Software Development with Scrum, p. 6, Ken Schwaber and Mike Beedle

By having every member of the team see every day what every other team member was doing, we began to get comments from one developer that if he changed a few lines of code, he could eliminate days of work for another developer. --Jeff Sutherland in Agile Software Development with Scrum, p. 12, Ken Schwaber and Mike Beedle

I've found that it's usually better to proceed with some decision than no decision. --Agile Software Development with Scrum, p. 32, Ken Schwaber and Mike Beedle

In my experience, a [Scrum] team self-organizes to draw on its strengths rather than succumb to its problems. Each team member's best changes day by day, but the team's best tends to be rather predictable. --Agile Software Development with Scrum, p. 36, Ken Schwaber and Mike Beedle

Use open working evironments. Such environments allow people to communicate more easily, make it easier to get together, and facilitate self-organization. When I walk into open team areas, I can immediately tell how the team is doing. Silence is always a bad sign. I know that people are collaborating if I can hear conversations. When I enter a cubicle environment, there is often silence, indicating an absence of interaction. Cubicles are truly the bane of the modern workplace. They quite literally keep people apart and break teams up. --Agile Software Development with Scrum, p. 39, Ken Schwaber and Mike Beedle

The Scrum Master helps the team learn to make its own decisions to fulfill its commitments. The more the team relies on outsiders to make its decisions, the less control it has over its commitments. --Agile Software Development with Scrum, p. 45, Ken Schwaber and Mike Beedle

Scrum asks people to try to wrest a predictable product from unpredictable complexity. Some people can't handle this type of assignment... Those who succeed at Scrum are the individuals that will form the core of an organization. Scrum helps identify these people. --Agile Software Development with Scrum, p. 51, Ken Schwaber and Mike Beedle

Scrum meetings do much more for a team than just capturing information. They don't only make everyone capture what they did, but it makes everyone say it in front of everybody else. That way everyone listens to what others are doing and they can offer to help them later. They don't only make everyone say what the issues are, but it makes everyone say it face to face to their management. This forces everyone to have courage and to be honest, and gives everyone a tool to put pressure on management about resolving issues. It also makes everyone promise in front of everyone else what you will be working on next, so it puts everyone's credibility and trust to the test. Scrum is about deep social interactions that build trust among team members. --Agile Software Development with Scrum, p. 106-7, Ken Schwaber and Mike Beedle

[Scrum] cannot be statically defined or for that matter repeated. You can only hope to repeat the application of Scrum practices but they will lead to different organizational or process arrangements every time. --Agile Software Development with Scrum, p. 113, Ken Schwaber and Mike Beedle

Processes should be melded to individuals and teams, not the other way around. --Agile Software Development Ecosystems, p. xviii, Jim Highsmith

Plans are hypotheses to be tested rather than predictions to be realized. --Agile Software Development Ecosystems, p. xxv, Jim Highsmith

[Agile Software Development Ecosystems] are garnering increasing interest not because they attempt [to] overturn 25 years of software engineering progress, as some critics contend, but because they address the issues germane to turbulence, risk, and uncertainty. --Agile Software Development Ecosystems, p. 10, Jim Highsmith

To be able to understand when the rules don't apply, you need to completely understand when they do. --Bob Charette in Agile Software Development Ecosystems, p. 31, Jim Highsmith

We accept that talented people, who are internally motivated, who must work in a volatile environment, who understand the product vision, will do the best they can do. If they don't conform to the plan, the plan was wrong. If they delivered business value, then whether the plan was "right" or not is immaterial. --Agile Software Development Ecosystems, p. 32, Jim Highsmith

Being Agile means trusting one's ability to respond more than trusting one's ability to plan. --Agile Software Development Ecosystems, p. 34, Jim Highsmith

We don't want requirements to creep; we want requirements to get up and dance. --Kent Beck in Agile Software Development Ecosystems, p. 51, Jim Highsmith

Working with process and tools pales in simplicity when matched with the frustration, messiness, difficulty, and fun of working with people and relying on people to get the job done. --Agile Software Development Ecosystems, p. 90, Jim Highsmith

An organization's ability to innovate is tied more closely to its collaborative framework than either project management or software development practices. --Agile Software Development Ecosystems, p. 129, Jim Highsmith

Refactoring may be the single most important factor in achieving agility. --Agile Software Development Ecosystems, p. 155, Jim Highsmith

No single individual has the range of abilities required for most software projects, and we therefore need to enhance our collaboration skills. --Agile Software Development Ecosystems, p. 197, Jim Highsmith

Multi-disciplinary teams rather than isolated individuals are needed because diversity is so key to innovative, fast-cycle time development. --Agile Software Development Ecosystems, p. 291, Jim Highsmith

Once we admit to ourselves that we are fallible, then learning practices...become vital for success. We have to test our knowledge constantly, using practices like project retrospectives and customer focus groups. --Agile Software Development Ecosystems, p. 312, Jim Highsmith

Adaptive cultures understand that learning about what we don't know is often more important than doing things we already know how to do. --Agile Software Development Ecosystems, p. 319, Jim Highsmith

Part of the architect's job...should include making sure that subteams continually engage in the appropriate level of conversation to ensure that every member understands the architecture. --Agile Software Development Ecosystems, p. 364, Jim Highsmith

Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice. --A Pattern Language, p. x, Christopher Alexander, Sara Ishikawa, and Murray Silverstein

No pattern is an isolated entity. Each pattern can exist in the world, only to the extent that is supported by other patterns: the larger patterns in which it is embedded, the patterns of the same size that surround it, and the smaller patterns which are embedded in it.

This is a fundamental view of the world. It says that when you build a thing you cannot merely build that thing in isolation, but must also repair the world around it, and within it, so that the larger world at that one place becomes more coherent, and more whole; and the thing which you make takes its place in the web of nature, as you make it. --A Pattern Language, p. xiii, Christopher Alexander, Sara Ishikawa, and Murray Silverstein

The fundamental learning situation is one in which a person learns by helping someone who really knows what he is doing. --A Pattern Language, p. 413, Christopher Alexander, Sara Ishikawa, and Murray Silverstein

In a society which emphasizes teaching, children and students -- and adults -- become passive and unable to think or act for themselves. Creative, active individuals can only grow up in a society that emphasizes learning instead of teaching. --A Pattern Language, p. 100, Christopher Alexander, Sara Ishikawa, and Murray Silverstein

Avoid closed off, separate, or private offices. Make every workroom, whether it's for a group of two or three people or for one person, half-open to the other workgroups and the world immediately beyond it. --A Pattern Language, p. 718, Christopher Alexander, Sara Ishikawa, and Murray Silverstein

A man enjoys his work when he understands the whole and when he is responsible for the quality of the whole. He can only understand the whole and be responsible for the whole when the work which happens in society, all of it, is undertaken by small self-governing human groups; groups small enough to give people understanding through face-to-face contact, and autonomous enough to let the workers themselves govern their own affairs. --A Pattern Language, p. 399, Christopher Alexander, Sara Ishikawa, and Murray Silverstein

The bride belongs to the bridegroom. The friend who attends the bridegroom waits and listens for him, and is full of joy when he hears the bridegroom's voice. That joy is mine, and is now complete. He must become greater; I must become less. --John the Baptist in John 3:29-30

The best food always comes from people who are in business for themselves, who buy the raw food, and prepare it in their own style. --A Pattern Language, p. 456, Christopher Alexander, Sara Ishikawa, and Murray Silverstein

All those detailed design decisions which can never be worked out in advance on paper, can be made during the building process. --A Pattern Language, p. 964, Christopher Alexander, Sara Ishikawa, and Murray Silverstein

However, I consider my life worth nothing to me, if only I may finish the race and complete the task the Lord Jesus has given to me -- the task of testifying to the gospel of God's grace. --Acts 20:24

Any moment in any day provides an opportunity for investigation, if we can recognize it. --People and Methodologies in Software Development, p. 26, Alistair Cockburn

System developers must open their minds and engage in reflections and dialogues to generate the necessary insights into the situation at hand. --Reflective Systems Development, p. 3, Lars Mattiassen

Experienced developers are needed to learn and apply ethnographic techniques. They will be able to spot important clues that others would miss, and will be able to represent the culture's values. --Software Development as Community Poetry Writing, Alistair Cockburn

Most of the time inventing consists of being able to see old things in a new way. --Reflective Systems Development, p. 93, Lars Mattiassen

Whoever wants to be great among you must be your servant, and whoever wants to be first must be slave of all. For even the the Son of Man did not come to be served, but to serve, and to give his life as a ransom for many. --Mark 10:43-44

Agile methodolgies free the project manager from the drudgery of being a taskmaster thereby enabling the project manager to focus on being a leader -- someone who keeps the spotlight on the vision, who inspires the team, who promotes teamwork and collaboration, who champions the project and removes obstacles to progress. Rather than being an operational controller, the project manager can become an adaptive leader -- if she can reliquish her reliance on old style management. --Agile Project Management: Emergent Order Through Visionary Leadership, Sanjiv Augustine and Susan Woodcock

When one develops a software system, one actually is in an ongoing conversation with the creation. --The Reflective Practitioner Perspective in eXtreme Programming, p. 2, Orit Hazzan and Jim Tomayko

In his heart a man plans his course, but the Lord determines his steps. --Proverbs 16:9

Tedious programming is a sign that something is wrong. --Patterns of Enterprise Application Architecture, p. 309, Martin Fowler

Knowledge puffs up, but love builds up. The man who thinks he knows something does not yet know as he ought to know. But the man who loves God is known by God. --1 Corinthians 8:1-3

If I have the gift of prophesy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing. --1 Corinthians 13:2

We in the software industry are working with a more or less invisible product, yet this very invisibility only heightens our need for feedback. --Gerald Weinberg in Project Retrospectives, p. xiii, Norm Kerth

By avoiding a review of a failed project, the community loses a valuable opportunity to learn from its experience, possibly leaving the door open for the same kind of failure to happen again. --Project Retrospectives, p. xvi, Norm Kerth

Wisdom is the learning that comes from experience. --Project Retrospectives, p. 101, Norm Kerth

The project's degree of success is not a relavant measure to use while people are trying to learn from their experiences. --Project Retrospectives, p. 106, Norm Kerth

Self-examination is hard, but I believe we can learn more from studying our failures than from our successes. --Project Retrospectives, p. 175, Norm Kerth

You can learn great ideas from books, but to put those ideas into practice, you need more than just a book. You need a teacher -- and you need to work repeatedly at what you are taught. --Project Retrospectives, p. 210, Norm Kerth

Acceptance of ourselves prepares us for surviving the chaos of change. --Tao of Communication and the Constancy of Change, Jean McLendon

Language is not a tool of communication as is the interconnecting cable between computers. Instead it is the fundamental way in which humans are physically present with one another. Language is a way of being. --The Body Speaks, p. 32, James & Melissa Griffith

Emotional postures govern access to knowledge, because they bias perception, patterns of cognition, and possible actions... [For example]...while walking through a dangerous neighborhood at night, the beautiful old architecture and the romantic glow of the rising moon pass unseen. --The Body Speaks, p. 69-70, James & Melissa Griffith

Creative ideas most often spring out of dialogical, not monological, conversations. --The Body Speaks, p. 81, James & Melissa Griffith

Starting a narrative a bit earlier or extending its endpoint further in time creates a turn-of-the-kaleidescope effect that instantly transforms the meaning of the narrative as a whole. --The Body Speaks, p. 140, James & Melissa Griffith

Evolutionary delivery is an approach that delivers the system in stages. You can build a little, get a little feedback from your users, adjust your design a little, make a few changes, and build a little more. The key is using short development cycles so that you can respond to your users quickly. --Code Complete, p. 32, Steve McConnell

[Software] construction is not at all mechanical and involves substantial creativity and judgment. --Code Complete, p. 2, Steve McConnell

The words available in a programming language for expressing your progamming thoughts certainly determine how you express your thoughts and might even determine what thoughts you can express. --Code Complete, p. 47, Steve McConnell

The single most important reason to create a routine is to reduce a program's complexity. Create a routine to hide information so that you won't need to think about it. --Code Complete, p. 74, Steve McConnell

The language you use to solve a problem substantially affects your solution. --Code Complete, p. 345, Steve McConnell

In general, complicated code is a sign that you don't understand your program well enough to make it simple. --Code Complete, p. 387, Steve McConnell

The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility. --The Humble Progammer, Communications of the ACM, p. 32, Edsger W. Dijkstra

Techniques that make good code look good and bad code look bad are more useful than techniques that make all code look good. --Code Complete, p. 403, Steve McConnell

Until you've measured performance gains, you're better off striving for clarity and correctness first, performance second. --Code Complete, p. 434, Steve McConnell

Mentoring is a mutuality that requires more than meeting the right teacher: the teacher must meet the right student. In this encounter, not only are the qualities of the mentor revealed, but the qualities of the student are drawn out in a way that is equally revealing. --The Courage to Teach: Exploring the Inner Landscape of a Teacher's Life, p. 21, Parker Palmer

A vocation that is not mine, no matter how externally valued, does violence to the self -- the precise sense that it violates my identity and integrity on behalf of some abstract norm. --The Courage to Teach: Exploring the Inner Landscape of a Teacher's Life, p. 30, Parker Palmer

When the group norm asserts, however subtly, that everyone must speak, or must speak in a common voice, then both speech and dissent are stifled, the solitude of the individual is violated, and no learning can occur. --The Courage to Teach: Exploring the Inner Landscape of a Teacher's Life, p. 77, Parker Palmer

We dance round in a ring and suppose,
But the secret sits in the middle and knows.
--Robert Frost

When we are not depedant on each other, community cannot exist. --The Courage to Teach: Exploring the Inner Landscape of a Teacher's Life, p. 139, Parker Palmer

My question cannot be honest and open if, even as I ask it, I am listening for a particular answer that I regard as "correct." --The Courage to Teach: Exploring the Inner Landscape of a Teacher's Life, p. 153, Parker Palmer

Practices perhaps inform and change our theories more often than theories influence our practice. --The Reflecting Team: Dialogues and Dialogues About the Dialogues, p. 167, Tom Andersen

When pride comes, then comes disgrace, but with humility comes wisdom. --Proverbs 11:2

The abstractness of the programming activity calls for an offsetting naturalness in the office environment and rich contacts among coworkers. --Code Complete, p. 547, Steve McConnell

If you have to pay twice as much to get a top-10-percent programmer rather than a bottom-10-percent programmer, jump at the chance. You'll get an immediate payoff in the quality and productivity of the programmer you hire, and a residual effect in the quality and productivity of other programmers your organization is able to retain because good programmers tend to cluster. --Code Complete, p. 549, Steve McConnell

Projects that aim from the beginning at achieving the shortest possible schedules regardless of quailty considerations, tend to have fairly high frequencies of both schedule and cost overruns. Software projects that aim initially at achieving the highest possible levels of quality and reliability tend to have the best schedule adherence records, the highest productivity, and even the best marketplac success. --Programming Productivity, p. 549, Capers Jones

It's nearly impossible to produce a high-quality product unless you can systematically retest it after changes have been made. ... The only way to manage regression testing is to automate it. --Code Complete, p. 618, Steve McConnell

Even if an error at first appears not to be your fault, it's strongly in your interest to assume it is. That assumption helps you debug: It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error free. --Code Complete, p. 628, Steve McConnell

A program with numerous small, well-named routines is as close as you'll get to a self-documenting program. Well-named routines are preferable to comments because readers can look at code only...and routine names are less likely to get out of date than comments are. --Code Complete, p. 741, Steve McConnell

How can you learn anything new if you pretend that you know everything already? --Code Complete, p. 761, Steve McConnell

The crucible for silver and the furnace for gold, but man is tested by the praise he receives. --Proverbs 27:21

Code that bores the programmer is likely to contain errors. --Java RMI, p. 66, William Grosso

Until we as an industry learn to control our schedules and free up time for developers and managers to learn more about their professions, we will never have enough time to put the rest of our house in order. --Rapid Development, p. xiii, Steve McConnell

A typical software project can present more opportunities to learn from mistakes than some people get in a lifetime. --Rapid Development, p. 29, Steve McConnell

Organizations that attempt to put software-engineering discipline in place before putting project-management discipline in place are doomed to fail. --Rapid Development, p. 55, Steve McConnell

Software development is a process of gradual refinement. You begin with a fuzzy picture of what you want to build and then spend the rest of the project trying to bring that picture into clearer focus. --Rapid Development, p. 165, Steve McConnell

Imprecision isn't a sign of a bad estimate; it's part of the nature of software development. Failure to acknowledge imprecision is a sign of a bad estimate. --Rapid Development, p. 198, Steve McConnell

The best way to motivate developers is to provide an environment that makes it easy for them to focus on what they like doing most, which is developing software. --Rapid Development, p. 255, Steve McConnell

A "team" exists whenever two heads together are better than two heads individually. --Rapid Development, p. 276, Steve McConnell

On a well-oiled team, different people will be willing to play different roles at different times, depending on what the team needs. --Rapid Development, p. 284, Steve McConnell

Refusing to allow changes assumes that your customers know what they want at requirements time. It assumes that you can truly know requirements at the outset, before design and coding begin. On most projects this isn't possible. Part of the software developer's job is to help customers figure out what they want, and customers often can't figure out what they want until after they have working software in their hands. You can use the various incremental development practices to respond to this need. --Rapid Development, p. 336, Steve McConnell

Today, the most successful products are often those that had the most change implemented the latest in the development cycle. --Rapid Development, p. 337, Steve McConnell

Software development is a tough, time-consuming business. For 30 years we've been told that the magic that will enable us to slay giant schedules and budgets is just around the corner. For 30 years it hasn't come. I say, enough is enough. There is no magic. There is no point in waiting for it. The more we wait, the more we deprive ourselves of valuable, incrementally better solutions to many of our problems. There aren't any easy solutions, but there are easier solutions, which can provide modest improvements individually and dramatic improvements collectively. --Rapid Development, p. 368, Steve McConnell

All people live in the reality God had created. The more closely we conform to reality as it is, and not to the way we imagine it, the closer we are to life and prosperity. --Discipling Nations, p. 36, Darrow Miller

While man's mind is woefully limited when compared to God's boundless fountainhead of intellect, still we can learn something about the world and our place in it by pondering the mind of the Almighty, even though we will never comprehend all its awesome majesty. --Discipling Nations, p. 85, Darrow Miller

By adding the truth and morals God has revealed, "knowledge workers" can become "wisdom workers." These people share not only what's in their heads but also what's in their hearts. --Discipling Nations, p. 107, Darrow Miller

Science, ideally, is the fulfillment of man's moral obligation to inquire into the nature of creation for God's glory. Technology is (or should be) the moral applic