Originally posted by Shrin Krishnan:
Can you provide any insight on this aspect ?
Check out Ship It! A Practical Guide to Shipping Software<br /> <br /><a href="http://www.pragmaticprogrammer.com/titles/prj/" target="_blank" rel="nofollow">http://www.pragmaticprogrammer.com/titles/prj/</a>
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Originally posted by Shrin Krishnan:
What is your opinion on this, in your experience how is design kept coherent with change and iterations.
Check out Ship It! A Practical Guide to Shipping Software<br /> <br /><a href="http://www.pragmaticprogrammer.com/titles/prj/" target="_blank" rel="nofollow">http://www.pragmaticprogrammer.com/titles/prj/</a>
[OCP 21 book] | [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
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Originally posted by Shrin Krishnan:
Traceability in the sense I am using it has to do with maintaining a coherent flow from artifact to artifact as we move from thru various phases of design analysis->design->code etc. Hence, if we ever chose one use case, we can go from analysis to design easily, and in some case design to analysis.
So, analysis patterns map to design patterns
What is your opinion on this, in your experience how is design kept coherent with change and iterations.
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
Originally posted by Dinaker Yanamandala:
If you have a requirement in your requirement doc you need that to be traced to some meeting notes. This pratice helps to maintain better requirements
and also gives an accountability of when and how that requirement was captured.
same applies to design. traceability to requirements from design will give you an accountability of why you designed the way you designed it with respect to a reqm
same applies to testing - makes sure each and every requirement and design is tested
Meeting notes -> Requirements -> High Lvl design -> Detail Design -> Intergation T -> System T -> UAT
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 Shrin Krishnan:
This is a question for the authors, how do you think agile methodologies handle traceability from 1 phase to another, with multiple iterations?
In my experience traceability place a key factor in developing a top notch design that can survive change. Can you provide any insight on this aspect ?
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Originally posted by Ilja Preuss:
On an XP project, that would probably look more like
User Story -> Customer Acceptance Tests -> Working System
How does that sound to you?
Originally posted by Srinivas Krishnan:
I think we require some mechanism to hold all the pieces together, without traceability people can do each phase completely seperate with no understanding of what the requirements are. And once it comes to testing and we want to see what broke where, and if it was a design flaw, we can use good traceability to localize faults and the ripple effects.
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
DoD, FDA treat traceability matrix or docs as required artifacts
Traceability is of course a fundamental concept of software engineering, as opposed to computer programming. In the Waterfall Era we would start with a requirement and move through requirements, design, implementation and final documentation making sure that you could follow a feature from end-to-end. If you could not trace it there was a problem. This was entirely consistent with the waterfall method: a dismal unqualified failure from start to end. Traceability went out the window in week two alone with the original requirements. HAH!
On an XP project, that would probably look more like
User Story -> Customer Acceptance Tests -> Working System
I think traceability was a response to a problem with requirements that are expressed in some meeting or document and don't make it into the code. Or things that show up in the application that nobody ever really wanted. In monstrously huge and critical systems like building the shuttle it's important to make sure every engineering change is done and was really desired.
Our QA folks still maintain traceability docs from requirements to tests, I think. We're trying hard to get the tests up front so that's not necessary. I hope one day they tire of the duplication between requirements docs and tests and give up the requirements docs.
Just adapt to to your spiral/agile process. You have your latest feature (next iteration) based on a requirement and you can trace it through to all of your design artifacts and deliverables (a few UML diagrams and your unit tests, integration tests and functional tests). It's sort of a priori but there's nothing stopping you from incrementally creating a compendium as you go.
Instead maintaining traceability through patterns from artifact to artifact.
Traceability from meeting notes to win-win conditions to requirements help people to trace the source of requirement. Aso requirement can be linked to other requirements.when a requirements is changed it gives the requirement manager to looks for reqms that can be affected because of the change. for a requirements manager he needs to account for each and every requirement he/she comes out with. For a team of 20 you might not probably have a requirements manager.
Imagine you have this process installed, and now you make a change to the design to support a new feature. Not later than the morning of the next day you will know whether your change was inappropriate for prior requirements. You will in fact know exactly which features you broke. And you will probably remember what feature you did the change for.
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Originally posted by dinaker prasad:
This might work for you and your organization which does not mean that it would work for everyone.
Traceability from meeting notes to win-win conditions to requirements help people to trace the source of requirement.
Aso requirement can be linked to other requirements.when a requirements is changed it gives the requirement manager to looks for reqms that can be affected because of the change. for a requirements manager he needs to account for each and every requirement he/she comes out with. For a team of 20 you might not probably have a requirements manager.
Again if you are 100% agile, with small teams working in cubes next to each other this artifact might be worthless.
As an aside, if you want to be even near to "100% agile" (whatever that would mean), you probably should do away with cubes as one of the first steps...
You can only understand the beauty of some of the software artifacts and processes only when you get to see it work.
Not every one gets a chance to work with various team sizes and complexity. so when you see an instance of XP working for
you again and again that does not mean its the best solution out there for every organization.
Yes, it's good to remember that. And it doesn't only apply to XP, of course.
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
That feels good. Thanks. Here's a tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
|