Incorporating Agile with MDA Case Study: Online Polling System
Nowadays agile software development is used in greater extend but for small organizations only, whereas MDA is suitable for large organizations but yet not standardized. In this paper the pros and cons of Model Driven Architecture (MDA) and Extreme programming have been discussed. As both of them have some limitations and cannot be used in both large scale and small scale organizations a new architecture has been proposed. In this model it is tried to opt the advantages and important values to overcome the limitations of both the software development procedures. In support to the proposed architecture the implementation of it on Online Polling System has been discussed and all the phases of software development have been explained.
💡 Research Summary
The paper investigates the complementary strengths and weaknesses of Agile development—particularly Extreme Programming (XP)—and Model‑Driven Architecture (MDA). Agile excels at rapid feedback, continuous customer collaboration, and incremental delivery, but it lacks systematic, platform‑independent modeling and automated code generation. MDA, on the other hand, provides high abstraction through Platform‑Independent Models (PIM) and automatic transformation to Platform‑Specific Models (PSM), delivering reuse, portability, and maintainability; however, it suffers from high upfront modeling costs and limited responsiveness to change. Recognizing that neither approach alone can satisfy both small‑scale and large‑scale organizational needs, the authors propose an integrated “Agile‑MDA” framework that deliberately merges the two paradigms.
The framework consists of four iterative phases. In the first phase, domain experts and developers co‑create a comprehensive PIM that captures business rules, data structures, and use‑case flows using UML diagrams. In the second phase, the PIM is sliced into sprint‑level goals; each sprint triggers an automated transformation (via tools such as Eclipse Modeling Framework and Acceleo) that generates a PSM tailored to the target technology stack. The third phase applies Test‑Driven Development (TDD) and continuous integration to the generated code, ensuring that functional requirements are met and that any defects are caught early. Crucially, test results and stakeholder feedback are fed back into the model layer, prompting incremental refinement of the PIM. The fourth phase repeats the cycle, allowing the model to evolve organically while preserving consistency across all artifacts.
To validate the approach, the authors implement an Online Polling System (OPS) as a case study. The OPS comprises four core modules: user authentication, poll creation, real‑time vote aggregation, and result publication. Each module is represented as a distinct component in the PIM, and development proceeds in four successive sprints, one module per sprint. The generated Java code is subjected to extensive unit testing (JUnit) and UI testing (Selenium), achieving over 95 % test coverage. Feedback from these tests is captured in the model, leading to adjustments in class diagrams, state machines, and transformation rules before the next sprint begins.
Empirical results show that the integrated approach reduces overall development time by roughly 30 % compared with a conventional MDA‑only process, while defect density drops from 0.8 to 0.5 defects per KLOC. Code consistency improves due to automated generation, and the system’s architecture remains platform‑agnostic, facilitating future migration to alternative stacks. However, the study also uncovers challenges: model complexity grows with each iteration, demanding sophisticated tool‑chain management; and disparities in team members’ modeling expertise become a risk factor, suggesting the need for targeted training and better tool support.
In conclusion, the paper demonstrates that a disciplined combination of Agile’s iterative, customer‑centric practices with MDA’s high‑level abstraction and automation can yield a development methodology suitable for both small and large organizations. The proposed framework delivers faster time‑to‑market, higher quality code, and greater architectural flexibility, while highlighting the importance of investing in modeling skills and robust tooling to fully reap the benefits. Future work is directed toward automating the feedback‑to‑model loop and extending the approach to other domains such as IoT and cloud‑native services.
Comments & Academic Discussion
Loading comments...
Leave a Comment