Best Practices for Agility-1

Source: Internet
Author: User

Part I: Agile real Agile Development benefits personal development

As far as testing is concerned, testers are like the only drivers in a sports car, and the project is the same as the sports car, where testers need to correct the deviations in their driving directions and make sure the car is moving steadily on the right path. If the testers do not have enough responsibility and leadership, just to conform, I am afraid that this test should be no different from the quality of the Agile project is also more worrying, and agile has lost its original meaning. Therefore, as the only tester, he or she will have ownership of the test, plan, design, and perform all the testing work. But also because has the more ownership spirit, the positive work enthusiasm, the test personnel bravely faces the various challenges in the work, learns the new knowledge and diligently cultivates own work skill. Agility undoubtedly has a great effect on personal development.

Everyone in the agile team needs to sit down regularly with the rest of the team to see the overall progress of the team, plan for the next step, and explore solutions to the problems encountered. It is also necessary to seek the help of other members of the team to solve the critical problems. Through frequent cooperation and communication, personal collaboration ability, communication ability has also been greatly improved.

Agile development fosters the ability of individuals to collaborate

Unlike traditional development, agile development is more focused on people-oriented, to play a positive role in order to improve team productivity. Truly achieve results-oriented workplace practices. As part of the team, both the test, the developer, and the designer, they will be indispensable to the success of the team. The team is a highly collaborative team, in addition to doing their job, the agile development model requires individuals to understand and strive for more scalable work, but also to help other members of the team to solve their unique problems encountered in order to accelerate the realization of the team's unified goal, that is, in less time to produce a reliable product to market.

Once again, the high degree of collaboration is mentioned here, and the author believes that the high level of teamwork is mainly characterized by the following:

    1. Team members actively share experiences, knowledge, skills needed for self-cultivation and self-growth;

    2. Team members help each other, are willing to be a reserve player, ready to put in new battles, thus safeguarding the team's high morale and strong vitality.

    3. Any decision is the team's common decision, the work is the team work together, the final result of the team work is also from the team each person's hard training and contribution. And the team's failure is the failure of the whole team, it will not be a unilateral fault of one person. This kind of weal and woe, symbiotic common interest belief will let the team's strength exceed the team each strength's sum. At the same time, the efficiency of the project team improves the skills of the team members and strengthens the belief.

Agile Development exercises personal communication skills

We regard the team as a highly collaborative whole, it is not to be overlooked that there are still various contradictions within the team, the failure of these issues will undermine the cohesion of the team, productivity. Many of the problems reflected here are not unique to agile, but team members learn to solve problems themselves because of agility. and the corresponding communication skills with the problem of the solution has been greatly improved.

In the past project experience, it is not difficult to find a variety of human conflicts between the production. And the classic paradox also let us have to accept, the contradiction is always there, but this is nothing scary. But once we find the existence of contradictions, we need to find a solution quickly, which is a very important task for the team. Especially in the early stages of team building, when the team began to adopt the new development model, it is important for the team to solve the following contradictory tasks:

    • Testers are quality engineers, developers are the creators of the product, in the quality standards of identity often inconsistent (of course, traditional development will also be produced);

    • The design of UCD responds to users ' needs in real time, but sometimes it can not take into account the realization of code;

    • Developers prefer to use the idea of understanding, and the customary way to fill in the code, and even the subjective resistance to accept the new design ideas and reject the new type of defect repair, so with the team's overall goal, the starting point of disagreement;

    • From the perspective of the entire project organization, there is an inconsistency in design and development between agile teams (a project usually consists of multiple agile teams, each with its own focus), which results in additional costs for the product during the integration phase.

As discussed earlier, contradictions always have a way to solve, agile Project organization in the management of the way to intervene is a direct, fast way, and today's agile methodology is more advocated by the team to encourage good communication and communication within the self-solution. It is also through the continuous strengthening of the mutual understanding between the team and the team, not only the contradictions have been well resolved (the bell must be Bell people), personal communication and communication skills have been further improved.


Agile development cultivates individual's sense of innovation

Innovation can bring new development opportunities for enterprises and create new value, so innovation is very important for enterprises and individuals. It is also one of the talents training strategies for almost all enterprises to cultivate employees ' innovative ability and encourage innovation activities. Agile development is about breaking traditional patterns, creating new agile development, agile testing methodologies, practices and processes, and encouraging teams to adopt new technologies and technological innovations. Therefore, everyone in the team needs to be able to work creatively and be receptive to new things, and strive to improve the efficiency of the team in order to adapt to the incremental development needs of the product through continuous improvement and breaking through outdated practices.

And because the agile development model is still unfamiliar to many teams, we encounter many new challenges and new difficulties in the process of using agile development. How to deal with these problems, the solution itself is no use for reference, independent innovation is the only way out.

For example, early in the Agile project, the product stays in the prototype demonstration and the basic structure preliminary design, the product function is not many, the complexity is small, the general manual test can carry on the quality safeguard to do well. Product complexity increases with the addition of new requirements and new functions in the middle and late stages of products. If the team still only rely on the inherent manual testing method to cover the product's various functions, non-functional point requirements are only afraid of the inadequacy. Therefore, it is one of the most desirable ways to consider using automated testing to improve team productivity. However, when the product development into the middle and late, there is no surplus resources can be extracted to do automated testing. Even if the new recruits, but also because the new products do not understand, I am afraid the effect of automated testing is not as people wish. Should we try to automate the design of the test and automate part of the functional testing at the beginning of the development activity? Also, because in the early stage of product development, the product function and interface changes will be relatively large, automated test revenue output is lower than the abnormal. Therefore, when, where, how to design, the use of automated testing to help reduce labor costs, improve testing efficiency is the need for our bold innovation.


The commonality of Agile methods

Although the names of the various agile methods, the desired environment, and the appropriate teams vary greatly, they have the following major features:

    • Embrace changes (embrace the change)

No matter how wise and correct the decision is, it may change in the future. Therefore, the team should be able to fully understand why our stakeholders (stakeholder) and customer representatives are constantly proposing new requirements and design requirements, in a word, "the only constant is change." The team has to trust the stakeholder (stakeholder) to make every decision and demand adjustment is to push product development to a more correct direction of development, the new changes will further reduce risk, realize the team to maximize the benefits, understand this is to adapt to market changes in the inevitable behavior.

While accepting changes, we should actively reflect the potential design flaws and errors exposed in the implementation activities to stakeholders (stakeholder) and customer representatives. In the actual work, the team members should use the priority system to divide the order of things and goals, in the iterative cycle for the final decision of the design can be implemented later, testing, do not have to rush into resources to launch a comprehensive development, testing activities. In this way, the development Test team will also be more adaptable to the real embrace of change.

    • Customer participation (with Customer representative on site)

First of all, who is the customer (customer), the client representative (representative)? Stakeholder (stakeholder), or we can understand for our customers (customer), the end user of the product (end users), the internal user (insider), the business partner (Biz Partner). The stakeholder (stakeholder), as the most knowledgeable business person on the team, will help the development team achieve its goals quickly and make timely decisions. The development team has good technology but in business they need the help of stakeholders (stakeholder). And often in agile development projects, anyone on the team who needs help can simply invite you to a 15 minute meeting, or an email or a phone call to solve.

But what if the stakeholder (stakeholder) uncompromising? To solve this problem, the product owner is introduced into the discussion, and as product owner he can be the representative of the stakeholder (stakeholder) and be able to make a final decision on the disagreement. Therefore, through the participation of such customer representatives, the team better understand the value and significance of the things done, and its efficiency has been greatly improved.

Stakeholders (stakeholder) can help everyone on the team get better and get the job done faster, and their direct involvement becomes an important prerequisite for agile development and agile testing.

    • Fewer documentation (with less documents)

Agile development attaches more importance to the production of available products rather than detailed documentation. And there is often a sense that documentation is an integral part of both agile and traditional development and testing. The author believes that the traditional development of the document in the agile development still has a big use, but the original ten pages of content refining to the current page and half of the page.

The agile people believe that documents are not the best way to communicate, they encourage smooth communication and communication, and demand to avoid and reduce clichés and empty promises. In particular, complex document descriptions only increase the cost of communication, so agile development, testing documents do not need to read long, need to be concise, clear. Any clear text, even an image, a photo, an email that records the minutes of the meeting is an agile document that we recognize. Because it is written on paper or other communication methods and vectors are to help the team more efficient communication and communication. Only the team to maintain the communication, understanding of the same after the team can fully play the best combat effectiveness. If this is the way to help the team communicate effectively, agile development will not give up.

    • Maximized productivity (Maximize Productivity)

Agile development model to maximize the efficiency of the team. Whether relying on pruning redundant documentation or providing a democratic, unobstructed communication platform, the team is able to focus on a limited amount of effort to address meaningful issues. According to the survey, people usually produce the highest productivity in two or more missions in parallel situations. Agile also uses a variety of methods to get the maximum productivity of the team.

The scrum model of agile development requires that, during the planning phase, team members proactively customize all the work tasks of the iteration cycle, so that, since then, they have worked nervously under the pressure of multiple jobs since the beginning of the team's iterative activities. In the daily iterative production activities, the members need to publicly report the progress of the day and commit to the next 24 hours of work plan. Thus, by increasing the transparency of the work of the agile staff, the productivity of the team members is further improved by being invisible.

    • Test-driven development (test driven development)

Test-driven development is for developers to design and write unit test code before writing functional code, based on the understanding of requirements. Think about how to validate the functionality that will be implemented, and then consider the implementation of the feature. Then iterate to add new functionality to the unit test and function code until the full functionality of the development is completed.

    • Automated redundancy (automate the redundant work)

Freeing team members from redundant labor, whether automated testing or automated tooling development, is the goal of agile development and agile testing as long as cost savings are achieved.

    • Democratic team (democracy in team)

The agile team is a Democratic team, the team is parallel, each team member can participate in the discussion and decision-making equally. Traditionally developed vertical bureaucracies have become obsolete in agile development.

    • Respect the team (Respect to team)

The decision of the Agile team is handed to the team, and the decision is made by the team. Both the product design and the product's functional implementation are the best results. The work of the team from any one member is incomplete, so we should respect the fruits of the work of the other members and express our full trust in the other members. Respecting the team and respecting each member of the team is one of the principles of agile development.

Are you quick?
      1. Involvement of stakeholders (stakeholder) in the project

      2. Regression tests that the team owns and can perform at any time

      3. Focus on the product itself rather than on redundant documents

      4. Project development with strict source management, version control

      5. Development can proactively respond to changes in project requirements

      6. The team is directly responsible for the project as a whole

      7. The ability to automate repetitive activities

        Reprint: http://blog.csdn.net/star890124/article/details/46459265

Best Practices for Agility-1

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.