8. Rapid reading of modern software engineering after the question and thinking

Source: Internet
Author: User

1. What is scrum? (sixth-Agile process)

Scrum is an Agile development framework that consists of a development process, several roles, and a set of prescriptive implementation methods. It can be used for software development, project maintenance, and can also be used as a framework for managing agile projects.

Scrum defines 4 main roles: 1. Product Owner: This role is responsible for the vision of the product, balancing the interests of all stakeholders, and prioritizing the backlog of product requirements. It is a point of contact between the development team and the customer or end user. 2. Stakeholder: There is a direct interest between the role and the product and is usually made up of a customer or an end user representative. They are responsible for collecting and compiling product requirements and reviewing project results. 3.Scrum expert (scrum Master): Scrum experts are responsible for directing development teams to develop and practice scrum. It is the focal point for communication between the development team and the product owner. 4. Team members: Developers who do actual development work for the project.

Scrum provides an agile development framework, and many other agile methods can be integrated into scrum. such as test-driven development (Test-driven development) and pair programming (pair programming) can be integrated into Scrum.

2. How to create an efficient software development team? (fifth-team and process)

Characteristics of an efficient software development team: An efficient software development team is built on the basis of a reasonable development process and close collaboration of the team members, who share the challenges, effective planning, coordination and management of their work to achieve clear goals, and the efficient development team has the following characteristics: 1, With a clear and challenging common goal a team with clear and challenging goals is much more efficient than a team with unclear or challenging goals, and often the technician is proud of the challenging significance of accomplishing a definite task, and the completion of the task. In turn, team members work more aggressively in order to gain this sense of pride, resulting in high efficiency in team development. 2, the team has a strong cohesion in an efficient software development team, members of the cohesion for a whole work together, they are mutual support, mutual exchange, mutual respect. 3. A harmonious communication environment in a development team, each person to exercise their responsibilities, such as the requirements of the analysis staff to develop requirements specification, System Designers to do system summary design and detailed design, Project Manager Configuration project development environment and the development of project plans, but everyone's work can not be perfect, If the system outline design document may have the individual place lied, does the detailed design the time may cause the misunderstanding, the project manager formulates the plan may neglect the existence of some kind of risk to cause the executor to be excessively tense pressure and so on the situation all need everybody through the communication, the feedback means and then the consultation solves, Therefore, the efficient software development team is a harmonious communication environment, rather than the kind of simple command-execution.

3. How to tap user needs? (10th-typical users and scenarios)

User demand is the root of each product, do not pay attention to the user needs of the product, doomed to failure, clear user demand is the basic product success. So how do we tap the user's needs? According to whether the user is actively involved in two types of mining patterns, explicit and implicit, the mining is mainly through questionnaires, customer interviews and other ways, but because the explicit movement is relatively large, there are great limitations, so in order to ensure the accuracy of the results and improve user acceptance, the general use of implicit. The user's daily interaction behavior will produce four kinds of key data: Mouse movement track, Link click Distribution, page browsing flow, page dwell time. Through the user's behavior can reflect the user's point of view, while using the page order of access to find out the hidden relationship between pages.

4. How to manage design changes more effectively? (The 11th chapter-Software design and implementation)

The construction industry in Asia is often made up of a group of ad hoc organizations, with overall management at a lower end, making mistakes on some underlying issues. Of course, there is no denying that a significant number of managers are able to manage large projects with great intelligence. In fact, in the industry, "tall" projects are relatively unlikely to appear these problems, but some medium-sized projects will have problems frequently arise. When architects solve a problem, what we see is the cost to solve the problem. Every change in the drawings is a change, and frequent changes to the owner is a huge waste, the fragmentation of various professions, designers, such as the paper is the wrong inducement, but more importantly, the whole project lacks predictability. Owners need a comprehensive and predictable management solution to help solve the problem, so everyone can see ahead of time what the outcome is.

5. What is the software quality attribute?

The quality attribute of software is divided into two categories: Quality attribute and quality attribute of development period. The quality attributes of the development period actually contain all the quality attributes associated with software development, maintenance, and porting of these three types of activities, which are of great concern to developers, development managers, and maintenance personnel, and to end users, these quality attributes only indirectly contribute to the satisfaction of the user's needs, while the run-time Quality attribute is a kind of attribute that the end user can feel directly during the running of software system, these quality attributes directly affect the user's satisfaction to the SOFTWARE PRODUCT.

Software quality attributes include: run-time quality and development-time quality attributes. Run-time quality attributes include (performance, security, ease of use, continuous availability, scalability, interoperability, reliability, robustness) Developmental quality attributes include (ease of understanding, scalability, reusability, testability, maintainability, portability)

Answer Person: Yang Yujie

8. Rapid reading of modern software engineering after the question and thinking

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.