Eliminate Deviations in Understanding Requirements
With more and more emphasis on user experience nowadays, we have invested tremendous energy in the design of software interfaces and the design to enhance user experience. More and more front-end development workload has also created the independent position of front-end development engineer. Wireframes can help teams, designers, and front-end development engineers communicate intuitively, especially complex designs.
■ In a distributed team where customers tell us what to do. We have to use high-fidelity prototypes to communicate requirements, and the content is refined to all aspects, such as the size and position of the control, which will give the specific requirements for pixel value. Since customers have extremely high requirements for user experience, the user experience expert in the customer team usually helps us design the final page effect in their overall style. Such a prototype diagram can accurately express the intention of the customer-side designer. Our team needs to strictly follow the prototype diagram to complete our work.
■ In a distributed team where we tell customers what to do. Wireframe is a low-fidelity design prototype, which can quickly express the designer’s intention, and the details can be left to the development team to deal with. This situation shows that customers trust us, and our team usually has its own user experience expert. In the remote cooperation mode that requires frequent communication, this is a very efficient and low-cost communication method.
The purpose of wireframes is to create a prototype of the page at the minimum cost, and to allow rapid and repeated testing of the design, and finally to quickly collect feedback. The key to wireframes is how the w'eb page or app works and displays, not the visual beauty, so as to avoid the misunderstanding of details in the early stages of project development. Wireframes can be delivered to customers for review early in the project, reducing the designer’s workload of repeated modifications during the design phase.
In the field of mobile development, the application of wireframes is particularly widespread. There are many tools on the market to help designers. The advantage is that you can easily see the overall effect of the software by focusing only on the parts you design.
For distributed teams, wireframes are an indispensable tool for daily use. If our team needs to collaborate with another team to solve a problem, we can draw a wireframe to express the idea before writing the code. It is not too late to use wireframes to reach agreement.
Therefore, the main purpose of wireframes is to display the content layout of the page, user journey, functional weights, and the way of communicating information on the interface during the interaction design process. For example, when the password is wrong, how to prompt the users’ next action.
Feedback on the Software Quality
Regular Bug Report
The report determines the current level of software quality based on the two dimensions of bug severity and incidence trend. These data need to be obtained from the bugs submitted by testers in the bug management system. Many bug management systems can automatically generate the view- shown in Figure 4.1.
Software Product Performance Monitoring Curve
Track each performance index, observe the trend of performance decline at any time, and adjust the design to make performance to the normal level in time. For customers, keeping abreast of the product performance indicators of the remote team is critical to successfully releasing software on time. If you do not continue to pay attention to performance, you may have to make structural changes before the release to fix performance problems.
Improve Test Coverage of Code
Configure a tool for statistical unit test coverage in continuous integration environment, and any user who can log in to the deployment pipeline will see these data. We can also set a technical indicator in continuous integration, for example, any submission that causes a reduction in test coverage will be rejected. This can ensure that the standard of the team’s automated testing will not decrease with the project progress. In fact, the projects we have done usually increase the test coverage in stages to pursue higher test integrity. By using different tools, the data given may be different. Choosing a reliable tool based on the team’s own technology stack will improve the accuracy of the data.
Describe Complex Business Processes
The flow chart is a good indicator for describing complex business details. When developers read code and testers read requirements, they may feel difficult to clearly understand some complex logic. Instead of struggling to explore, we might as well find answers from flowcharts. Looking at the code in conjunction with the flow chart, it will often have a multiplier effect. The flow chart can indeed reduce a lot of unnecessary communication, which is especially meaningful for distributed teams who are always facing communication challenges.
The flow chart can better show the relationship between modules, such as the navigation function of the software. It is a display of the overall business process, and can also show a set of strict business processes, such as the company invoice review process, which shows the roles, timing, and output of all people who need to participate in this process.
The business panoramic process, that is, maintaining an overall business process, can provide guidance for each team member to master the overall process of the project, such as the flow of data. The flow chart can be simple (as shown in Figure 4.2) or complex (as shown in Figure 4.3).
FIGURE 4.3 Complex business process.
Understand the Project Overall View
The story card overall view, which I call a tree diagram, shows the various functional modules of the story card level and the hierarchical relationship of the functions. The ordinary flow chart embodies the understanding of business logic. During the operation of the project, we also need to intuitively show the team from the integrality of the project function. We generally divide all business requirements of a project into large functional modules, and each functional module can continue to be split into story cards. Since the agile development model requires value-first and fast online, our online functions always enable the high-priority story cards within every function to go online first.
FIGURE 4.5 Requirements split function groups and functions.
Therefore, in many cases, the functions of the functional modules that have been online have not been completely delivered.
Figure 4.4 shows a tree diagram of manual maintenance. In this business requirements tree, each branch represents a large functional module. This large functional module can continue to be split into small functional modules and story cards. The process of completing the entire project is not centered on the functional module, which means the story card on one branch is done after another, but on the business, the priority story cards on different branches are completed first, since they have the greatest business value.
Figure 4.5 shows the structural diagram that can be given by project management software such as Trello or JIRA. It is just another manifestation of the requirements tree.
Referring to Figure 4.5, in each functional group, a part of the functions are put online at the first (such as #33, #31, #15, #68, #67, #43, #28, #14, #35 and #3), there are some story cards with relatively low priority not added into the backlog. Using this diagram or this form of presentation, we can intuitively recognize the completed and uncompleted functions, so as to avoid the omission of functions. At the same time, it has a good auxiliary role in weighing whether to deliver the complete function as soon as possible or the function with relatively high user value. It is only the experienced team that pays attention to reduce the quantity and life cycle of WIR
Help the Team Think With Mind Maps
During meetings, especially when distributed teams are present, using mind maps to make meeting records can achieve multipronged results. The mind map can guide all people to divergent thinking, which is the function of the mind map itself. Since everyone can see the same mind map on the shared screen, it can prevent us from being distracted when we are in a meeting, and everyone’s attention is on this growing map. People with language barriers can also follow the discussion according to the hints on the mind map. Mind maps can improve the content and structure of the discussion at meetings, and ordinary meeting minutes may make people forget the association of the issues they talked about after the meeting. As a product of discussion at a meeting, this structured knowledge contains more information, and as time goes by, the rate of information loss is relatively low.