Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Know Agile for the first time

2025-03-29 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

Background: are there any plans that can't keep up with changes in predictive projects? Delayed delivery of products or projects to customers? After delivery, due to different needs from customers, resulting in frequent changes, team morale, customer trust serious overruns!

As the project manager, product manager and technical leader, you and I feel hopeless in the above situation.

The emergence of agility, let us see a glimmer of dawn. Agile is an idea or an ideal, and it's the ideal environment that you and I pursue in the project, isn't it?

Now, let's talk about Agile.

In the distant past, the pioneers of software, using waterfall or predictive project management, spent a lot of time and energy in the research and development process on the collection and determination of pre-requirements information, and then went to development. and did not deliver any or a small number of milestones in the development process, the software delivery date is the beginning of the team's ordeal.

Finally, when the pioneers experienced countless feedback such as "this is not what I thought", "$@ #% $", "what rubbish is this, completely wrong, we don't accept it", the pioneers asked, "is there a new way of programming?" Based on this way, let the software development progress, quality, customer satisfaction better! Liberate the code farmers who are deeply engaged in software development, so that people have more time to do what they want to do.

So in February 2001, under the condition of flying snow, a group of pioneers were paddling snow and communicating. Finally, something went wrong in the Agile Manifesto.

"individuals and interactions take precedence over processes and tools"

"working / available software is higher than detailed documentation"

"customer cooperation is higher than contract / business negotiation"

"responding to changes / changes is higher than following specifications / plans"

It can be summarized as follows:

1. People-oriented: respect for each individual and attach importance to the cooperation and interaction between individuals

two。 The goal / final delivery result is not oriented, and the final delivery is the usable software (believe me, the available software is the best way to gag the customer. Documents. Don't you waste A4 paper? Don't you waste disk storage space? )

3. Customer first: understand customer needs and cooperate with customers (balance should always be balanced, R & D will lead to a large number of customers unable to understand the logic of operation, in favor of customers: everyone has eaten, do not repeat, write here, can not help but touch a handful of tears. I'm too hard. )

4. Embrace change: based on the third rule, customers really know what they want in their changing needs, so the R & D team needs to embrace change. (don't get to the point, some people argue that "whiter than white, colorful black" are not discussed.)

Documentation is still needed, after all, available software + specification documentation will make customers trust us more, but we should pay more attention to people, product models, writing and iteration. Only when the finished product (prototype, function) is delivered to the customer / project committee at any time, can the project be better carried out and the coding work will be better maximized.

At this point, the author can't help saying that the IE idea of "time, quality, cost, superior satisfaction, customer satisfaction" is not only applicable to the factory, but also to the software industry, which determines whether we can better realize the "ideal life, the ideal of life". Don't tell me that you do software for the sake of interest and other empty talk, at least the author's current consciousness can not reach this level.

Agile principles:

1. Our most important goal is to achieve customer satisfaction through continuous and early delivery of valuable software.

According to the four images of GTD, the "urgent but unimportant, urgent but important, important but unurgent, unimportant and unurgent" way of managing life and work will be very useful, at least for me, the harvest will be good. Agile uses iterations to prioritize, limit WIP, Kanban, story cards and other ways to provide customers with valuable functions as soon as possible. With frequent spying and customer feedback to timely adjust the direction of research and development, improve the quality of procedures, establish customer satisfaction and maximize customer interests.

Agile teams focus on accomplishing and delivering valuable functions rather than encouraging tasks. Based on the story way of "as [user type\ requirements], we want [professional skills / capabilities] to achieve [business value]" to analyze mining requirements, prototypes and documents will also need to be written, which is also a kind of delivery. it's just more focus, shifting to oral communication, Kanban, iterative tools, daily criticism meetings (hand shaking, dialing the wrong number, daily standing meeting. There are mostly criticism meetings in China, so don't ask me how I know.

two。 Even in the late stages of research and development, changes in requirements are welcome. Agile processes use change to create competitive value for customers.

Agile people are not afraid of change. Only by changing the demand can we better understand the market, become a unicorn and seize market share. When the enterprise is done, the participants will naturally. The idea of being a monk ringing a bell one day is actually wasting time, changing careers as soon as possible, and not accepting any rebuttal. )

3. Regular delivery of working software, delivery cycles can range from a few weeks to months, and the shorter the interval, the better.

It is not suitable for the software research and development industry. To join the industry is to join a job with a high degree of uncertainty. Iterations are limited by the practical framework, which means that you have to finish the iteration on time in order to give up some of the features we think are creative. As long as we can ensure that the delivered software will work well, then the shorter the delivery time interval, the greater the assistance, trust and return of our customers, and the more beneficial the product quality and market practicality will be.

"requirements, analysis, iteration, implementation, delivery" takes place in every iteration of Agile, rather than a predictive project that is done only once.

4. Business people and developers must work together every day throughout the project development cycle.

It is impossible for the software to follow the previous plan, and there must be deviations in the understanding of the business and the solution of the software. therefore, there must be meaningful and frequent interactions among customers, demanders, developers and stakeholders, so that problems can be discovered and solved in a timely manner.

The author experienced the project, generally and the customer component project committee, the participants are: business, the other person in charge, the actual user and so on. Avoid the phenomenon that the person in charge is not the user and the user is not the person in charge. Don't ask anything.

Only through constant spying, continuous delivery, and working together, the differences in understanding between the two sides will become smaller and smaller, the software quality will be higher and higher, and the team morale will be better and better.

5. Build projects around motivated individuals. Provide them with the environment and support they need, and trust them to get the job done.

When you see this, please answer the question "what is the most important in the team?" The answer is: "people".

SO, code animals, programmers are R & D personnel laugh at themselves, enterprises, customers, team leaders do not really regard R & D personnel as. A group of people, one thing, must win, to encourage and be good at eliminating the factors affecting team morale, individual goals should be consistent with team goals, the team should also take into account individual goals, to achieve mutual benefit, any deviation will cause storm effect. Trust, authorization, equal status and good office environment will improve productivity!

The era of non-people-oriented and RMB-oriented has passed. In the information age and mobile era, we should find ways to retain the people who should stay, eliminate the people who should be eliminated, and precipitate the cultural atmosphere in order to maximize the benefits. Let's get back to the point.

6. Within the team, the most effective and efficient way to convey information, face-to-face conversation in a timely manner.

The author commutes to and from the branch and headquarters every week, and the fall that could have been completed in a week has been dragged on for more than two weeks. It's too inefficient. Fortunately, there will be a centralized office recently.

When it comes to centralized work, Agile advocates a team of about 9 people to work together, face-to-face communication, and efficiency is quite rewarding from an economic point of view.

7. The working software is the primary measure of progress.

Whether the user can use it or not and how satisfied the user is is the first priority. In an 8-year e-commerce platform project, the concept implemented by the team has always been "functional availability, user experience-friendly" as the primary measure.

I have seen, but also brought front-end, back-end, DB partners, I found there are two extremes: 1. Just do it and pay no attention to the results / quality. two。 Guarantee quality and quantity. In the end, the market feedback to the product is completely different. Failed the test, written in multiple lines of code, no matter how powerful the algorithm is useless. Quality is always the first place!

8. Agile processes promote sustainable development speed. Responsible people, developers, and users should be able to maintain a long-term and constant development speed.

What is the speed of sustainable development? It is necessary to understand the word "continuity", the concept of "996" in China, overtime work, surprise, and so on.

"Why didn't you work overtime yesterday? other colleagues worked overtime."

Hey, boss, overtime will affect my mood, affect my mood and affect my efficiency.

It not only reminds me of a conversation between a guy I once met and BOSS, and in the end, the boy changed jobs and made an objective salary. The boss is struggling at the moment.

If a project expects overtime and impractical slapping on the head to determine the time limit, its quality, usability, and team morale will be greatly reduced. The author advocates "plan-implementation-feedback", please every day, everything clear this kind of working atmosphere, is the sustainable and healthy atmosphere.

9. Constant attention to good skills and good design will enhance agility.

GITHUB, open source projects, agile methods and so on have many good technical practices that can enhance the agility and robustness of the product. Many principles, patterns, and practices can also enhance agile development capabilities.

"practice is the only way to test the truth", "if you want to know the taste of a pear, you must take a bite", what a sincere feeling.

10. Brief introduction text. The art of trying to reduce unnecessary workload.

We don't know how the demand will change in the later stage. So it is impossible to build a perfect architecture from the beginning to adapt to all the changes in the future, and in fact it is impossible to do so. The author often inculcates the team members that "it takes 30 minutes for a medium implementation method and 3 hours for a superior implementation method, so you should not hesitate to choose the former."

I have also seen a young man who was unable to deliver the task and asked carefully, "I am thinking about the impact of this module on the final module." this cannot be said to be wrong. However, since none of the current modules can be delivered, it is necessary to consider the impact of this way of working on later iterations.

Win in the present, if tomorrow's problem is simple and tomorrow can be solved easily, SO, leave it to tomorrow. If the problem of tomorrow is very complicated, please leave it to tomorrow to finish today's task.

11. The best architecture, requirements, and design come from the organizational team.

The author once had an idea: "after going to work every day, the team members asked each other if they needed assistance, handled tasks spontaneously, flattened the management model, and had no hierarchy." after careful consideration, they were extremely frightened and prone to a crisis of trust. No one is responsible for different decisions and no one is responsible for the results.

Although agile teams work as a team, they also need some people to assume the roles of certain tasks; product owners, architects, UI designers, programmers, requirements people, testers, document writers, etc., as well as a team facilitator, project manager, SCRUM leader, project team leader, or team agile coach. But with so many roles, we should always pay attention to servant leadership rather than alienation from the masses.

twelve。 At a certain time, the team will reflect on how to work more effectively, and then make changes to their behavior accordingly.

Many unfavorable factors will always lead to the failure of the plan, such as the reduction of members, the effect of technical application, changes in user requirements, and so on, will affect us and force us to make corresponding changes.

Agile works not based on predefined patterns, but on an empirical basis, and the above changes require constant "introspection" by the team to adjust and maintain the agility of the team.

Common agile practices are: Scrum, XP extreme programming, Crystal, DSDM dynamic system development, FDD function-driven development, BDD, AUP agile unified process, IE, Kanban, OpenUp, etc., which one do you use?

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report