Martin Fowler

Image of Martin Fowler
If you're afraid to change something it is clearly poorly designed.
- Martin Fowler
Collection: Ifs
Image of Martin Fowler
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
- Martin Fowler
Collection: Inspirational
Image of Martin Fowler
Comprehensiveness is the enemy of comprehensibility.
- Martin Fowler
Collection: Enemy
Image of Martin Fowler
The biggest issue on software teams is making sure everyone understands what everyone else is doing.
- Martin Fowler
Collection: Team
Image of Martin Fowler
If you're a technical lead, you need to be coding.
- Martin Fowler
Collection: Needs
Image of Martin Fowler
Now I'm a pretty lazy person and am prepared to work quite hard in order to avoid work.
- Martin Fowler
Collection: Order
Image of Martin Fowler
When to use iterative development? You should use iterative development only on projects that you want to succeed.
- Martin Fowler
Collection: Use
Image of Martin Fowler
So I hope I’ve made clear that imposing agile methods is a very red flag.
- Martin Fowler
Collection: Red Flags
Image of Martin Fowler
I find that writing unit tests actually increases my programming speed
- Martin Fowler
Collection: Writing
Image of Martin Fowler
In almost all cases, I’m opposed to setting aside time for refactoring. In my view refactoring is not an activity you set aside time to do. Refactoring is something you do all the time in little bursts.
- Martin Fowler
Collection: Views
Image of Martin Fowler
A pattern is an idea that has been useful in one practical context and will probably be useful in others.
- Martin Fowler
Collection: Ideas
Image of Martin Fowler
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
- Martin Fowler
Collection: Team
Image of Martin Fowler
One of the big dangers is to pretend that you can follow a predictable process when you can't.
- Martin Fowler
Collection: Danger
Image of Martin Fowler
Never in the annals of software engineering was so much owed by so many to so few lines of code
- Martin Fowler
Collection: Engineering
Image of Martin Fowler
When you actually sit down to write some code, you learn things that you didn't get from thinking about them in modeling terms...there is a feedback process there that you can only really get at from executing some things and seeing what works
- Martin Fowler
Collection: Writing
Image of Martin Fowler
I can't choose whether someone is offended by my actions. I can choose whether I care.
- Martin Fowler
Collection: Care
Image of Martin Fowler
I can only think of so many good ideas in a week. Having other people contribute makes my life easier.
- Martin Fowler
Collection: Thinking
Image of Martin Fowler
I've learned to always avoid saying "always"
- Martin Fowler
Collection: I've Learned
Image of Martin Fowler
One of the things I've been trying to do is look for simpler or rules underpinning good or bad design. I think one of the most valuable rules is avoid duplication. "Once and only once" is the Extreme Programming phrase.
- Martin Fowler
Collection: Thinking
Image of Martin Fowler
Comparing to another activity is useful if it helps you formulate questions, it's dangerous when you use it to justify answers.
- Martin Fowler
Collection: Use
Image of Martin Fowler
Why is composing symphonies tough? I don't know. It's just very few people in the world can do it well. And I think that's the case with upfront design. It is very hard to do well.
- Martin Fowler
Collection: Thinking
Image of Martin Fowler
I find that writing unit tests actually increases my programming speed.
- Martin Fowler
Collection: Programming