Summary of participation in the 2.0 technology conference on software development (2) Knowledge Improvement and broad vision

Source: Internet
Author: User

2. Knowledge Improvement and open vision


During the three-day speech, there were many topics, most of which were from the practice summary of frontline engineers. The natural content was also very practical.

Agile Software Engineering-wu Qiong (roadmap of agile implementation)

Unfortunately, I did not catch up with this lecture in time. I could only sit on the floor, but I had quite a hand.
1. agility is to eliminate waste, and the goal is to achieve sustainable minimum value delivery time. Sustainability means that the Team should stay dynamic, so the biggest misunderstanding During the renewal process. One company's internal agile development training also mentioned that the daily workload is estimated to be 6 hours rather than 8 hours. It turns out that this seemingly inefficient approach is very effective at the end.
2. Mistakes in agility cannot be agile. Today, agility is a very fashionable and loud term, but we need to avoid agility for agility, but it depends on the project.
3. Small teams are agile, and it is rare to be agile projects of large teams. A small team has fewer employees, so it is easier for everyone to communicate and there are no barriers to communication. However, it is very difficult for a team of several hundred people to implement agility.
4. Best practices for agile development: Test-driven development, continuous integration, fast iteration, and feature teams. Test-driven development is to first write the test, and then write the implementation code to ensure that the implementation passes all test cases. A by-product of test-driven development is a large number of available automated test cases, which plays an important role in ensuring product quality in future iterations.
5. Agile development each iteration of delivery is a complete and available program, which may be incomplete, but it is definitely not part of each delivery system. Agile development must be spiral. If you are waterfall-based development, it must not be agile. The optimal iteration cycle is 2-4 weeks. Note that iteration is not a step-by-step development. The premise of iteration is that it needs to be split and can be used to quickly verify the version quality. Traditionally, functions are split into white boxes, while user stories or use cases are black boxes.
6. A feature team is a long-term cross-functional team that delivers many end-to-end customer features one by one. The division of labor for such a team is not so clear. Everyone can have several roles, which greatly improves the team members and maintains the relative stability of the team.
7. Suggestions for changing traditional software enterprises to agility. First of all, we should understand that agile implementation is a long-term process and will not be immediate. Studies have shown that the results will gradually show up after about four years. Secondly, traditional software enterprises work in pipelines and are composed of multiple departments, including the Demand Analysis Department, design department, Development Department, and test department. Therefore, they must be implemented step by step. Step 1: The Demand Analysis Department can describe customer requirements through use cases and user stories. The Development Department implements test-driven development and continuous integration. Step 2: the design department implements agile modeling, at the same time, the Development Department and the Test Department implement the development code iteration. Step 3: the entire development process iteration. Finally, the enterprise implements the organization according to the characteristics team.

 

Software Debugging-how to debug application crashes and crashes

Debugging is also frequently used in my work, whether it is to use GDB to debug C Programs in Linux, use eclipse to remotely debug web programs, or use firebug to debug client JavaScript. Debugging not only helps me quickly locate errors, find methods to fix bugs, but also helps the program running mechanism.
Although instructor Zhang yinkui's explanation is intended for a Windows application that I am not familiar with, he still impressed me and benefited a lot. His unique "on-Debugger" has been echoed in his ears for an endless aftertaste.
Key points for debugging: 1. good at using the debugger. In the explanation, Mr. Zhang used windebug as the default debugger. Of course, you must select a suitable Debugger for different situations. To do this, you must first sharpen the debugger. 2. Be good at using Stack backtracking to find the exact location of the error. 3. patience and skill are required for debugging.

 

New horizons of mobile development

Mobile development is divided into two major themes: Android and iPhone. The session on Android contains the mobile OMS (ophone. Since reading a book a few days ago has only gained a "lesson", developing an iPhone requires a Mac Book, which at least cannot be implemented for the moment, so I gave up the iPhone. In the android speech, he concentrated on the famous predecessors such as Gao hentang and Lu Yusheng.
The firstLu Yusheng
The instructor primarily shared his development experience on Android Market. Here we use his outline, which is probably:
1. Early market research and analysis. He gave a surprising number, both appmarket and Android Market. The proportions of applications and games were 80% and 20%, respectively. Before that, everyone thought that the proportion of games was higher.
2. brand management philosophy. Sorry, I didn't hear it.
3. Make good use of pricing strategies. First, use the free version to gather popularity and use each other at low prices and high prices. Second, we also need to look at the value that competitors and programs can provide to users. He gives the number

It is shown that the top-ranking pricing range is roughly between $0.99-$3.99.
4. Be creative. When developing mobile applications, you must consider the issues from the perspective of mobile devices, rather than simply copying PC applications to mobile devices. He proposed a Gigi principle, namely GSM, Internet, GPS and intelligent (various sensor ).
5. Easy to use features. The most important thing is that the UI must be mobile.
Mr. Lu gave me some tips on how to improve his ranking. The data shows that the Android Market has the largest number of potential customers for entertainment and tools. Therefore, you can first place the applications here for 1-2 weeks and then move them to a specialized category.

 

The most exciting thing in the afternoon isInstructor Gao hentang's speech on Android framework, core services and hardware and software integration technology
.
Although the title is about Android, the entire speech focuses on the development architecture of soft and hardware integration. The core concept he advocates is architecture. We must design software with the idea of architecture. There is a famous saying in Hollywood:"Don't call me, I will call you back ."

This sentence indicates the importance of the architecture. What is an event-driven mechanism? It is something defined by the architecture. You must write code in that way; otherwise, the compilation will be different. However, now that android is open-source and hardware is open, we need to change our thinking.
For a long time, we have only seen application in a horizontal view, but not the underlying layer. Now we have to look at the software from a vertical perspective, and look at the end until the hardware. Therefore, the program

We should use the architecture idea to make software and implement the software as the bottom layer. Let others use our architecture according to our specifications.
After talking about his thoughts, Mr. Gao hentang has a practical example to show how to write software code with architectural significance. The principle we always follow is "don't let others call you !"

 

What I can write down here is a very small part, there are also many wonderful speeches, such as CAI xueqiang's DSL Design and Practice and Yue xuqiang's building a large-scale Java-based C2C website. even a few speeches can express a small part of the wonderful content.
The three-day event is worth it!

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.