Application agile development software development

In the field of software engineering, there are many software development models, such as the waterfall model, rapid prototyping model, incremental model, spiral model, evolutionary model, the fountain model, RAD model, agile software development model, XP extreme model. So many models each have their own scenarios, each have their own scope, but I think the most practical development model or agile software development.

China software development idea what it? Most software projects from the point of view I have come across, basically have one thing in common - that must be fast, customers are quick temper, I can not wait for the project today, tomorrow you come up with products to.

Face of the company and customer requirements so fast-paced that we have the means to do? People have come up from the production and living out of a set that is efficient and high-quality development model - agile software development.

What is it Agile Software Development?

Agile development is based on the user's needs evolve as the core, iterative, gradual approach for software development. In agile development, software project is cut into the early build multiple subprojects, each subproject results are tested, with a visible, integrated and operational characteristics. In other words, it is to a large project into multiple interrelated, but can run independently of small projects and completed, respectively, in order to achieve the purpose of rapid development.

Or specifically at how agile development is achieved?

1, the system is split into a large sub.

Before we received the idea of ​​the project is the first to demand research, analysis, research after research reports and a variety of requirements specification, needs to get back, and then outline design (UE design, UI design, interaction design, database design, frame design ), the outline design is completed before the detailed design ...... such a down cycle, takes too long, when the progress to the next stage, the stage when there are problems, it will affect all stages of the project process.

Agile is split into a large system will be sub-projects, and then split into sub-sub-modules, to minimize the coupling between modules, which increase cohesiveness, so that we can be divided into a plurality of groups groups, each groups can work simultaneously. In addition, when a module needs to change, impact on other modules will not be much to achieve the goal of reducing development difficult.

In the construction of real estate information network platform mentioned earlier, we will split the system into their own transactions, brokerage transactions, user rights management, Construction Commission and other external interfaces, the bulk of assets, transaction management, platform management background, website front-end modules, respectively demand discussion, the discussion will then demand modules split into individual objects, the object just passes between the object and the variable information through the public, minimize the generation of relationship with the external object.

Summary: split up falling one

2, stay with the team and customers

In order to reduce communication costs, our team all personnel directly to the customer site, ready to communicate with customers face to face communication, reduce the differences in understanding. In the various stages of the project, we have maintained with our customers up close, feel free to communicate, communicate. In this way, we can get the first time demand, the first time to solve the problem and reduce the possibility of error, improve development efficiency, ensure quality development. Moreover, it would be easier this way to obtain customer trust, customers can be kept informed of work status of the project, the progress of work. When a relationship of trust with each other, the remaining work will become relaxed and happy.

In real estate projects, we work at the customer site, meets regularly to discuss needs and design, when there are some small uncertainties, team members will find direct customer-related verification. Excessive demand did not change throughout the project cycle.

Summary: with customers face to face communication, reduce transaction costs, promote mutual trust.

3, communicate with modeling

Using the model to communicate with customers, with a model to get the user needs, rather than through a large number of documents, documenting time-consuming and ineffective. Actually, for most of us do not like to spend a lot of time to see a variety of text and parameters, and the model will be more intuitive and stereo. I say this model does not refer to our usual design prototype, which comprises the use case diagram, class diagram, deployment diagram, a state diagram, an activity diagram, package diagram, an object diagram, a prototype drawing, which, E-R diagrams, using different graphics express different dimensions of the product, the product rich and three-dimensional.

In the real estate project, we discuss the prototype with customer demand, with ER communicate database design, with class diagrams to express the target product is determined by the deployment diagram hardware deployment environment and network structure, with activity diagrams to illustrate information exchange process, with a timing diagram to express interaction between objects in the timeline. To express the product through a variety of charts, using this method would be more intuitive, and when errors are found it is also easy to modify, unlike the use of documentation, modifications inconvenient, difficult to maintain, is not conducive to reading comprehension.

Summary: instead of using the model document exchange.

4, the courage to embrace change

The market environment is the benchmark product, we have to keep an eye market. In order to meet the market, products have to change at any time. Changes in demand, changes in a variety of design changes ...... Let's bruised and battered, but as a product of us also should accept change, only the rapid changes in the product, can be a good for the future. We welcome the change, as long as it is reasonable, even if it is the development phase, demand is also likely to change. Agile development allows changes to bring greater competitiveness to the customer through the change. Agile record needs to use a chart, all of the code modular design, different functions will be divided as possible, to reduce the correlation. That's what it can and dare to meet the changing reasons.

提到了敏捷的一个很重要思想就是“勇于迎接变化”。就有人说了,你一定不是技术出身的吧。做技术的就讨论变化,最不允许的就是确定的需求再修改。当产品经理与技术人员沟通时,当谈的一个复杂性操作时,经常说:“你确定不会修改了吧,如果你确定需求不变,我就做!”,你要答应了,再找技术修改时哪就等于堵死了自己的后路。实际,哪能一定有不修改的需求呢?我们做产品不也是时刻在迎接市场的考验吗?在大海上航行,当风向变化,我们的大船不也得时刻准备掉头,准备调整。变化,本身就是为了适应,没有变化,就等于没有进步。但作为产品经理的我们,能做的应该是利用自己的智慧和敏锐的市场洞察力,尽量的去感知风向,尽量的控制需求,在需求发现初期就做好充足的调研。怕变化,不是办法,在项目初期就要做好灵活可调整的方案,如果需求真的变化了,我们应该怎么办,这才是敏捷的思想,需求的变化,我们谁能阻拦得了呢?

5, early and continuous delivery of the initial results that can be run

I have said before, the failure of a project, generally not for technical reasons, mostly because we have lost the trust of customers. We need to continue, and continue to give customers a sense of trust, one is our constant communication at the customer site, communication, so that customers feel our heat. Similarly, you also need as soon as possible, continuing to provide customers with the corresponding results were (to run the product), allow customers to see our capabilities. Of course, this has another advantage is the ability to expose the problem early, do not shy like a little woman, afraid to see people, only exposed in advance, in order to solve earlier problems more difficult to solve the later exposure.

In real estate projects, completed the day after the compilation of the content is no problem, will modify the functionality deployed on the server platform, so that customers can see the change at any time, to understand the progress of the project. If you have questions, then, can be exposed as soon as possible.

Summary: In order to reduce project risk, early delivery may run the program

6, face to face communication

The fastest form of communication is face to face communication, agile development, most of which promote ways to reduce this redundant, inefficient communication, with the most rapid way to communicate directly. Let technicians, designers, clients and all team members work together to reduce the information exchange circuit, so that communication becomes smooth.

In real estate projects, when there is a problem do not understand, when need to exchange are directly to me, I do not know of directly to customers. When I'm not, my colleagues will communicate directly with customers, anyone can get demand directly.

Summary: direct communication, reduce intermediate links

7, working software is the most important measure

No amount of the document, no amount of intermediate products, are not the result more real. Most customers are not intermediate view of the heart, but the results were. For agile software development, software can work is the most important measure of evaluating development progress. Sing no matter how good, is not as doing good, you have to fall, real, sense of agile development is the core, do not play style and no substance.

Summary: make software delivery is the core of the project

8, to maintain a constant speed of development

Project development is a long-distance running, rapid acceleration of the short-term, long-distance running is not the way we should be continuous, uniform way of running, so as to ensure team members have been insisting to the end. Agile development to provide sustainable development speed, so the team members will not only fatigue, but also conducive to the development of project development, and control of the development cycle.

Summary: The project development process is a marathon, not a sprint start

9, regular optimization team

We will periodically conduct a team-building, carry out criticism and self-criticism, identify problems and bottlenecks affecting the work of the individual and team development. Through the exchange, communication and identify the problems between members of the team, and then self-adjust, through continuous optimization, upgrade its own team and build a team capable of fighting.

10, with the use of agile development tools

CORNERSTONE is a one-stop project management collaboration platform suitable for large agile development team to help major companies intelligently manage to solve R & D project management pain points, it supports continuous delivery and integration, we can keep track of project progress through the various dimensions , helps teams easily with the completion target.

It provides for the agile team, tasks, requirements, defects, test management, WIKI, share files and calendar function modules to help companies complete the project management needs teamwork and agile development; more Gantt charts, billboards, mind mapping , burndown and other multi-dimensional view, to help enterprises comprehensive project to control the situation.

Meanwhile, CORNERSTONE also comes with file storage and sharing, document collaboration capabilities, and can achieve real-time communication between the teams. In other words, the choice CORNERSTONE, may not need to choose document collaboration tools, file storage and sharing tools, internal team communication tool.

In addition, not only product development, sales, operations, administrative examination and approval can also be used CORNERSTONE management. Use a unified management platform for enterprises is undoubtedly greatly reduces management costs.

总结:

If the project manager can be a good idea to use agile development, is equivalent to have instruments used in the game world, the world of gourmet cooking master the road. In agile development where there are many other ideas, but some thought and I do not agree with, such as "Test Driven Development", unlike in foreign countries in China, in foreign countries CMMI, the test requirements are very high, the real test is the quality inspection department, quality control department, has a very high authority of the tester is more respect and recognition. Domestically, the company developed and multiple light test, your salary from the company testers and developers will be able to see, who is more attention. Let testers driven development, the current status quo is somewhat difficult to do. Sometimes I think that our predecessors have been summed up so many good ideas, really ought to learn, see more multi-purpose use, but not necessarily all brought ideas applicable, each idea has its own growing soil, not as long as more fertilizer, more water will be able to grow good crops. Sometimes, we must look at the habits of plants, whether it is more adapted to our environment. CORNERSTONE now apply for the following team of 20 people can be free of charge.

Here Insert Picture Description

Guess you like

Origin blog.51cto.com/14511852/2482422