How long do you take for each Development Cycle

Arthur Chan wrote:

Hi guys,

I don't know if this question is proper to post here. But I think it is related to every developer, so I post.

I am using RoR for developments more than a year. We are using Bugzilla. We do unit, funcitonal and watir tests.

Do you pair program? Use test-driven development? And do you make the fewest possible edits between successful test runs? Do you test incrementally, where only suites edited in the last 10 minutes run to integrate?

We usually schedule to do around 40-50 bugs for each development cycle and it scheduled to take 3-4 days.

By "bug" do you mean missing feature? glitch? or irritating surprise?

Honestly we have the last one about once a month. We could do better. But the good news about our missing features is we _know_ they are missing; they are not surprises...

However, most of the time we cannot meet schedule and bugs are often found (around 10-25% need to reopen).

Are your user stories very small, such as 1 hour to 3 days duration?

Do you integrate continously and deploy daily? Do you work overtime?

I am using RoR for developments more than a year. We are using Bugzilla. We do unit, funcitonal and watir tests.

Do you pair program? Use test-driven development? And do you make the fewest possible edits between successful test runs? Do you test incrementally, where only suites edited in the last 10 minutes run to integrate?

Do you refactor _mercilessly_ enduring no un-DRY code?

Hi Phlip,

Phlip wrote:

Arthur Chan wrote:

Hi guys,

I don't know if this question is proper to post here. But I think it is related to every developer, so I post.

I am using RoR for developments more than a year. We are using Bugzilla. We do unit, funcitonal and watir tests.

Do you pair program? Use test-driven development? And do you make the fewest possible edits between successful test runs? Do you test incrementally, where only suites edited in the last 10 minutes run to integrate?

We don't use Test-driven development, but should be similar to Agile Development. We decide each phase by putting the tasks or previous bugs into bugzilla (ticket system), then start doing it. I think the problem may be somehow created in the design phase since we only use bugzilla but not e.g. UML.

For the automated tests, we just installed the ZenTest. Before that, we write the test before integration.

And not much Codes reviews too.

We lack those UML, and Code Reviews all b'cuz the time. I think there should be trade off for it.

We usually schedule to do around 40-50 bugs for each development cycle and it scheduled to take 3-4 days.

By "bug" do you mean missing feature? glitch? or irritating surprise?

Both. For our boss, some usability problem or layout problems are surprise. And we focus on the functional stuff usually in our tests. That's the biggest surprises come from.

Honestly we have the last one about once a month. We could do better. But the good news about our missing features is we _know_ they are missing; they are not surprises...

We sometimes know it, but our boss doesn't think so. E.g. we modified jQuery Validation (real time validation plugns) display, it works fine in most case. But suddenly, in some ajax forms, the position distorted in IEs. That considered a critical one.

So, how do you guys think about these kinda bug? Are we treating not serious enough to these problems?

However, most of the time we cannot meet schedule and bugs are often found (around 10-25% need to reopen).

Are your user stories very small, such as 1 hour to 3 days duration?

Do you integrate continously and deploy daily? Do you work overtime?

Our phase is susposed to be 3 days usually including the whole development cycles. But usually we used 4-5 days even with many OTs.

We integrate if we found that changes spread over web pages and before testing. Do you think our integrate process got problems?

Thanks guys!!!!! arthur

Arthur Chan wrote:

>> On the other hand, 4 days to resolve 25 simple bugs does not seem so >> tight. >> >> Cheers, Sazima > > Yup, i agree. But the bosses and clients never think so. Or actually, > they think so, but changed their mind when other things go wrong > together as the whole process are delayed.

Ah, the joys of encountering reality! When a project starts, the process does not (apparently) matter! You can use code-and-fix, and whip out a great demo.

Then, as the clients start asking for feature requests, each one starts taking a liiiittle longer!

Do you pair program? Use test-driven development?

We don't use Test-driven development, but should be similar to Agile Development. We decide each phase by putting the tasks or previous bugs into bugzilla (ticket system), then start doing it. I think the problem may be somehow created in the design phase since we only use bugzilla but not e.g. UML.

TDD _is_ the design process. It also reduces bugs. Never write the tests "just before integration" because you will miss stuff.

Without TDD, you implement by debugging; by adding code, and noodling around with the running app to see if it works. That's a complete waste of time. TDD tells you if the logic is working, faster, so you can free up more test time.

For the automated tests, we just installed the ZenTest. Before that, we write the test before integration.

ZenTest is just a tool.

And not much Codes reviews too.

That is what pair programming is for. With just two guys, that will be a pain, though!

We lack those UML, and Code Reviews all b'cuz the time. I think there should be trade off for it.

UML is not a process. Just throw in RailRoad (with Graphviz) and the UML is automatic...

Now, is your code DRY? Is it all the same style? Are your models fat and controllers thin? Is any business logic in the view? Are your statements short? Does every name reveal intent? All these details will slow you down...

Our phase is susposed to be 3 days usually including the whole development cycles. But usually we used 4-5 days even with many OTs.

A "phase" is supposed to be a week. Stop doing overtime. But are your User Stories very small? Are they small increments on existing features, such as "take the form you wrote for the Frobs and now add a Delete button".

When you do a User Story, are the programmers pulling for reducing the features? Do you do the minimum possible, get a review from your Onsite Customer, and then make him tell you to add more? _That_ is a review process - letting your boss watch things grow in realtime.

We integrate if we found that changes spread over web pages and before testing. Do you think our integrate process got problems?

By "integrate" do you mean "run all the tests and check in to Subversion if they all pass"? We do that every 1 to 10 minutes.

you missed the bug up your ass.