Framework, public module, unified thought

Source: Internet
Author: User

The last two weeks have been working overtime refactor code, contributing to the final weekend of 2014 and the three-day holiday of 2015 New Year, which was finally completed before the end of the sprint.

As you can see, this sprint is not ideal!

The project logic itself is not complex, fetching data from a database, making related analysis calculations, and then presenting the results as a chart in the front end. Using the Django framework, the front-end graphics are implemented with Jqplot.

The project has three parallel modules, each module to achieve data presentation, report export, image download function, but the modules are not related to each other, the additional requirements are three modules must have a strong scalability, in order to add new query options, can be quickly implemented.

Three individuals are responsible for one module, and at plan meeting, ensure that everyone understands the functional requirements of their modules.

Everyone started the design and implementation of their own modules, the first week: infrastructure and core code implementation, second week: front-end data rendering and download diagram implementation, third week: Mutual testing and code review, third Wednesday start: Demolition, refactoring ...

is so helpless, in the premise of the implementation of the function, and almost re-written back-end code and re-modify the front-end template.

The problem is in the unified ideology:

Three individuals in three levels to achieve the Unified:template data presentation consistency, view layer data processing consistency, MODLE layer parameterized query database consistency.

Each module for their own unified implementation of the corresponding code architecture, other modules want to reuse its code is very troublesome, even to the late, because the name is inconsistent, even JS code can not be reused, can only watch the very good implementation can not be ported to their own modules, thus, Unable to unified the whole project. Even, in the future to maintain the code instead of adding complexity, if three modules to add the same query conditions, but to separate three sets of different implementations, and because of the different template element ID, the same logic to write several functions of the same JS method.

Why did this result occur:

Team members are distributed in different cities, there is no timely communication mechanism, communication is not smooth is certainly a cause of the problem.

In the project plan when the implementation is not very clear, and no one to express opinions and suggestions for in-depth discussion, resulting in stones, everyone in accordance with their own ideas, to complete the function of the main, not repeated consideration, especially the overall consideration of project architecture and scalability.

Three people have a more familiar with the project logic, but not able to take the initiative to assume responsibility for the implementation of public code, such as the unified presentation of the front-end implementation of data, the corresponding JS verification code, resulting in a variety of front-end implementation, and even no unified naming norms.

In short, a lot of problems, no timely and effective communication, not enough to think, no good frame, no public processing module Unified control ...

Not agile team, but in accordance with the agile model to advance, but no SM, no daily stand up meet and other mechanisms to protect, just rely on the user story, rely on task to follow up the project, will only lead to the code to achieve chaos, we only focus on their own user Story, lack of body vision, only quickly complete task, without considering integration. The result is a lot of refactoring and rework of the Code, as well as increasing the entropy of the software.

Framework, public module, unified thought

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.