Laugh at PDD-just ridicule

Source: Internet
Author: User

1. What is PDD?

China is a country that is not good at creating concepts. However, in the world of software, China has created a new term called PDD.

PDD -- page-driven develop (page driver development ).

2. Applicable to enterprise software development

I don't know the development status of most Chinese companies. I only know too many people who say: agile is not suitable for us, TDD is not suitable for us, XP is not suitable for us, and spiral is not suitable for us.

So what should we do? We need to find our own software development theory. As a result, too many enterprises start their own exploration path. We have created software engineering for "XXXX Company", software engineering for "China Internet ......

After a training session, the boss made a big splash and we wanted to apply TDD to the project.

The team lead ordered:

"OK. However, TDD is neither suitable for our projects nor for our enterprises. What is the core of TDD? It is "DD". Let's take a look at this DD and make a page ......"

I smiled and couldn't control it. I came into contact with another term, so it's called PDD.

3. Shallow solution PDD

When talking about PDD, you may be familiar with it, but I think when I explain it in detail, you will think: Oh! It turned out to be the same thing. When I was learning software, we used to develop models with PDD.

What is PDD. PDD means that everything takes the page as the core, and then everyProgramStaff can find the function points for each page to deliver tasks on the page.

4. sophistry of PDD

Why is PDD used?

We follow the traditional thinking. Everything should be business-driven development. We can even call it business-driven develop ). So where does the business come from? From the interface, we need to drive the development program in units of pages.

There is a saying that the development is not active, and the page goes first, which is also a theoretical basis of PDD.

This is the source of PDD.

Next, we will analyze where the PDD is wrong.

5. Where does the business come from?

The page comes from the page, which seems to be the biggest reason for PDD. Here I want to say: Maybe the business logic can come from the interface, but he ignores the role concept here.

In a project team, there must be one person who needs the bridge between the product team and the developers. This person should be called a "requirement analyst" according to common sense. In many enterprises, this role is generally assumed by the Project Manager and Development Manager.

There are many ways to conduct a demand survey, such as Q & A, questionnaire, or even from the page.

HoweverFor developers, everything is transparent. Where does the business come from? Is from the project manager's document. For a project, it should come from the design document. It is not a page.

6. Core of TDD

I personally think that if you do not fully understand a concept or theory, never modify or change it.

What is the core of TDD? It is not DD, but t.

TDD emphasizes that development is done and testing is performed first. This ensures that every complete business logic is correct. More importantly, this t is reusable.

I have no idea about TDD, so I will not talk about it here.

7. What is page first?

What is page first? Many people may be misled by this page. In my opinion,It is better to say that prototype comes first than page first.

8. disadvantages of PDD

A. PDD'sCodeIs reusable:

The simplest logic is to allocate several pages to each developer so that the developer can develop based on these pages. Then, each developer will find out what each button does, the data to be sent back in each drop-down box. This will inevitably lead to double-click the button, and then write the button_click method in the background. This is the fastest and most close to the developer's thinking.

As a result, the code of every developer cannot be reused. Therefore, it is really whimsical to use PDD to develop a truly layered program.Layering is the first layer, followed by code. Instead of having code first, having a Layer.

As too many enterprises do this, hundreds or even thousands of lines of code appear in the background. Where is the error? Not a developer, but a leader.

B. PDD cannot be used by anyone.

As a manager, I have to be able to make good use of people.

Therefore, PDD is based on the page function segmentation function, which means that every developer needs to have a series of capabilities from the front-end CSS/JavaScript, to C #, to SQL.

There are few talented people, few of whom are both JavaScript and DBA database-level. Therefore, the code written in this way cannot be complete. It will inevitably lead to such defects or defects in each function point.

C. PDD is slow in the overall project progress

For a business project, it should be business-driven, so that everyone can be responsible for their own part.

For example, SQL developers, front-end artists, JavaScript developers, and background developers have their own concerns. Front-end staff and background staff do not need to care about the logic of background databases, therefore, developers do not need to understand the front-end artist layout before development, but also the table structure of the back-end database. If a project is too large, this will inevitably make people do countless repetitive jobs. For example, each of us needs to have a detailed understanding of the table structure.

In fact, using the PDD method actually slows down the project.

D. Incompatibility between PDD and object-oriented

In short:Object-oriented is the first to have an object and then assemble, while PDD is the first to have a function, and then splitTherefore, PDD cannot develop object-oriented programs.

9. Causes of PDD

Why is PDD generated? I personally summarize the following points:

A. Transition from toys to projects

On campus, few students start from scratch to face a complete big project, but all of them are project modules or small projects such as "library management system.

In such a project, there are few developers or even independent developers. The system is simple and the logic is clear. There is nothing wrong with interface development. But at work, you are not facing a simple "Toy" system, but a real project, which may involve complicated business logic and systems, integration between sub-modules also involves the Cooperative Development of multiple teams.

In this way, the PDD method is not applicable due to inertia.

B. Trust Crisis

This is a non-technical reason, only for enterprise reasons.

For many project managers, development supervisors, and product managers, many of them do not trust their developers. They need to be able to see them every day, what have you done today.

So what is the most intuitive? Page. I made ten pages today .... Good. You made a page today and fired ....

Therefore, I want to split the entire project into several pages. Each developer is responsible for several pages and the pages you are responsible for every day make me feel that you are working today.

This is what I said: trust crisis.

Now that there is a reason, the solution is very simple.

10. Solutions to PDD

If the problem is raised, it is necessary to solve the problem. How can we deal with the PDD? (I don't know if this is an anti-pattern solution ).

A. concept change

In a project, do not stick to the regular rules and say "How did I do it?" I mentioned earlier: Success is a summary of past experiences, rather than a copy of past experiences. We should always remember that I am working on projects, not toys.

Therefore, we should not greedy for the convenience of the plot, in order to feel "reduce time" and PDD, but driven by the business logic.

B. Always consider reuse

For a company that intends to develop for a long time, reusability and maintainability are very important. If reuse is always considered, PDD will not work.

What is the code with the highest reusability? There are two features: <1> code with high atomicity <2> code with weak business

Needless to say, the smaller your particles, the more places you can use. Like 1 + 1 = 2 can be used in many places, but 1 + 1 + 1 + 1 + 1 = 5 is rarely used. Second, the business-independent code can be used by any business. It does not mean that I insert images. I need to verify the image type first, save it to the server, and save it to the database, this is a complete business logic. In the future, you only need to upload images from other places. For example, if my security level is low and image verification is not required, this method cannot be reused.

C. Trust subordinates

This principle should be understood by everyone, but few people can do it.

D. Set up correct operations and milestones

As I mentioned in Article 9, many directors take pages as delivery units, which will inevitably lead to PDD. Do we consider dropping pages as delivery tasks and milestones instead of functions, is class implementation The basic unit of our delivery?

11. Conclusion

The above is my summary of PDD, which is just a joke.

Take 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.