Foram encontradas 181 questões
Resolva questões gratuitamente!
Junte-se a mais de 4 milhões de concurseiros!
Team Composition
In a large organization, it is often the case that different roles emerge. In Tayloristic teams, these different roles are grouped together as a number of role-based teams each of which contains members of the same role. In contrast, agile teams use cross-functional teams. Such a team draws together individuals performing all defined roles. Rotations from one role to another are common. It is also possible to have highly specialized experts (for example, security analysts and usability engineers) shared among several teams in an organization.
One advantage to role-based teams is that teams whose work products are independent of each other can work in parallel as long as there is not much knowledge flow among the different functional sub-team. However, in knowledgeintensive software development that demands information flow from different functional sub teams, role-based teams tend to lead to islands of knowledge and difficulty in its sharing among all the teams. As hand-offs between teams usually are based on document flow, the knowledge of one team that is required by the other team must be externalized and documented. Although reviews try to minimize the knowledge loss, externalization and documentation processes cannot guarantee that all knowledge is captured and even if most of it was rigorously captured, there is still no guarantee or way to check its correctness till the project sign-off.
Cross-functional teams should be used to facilitate better knowledge transfer. This is especially the case for agile methods since they are recommended to be used where there is a lot of uncertainty and unknown knowledge about the domain and system requirements, and the technologies to be used are new and unexplored.
Adaptado de: CHAU THOMAS, MAURER FRANK e MELNIK GRIGORI. Knowledge Sharing: Agile Methods vs. Tayloristic Methods. (WETICE´03) Proceedings of the Twelft IEEE International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003.
Team Composition
In a large organization, it is often the case that different roles emerge. In Tayloristic teams, these different roles are grouped together as a number of role-based teams each of which contains members of the same role. In contrast, agile teams use cross-functional teams. Such a team draws together individuals performing all defined roles. Rotations from one role to another are common. It is also possible to have highly specialized experts (for example, security analysts and usability engineers) shared among several teams in an organization.
One advantage to role-based teams is that teams whose work products are independent of each other can work in parallel as long as there is not much knowledge flow among the different functional sub-team. However, in knowledgeintensive software development that demands information flow from different functional sub teams, role-based teams tend to lead to islands of knowledge and difficulty in its sharing among all the teams. As hand-offs between teams usually are based on document flow, the knowledge of one team that is required by the other team must be externalized and documented. Although reviews try to minimize the knowledge loss, externalization and documentation processes cannot guarantee that all knowledge is captured and even if most of it was rigorously captured, there is still no guarantee or way to check its correctness till the project sign-off.
Cross-functional teams should be used to facilitate better knowledge transfer. This is especially the case for agile methods since they are recommended to be used where there is a lot of uncertainty and unknown knowledge about the domain and system requirements, and the technologies to be used are new and unexplored.
Adaptado de: CHAU THOMAS, MAURER FRANK e MELNIK GRIGORI. Knowledge Sharing: Agile Methods vs. Tayloristic Methods. (WETICE´03) Proceedings of the Twelft IEEE International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003.
Portfolio managers must construct investment portfolios that:
I. Maximize return for a given risk
II. Minimize risk for a given return
III. Avoid high correlation
IV. Are tailored to the individual company
Choose the alternative that presents the management skill associated with the following statements:
“Establishing direction—developing both a vision of the future and strategies for producing the changes needed to achieve that vision”
“Aligning people—communicating the
vision by words and deeds to all those
whose cooperation may be needed to
achieve the vision.”
Set the Table
When you begin writing tests, you will discover a common pattern:
1. Create some objects
2. Stimulate them
3. Check the results
While the stimulation and checking steps are unique test-to-test, the creation step is often familiar. I have a 2 and 3. If I add them, I expect 5. If I subtract them, I expect – 1, if I multiply them, I expect 6. The stimulation and expected results are unique, the 2 and the 3 don’t change.
If this pattern repeats at different scales (and it does), then we’re faced with the question of how often do we want to create new objects. Looking back at our initial set of constraints, two constraints come into conflict:
· Performance—we would like our tests to run as quickly as possible
· Isolation—we would the success or failure of one test to be irrelevant to other tests
For performance sake, assuming creating the objects (we’ll call them collectively the “fixture”) is expensive, we would like to create them once and then run lots of tests.
But sharing objects between tests creates the possibility of test coupling. Test coupling can have an obvious nasty effect, where breaking one test causes the next ten to fail even though the code is correct. Test coupling can have a subtle really nasty effect, where the order of tests matters. If I run A before B, they both work, but if I run B before A, then A fails. Worse, the code exercised by B is wrong, but because A ran first, the test passes.
Kent Beck – Test-Driven Development By Example. Addison-Wesley Professional; Edição: 1. Novembro, 2002. Page 82.
Set the Table
When you begin writing tests, you will discover a common pattern:
1. Create some objects
2. Stimulate them
3. Check the results
While the stimulation and checking steps are unique test-to-test, the creation step is often familiar. I have a 2 and 3. If I add them, I expect 5. If I subtract them, I expect – 1, if I multiply them, I expect 6. The stimulation and expected results are unique, the 2 and the 3 don’t change.
If this pattern repeats at different scales (and it does), then we’re faced with the question of how often do we want to create new objects. Looking back at our initial set of constraints, two constraints come into conflict:
· Performance—we would like our tests to run as quickly as possible
· Isolation—we would the success or failure of one test to be irrelevant to other tests
For performance sake, assuming creating the objects (we’ll call them collectively the “fixture”) is expensive, we would like to create them once and then run lots of tests.
But sharing objects between tests creates the possibility of test coupling. Test coupling can have an obvious nasty effect, where breaking one test causes the next ten to fail even though the code is correct. Test coupling can have a subtle really nasty effect, where the order of tests matters. If I run A before B, they both work, but if I run B before A, then A fails. Worse, the code exercised by B is wrong, but because A ran first, the test passes.
Kent Beck – Test-Driven Development By Example. Addison-Wesley Professional; Edição: 1. Novembro, 2002. Page 82.
