Arthur C. 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.
–
Phlip
"Pigleg too?", week 1