Originally posted by Srinivas Ramgopal:
TDD is difficult in case of AMDD and major spiking.
Originally posted by Srinivas Ramgopal:
TDD must not be a rule to be followed by the team since not every one is comfortable with design with tests without a little bit of upfront design to start with at the least.
Originally posted by Srinivas Ramgopal:
TDD must not be a rule to be followed by the team since lot of redundant tests (beacuse of design on the fly) that needs major refactoring.
Originally posted by Srinivas Ramgopal:
TDD must not be a rule to be followed by the team since leads to interfaces to every class, though there would be only one class that implements the interface.
Originally posted by Srinivas Ramgopal:
Tests/code with no documentation - class/method level documentation is needed to be maintained inspite of XP saying that documentation is not necessary as tests and code must be self explanatory.
Originally posted by Srinivas Ramgopal:
But I guess though the TDD/XP books/coaches recommend the approaches, it is hard to follow them in their entirity in the practical world, given the different/strong views in a team.
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Srinivas Ramgopal:
1) TDD is difficult in case of AMDD and major spiking.
-not every one is comfortable with design with tests without a little bit of upfront design to start with at the least.
- lot of redundant tests (beacuse of design on the fly) that needs major refactoring.
- leads to interfaces to every class, though there would be only one class that implements the interface.
3)Pair programming - did not always help in terms of productivity, depending on the type of personalities that pair together (Especially when one of the developer mind set is to finish things and move on to a new task and other's being more laid back).
4) Tests/code with no documentation - class/method level documentation is needed to be maintained inspite of XP saying that documentation is not necessary as tests and code must be self explanatory.
5)running integration tests before checkin into version control tool - integration tests take about 5 - 10 minutes to run. Thus most of the developers want to run the integration tests during after business hours.
Basically most of the team members think that TDD/XP must not hinder their approaches and creativity based on the experience with software devlopement; instead they must be given a choice to choose depending on the situation.
My personal thought is that I would follow agile development by completely adopting the new mindset of agile devlopement since it proven to lead to a project's success.
But I guess though the TDD/XP books/coaches recommend the approaches, it is hard to follow them in their entirity in the practical world, given the different/strong views in a team.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
Could you elaborate on why AMDD and spikes make TDD difficult?
As Lasse indicated, this seems to suggest that you are doing a lot of interaction based testing. If it concerns you, you should probably look into doing more state based testing. See http://www.martinfowler.com/articles/mocksArentStubs.html
Pair Programming is a (mostly social) skill that needs to be learned. What did you try to resolve those conflicts?
Originally posted by Srinivas Ramgopal:
I guess this all comes down to the certain level of strong resistance shown by few developers aganist the agile approaches of the new developer/coach, which lead to the withdrawal of the coach from those developers. Thus some of those developers who worked on AMDD/spiking, did not get the actual feel of XP/TDD and thus found it hard to implement.
Originally posted by Srinivas Ramgopal:
Yes, we are using mock objects which need interfaces.
Originally posted by Srinivas Ramgopal:
This leads to another question - what is wrong with having interfaces even if there is only one class implementing it?
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Lasse Koskela:
Are you saying that one half of the team tried to do agile modeling (AMDD) and implemented spikes while the other half of the team practiced XP but didn't do spikes nor model?
Originally posted by Lasse Koskela:
When you say "XP/TDD", which practices of XP are you referring to?
Originally posted by Srinivas Ramgopal:
The nature of the work/components that second set of developers worked on, did not need much of spiking or model and thus had no major issues with test driven approach.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Srinivas Ramgopal:
Yes, we are using mock objects which need interfaces.
This leads to another question - what is wrong with having interfaces even if there is only one class implementing it?
Most of these conflicts are not reported as part of team dynamics but it does hinder the motivation especially for the developers who previously worked in goal oriented and highly motivated teams.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Srinivas Ramgopal:
The nature of the work/components that second set of developers worked on, did not need much of spiking or model and thus had no major issues with test driven approach.
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Ilja Preuss:
I'm sorry, I don't get the meaning of this sentence at all. Could you please try again? Thanks!
Originally posted by Srinivas Ramgopal:
I realize that it might be better to pair the programmers when needed but not expect them to pair up continously for 8-10 hours a day.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
Well, as I said, you might want to take a look at set based testing - it will greatly reduce the need for mocks. (Overuse of mocks is a common "beginner's disease", in my experience.)
[OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Originally posted by Jeanne Boyarsky:
What's set based testing?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
A typo. I meant state based testing...
[OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Originally posted by Frank Carver:
[qb]
Have you looked at ways to split down your larger features/tasks/stories into small, "bite-sized" tasks which can be done much more quickly.
Originally posted by Frank Carver:
[qb]
One of the biggest headaches for a project manager is worrying that weeks (or even months) of work will be spent and it still won't be any closer to "done".
Whatever you mean by the design "phase" and implementation "phase", pair programming fits in for those moments when you program. Working in pairs, however, fits in for a lot of other stuff, tooOriginally posted by Srinivas Ramgopal:
It looks like pair programming fits in more during the design and implementation phase?
Originally posted by Srinivas Ramgopal:
Also what are your thoughts about meeting an iteration's deadline? Does the deadline always have to be met in XP world?
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Srinivas Ramgopal:
1) Pair programming: We could not rotate team members each day among different pairs. Instead we changed pairs after each iteration (each iteration is one month).
The ISSUE being the fear that whatever the paired programmers researched or thought about (especially if in analysis phase) might be lost.
In other words, we felt there needs to be a some amount of knowledge transfer each time a programmer is rotated among pairs; this demands allocation of time, which is hard to find due to the tight deadline for the iteration.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Srinivas Ramgopal:
It looks like pair programming fits in more during the design and implementation phase??
In other words, since the team is a mix of contractors and permanent employees, contractors (especially) still tend to have a grip and not share much of the knowledge with the fear of loosing the job (which again is aganist agile developement which says knowledge needs to be shared).
Gosh, as I am thinking about the transition, I feel that this complete transition in the mind set takes a while!? ...but we have been in the transition phase for 8 months already???
Also sometimes, I think it is easy for a transition without strong views/resistance in a team!?
Also what are your thoughts about meeting an iteration's deadline? Does the deadline always have to be met in XP world?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Srinivas Ramgopal:
From my experience as consultant in different companies/teams, I found that no two teams/projects are alike.
Especially, the energy in team is tied to the nature of the job. If the project is not that complicated, naturally team members are mostly on laid back side. Especially in such projects, I do not see much benefit of introducing pair programming concept, as it leads to initial chaos and lot of adjustment especially when rotating pairs. In other words, this demands lot of change in an indiviudal's attitude itself(especially if that person had been working in a laid back work atmosphere for a lot of years).
In such team enviornments, why not follow all prinicples of XP EXCEPT Pair Programming; Instead of pair programming, why not have extensive code reviews now and then during each iteration???
Also, I have been reading books about motivating teams to be more self organized etc.
But in real world, each team is made of different and sometimes difficult attitudes and different work styles which makes it real difficult to bring in a desired amount of change.
I really wonder at times, if bringing in a coach ALWAYS makes a big difference especially when the management is willing to see the changes only in a given period of time, since a coach is usually expensive???
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
Which books did you read? I'm always searching for new reading fodder...
Originally posted by Ilja Preuss:
I'm not sure I'm getting your point here. Care to elaborate?
Originally posted by Frank Carver:
You might find this article interesting.[/QB]
Originally posted by Srinivas Ramgopal:
I read mostly John C. Maxwell's books.
I still have to read 'Fearless Change' recommended by you long time ago.
Do you mind recommending any more good books that you liked!?
First of all, I am not sure what changes a coach can bring in general, thus please excuse me for my ignorance.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Srinivas Ramgopal:
A. Some team members do not plan anything but would never miss the deadlines.
B. Some team members are more self organized, have more sense of urgency, goal oriented and try to be productive atleast 7 hours a day. They always try to finish things early rather than dragging the pending work till the deadline.
[OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus