Best concrete "How-To Manual" on * Management * Test drive and / or Agile development?

I am looking for an easily digestible book to present to my boss / team.


Background information: More and more of our meetings at work are attracting my boss / team thinking about how to use more “best practices” here. ("Here" = a very small application development store. 4 developers)

Listed below are the elements that fit our entire team:

  • Night assembly
  • Separating "errors" in our error debugger into smaller, more specific elements
  • Automated Testing

The problem we are facing is how to get started.

I believe that if my store could just choose a clear and concrete plan or set of rules, then everything else would fall into place. Right now we are stuck in discussions of fuzzy, nice ideas and nice sounds.

Please recommend me your favorite book (or online resource) that contains clear, discrete, sequential steps for implementing a management scheme for TDD or Agile team / shop management.

I understand that in addition to TDD and Agile, there are other paradigms that will also solve these problems, but my own interests and prejudices point to TDD and Agile, so I would like to use the team’s desire to change and “push” it in this direction. Or feel free to hit me if you disagree with my feelings! I will not be offended. :)

As others have argued, I think these questions are best answered when respondents list only one book recommendation for each answer.


Thanks to everyone.

+5
testing project-management agile
source share
9 answers

To release another name for the pragmatic programmer in the mix: Send it!

Great book - take a look, it can meet your needs with a guide.

+3
source share

For your needs, I recommend Test Driven Development: By Example (Kent Beck). It is clearly written, more practical than theoretical, and prescribes time-tested recipes for a flexible, test-oriented approach.

+3
source share

I suggest you start with what you agree on: nightly builds and automated tests. Nightly builds are easy. For automated tests, I would start with:

  • Each commit with new functionality must have at least one automatic test
  • Each fixture that fixes the error must have at least one automated test that fails without a fix and succeeds with the fix

If you do, you will begin to gain experience. Thanks to this experience, it will be much easier to understand all the useful tips that are in the literature.

There are many good books on good practices, but you need to figure out what works for your team.

+2
source share

Agile methods are not really methods ...

There is more spirit. The focus is on:

  • communication

  • reactivity to change

  • customer orientation

This can be achieved in many ways, and more importantly, find a way to do this. If you need an example of what might be this spirit, you can read the online 37signals free book, Getting Real .

But there are a few steps you can start with

These are not big rules that you must follow, but you can try the following and see how this happens with your team:

  • Quick meetings. 5-15 minutes of a daily meeting, where everyone gets to their feet and explains that he has done what needs to be done and what can prevent him from doing it. Keep it in less than 15 minutes with as few people as possible.

  • Set simple goals for short-term deadlines instead of big goals in a few weeks.

  • Create a small team (3 people) and divide the work between them. Put them in one room and make sure they have at least half a day to work without ANY interruption.

  • Install many small regular reviews with your client. Do not write specifications. Sketch, design, prototype, show to the client, fix / adapt / change, then build. Then do it again.

  • Testing, version control, and bug tracking are tools, not methods. Nobody cares about how you do it and with what software you work for a long time. It's not a problem.

+2
source share

This is not a step-by-step book, but full of great tips and easily digestible: Agile Developer Practices . And if you want to conduct TDD training at home, I recommend netobjectives . I had my own TDD courses, and it really opened my eyes.

+1
source share

Unfortunately, even the clearest and most concrete plan can be controversial.

I will tell you what works. Launch TDD immediately. It has boundaries. It is relatively easy. You will still have a million questions.

You can say: "What about nightly builds?" "How about using an error tracker?"

Many thoughts can mean one of two things.

Firstly, this may mean that someone is silent about the “problems” and the “questions”. Sometimes this is really displeasure in the change, voiced as "problems." Sometimes it's really a crushed ego ("I thought I was pretty harsh, now someone says that I should have improvements imposed on me.")

Secondly, it can mean that it is rather difficult. Therefore, do not look at it as “ Many new best practices .” Look at this as a few additional enhancements. You do not change yourself fundamentally (well, it can happen, but do not start with it as your plan.)

My experience is that you can only do one new thing at a time. Make a TDD until it gets boring. Then do something else. Often nightly builds become apparent after you have a robust test suite. Then, when it’s boring, make some more small, additional process improvements.

One thing at a time. Baby steps Avoid throwing babies out of the bath. All you need to be a little better next month than you this month.

If you have concerns about adopting a small incremental improvement, find the root cause. Who is the ego bruised? Who worried about the changes?

+1
source share

You can print it Scrum and XP from tranches from Henrik Kniberg, it focuses more on the flexible development process, which is on TDD, but it is easy and quick to read.

+1
source share

Check out Marty Kagan’s books.

+1
source share

my favorite extreme programming planning

EDIT: It provides a complete replacement for traditional XP / Agile team-oriented project management.

there is a danger by applying modern development methods, and then strangling them with archaic methods of project management and management.

0
source share

All Articles