| |August 20199which is not visible to the management, often raising doubts of its benefits and results. To bring the critical architecture activity under agile, it is now necessary to introduce two principles. We will call these Agile software development principles number 13 (Segment macro and micro architectures) and 14 (Architect for long term, implement for short term).I Got Garbage (IGG) is a cloud platform that fol-lowed these two principles driven by Agile. The two new principles enabled the platform to reach market within one year. This project is a lucid example of appli-cation of Agile Architecture principles.The project architecture is divided into two phases ­ macro architecture and micro architecture. Macro architecture is a defined time zone activity performed under agile framework. Each sprint under the macro architecture phase tackles and defines one of the crit-ical architectural aspects. By the end of macro sprints, the big picture of the architecture consisting of system layers, data infrastructure and interfaces emerges. This phase usually also involves creating proof of concepts within the defined sprints.Following the guidelines, IGG segmented its archi-tectural activities into macro & micro phases. Under the macro phase, these critical parameters were defined:· Decision to use microservices· Data architecture based on RDBMS· A fundamental MULTI-X model (Multi-Tenant, Multi-Domain, Multi-Language and Multi-Channel)· REST API to support multi-channel apps· Technical and Functional platform layeringThese decisions laid the groundwork for further development of functional features under the micro development phase.The next architectural stages under the micro ar-chitecture phase are performed within the implemen-tation phase delivery sprints. Each delivery sprint de-fines a tangible deliverable output. Each sprint involves the complete lifecycle of development ­ requirements, architecture, design, implementation and tests. Each micro activity is planned to demonstrate a feature con-cretely. Over several micro activities, the system emerg-es and takes the shape of a coherent product. The micro architectures in these phases are designed compliant to the high-level macro architecture. Over a period of time, the complete system with cogent architectural features emerges. What we see by the end of these mi-cro phases is a senile, realistic, usable system designed on a comprehensive architecture that represents the real-world use cases.Under the micro phases, critical functions needed for social organizations under IGG were developed one by one in sprints. These functions included fea-tures such as CRM, fulfilment, grassroots, inventory management, logistics, market, product manage-ment, roster, sales and finance. The ground-work laid in macro architecture enabled rapid development of these micro features compliant to the well-defined high-level platform.It is essential to mention here at this point that the micro architectures are guided by the 14th principle `Ar-chitect for long term, implement for short term'.The focus of micro phases are short term delivery and demonstration of incremental features, but the ar-chitectural activities under it are fundamentally long-term focused. An architect needs to have a long-term view of the problem and ensure the system can grow to meet the known (and unknown) requirements of the future. However, agile development is more immedi-ate focused, with priority on delivery of immediate and visible needs. One of the primary goals of an architect is to design the system for future extensibility. This leads to a fundamental conflict. The solution is to keep the long-term focus in architecture, but immediate focus in delivery.As an example, IGG needed domain modeling where a waste picker is labelled not as a worker specif-ic to waste management domain, but as a general civil worker. This is to facilitate future growth of the plat-form to cater to more social sectors such as agriculture, primary education and skill development of semi and un-skilled youth. IGG was set to become IGX over a pe-riod of time (I Got Crops, I Got Knowledge and I Got Skills). However, the challenge was to prove the social development model of `I Got' immediately. Only then, the management would be willing to invest further for IGX to manifest. Had the engineers spent the time and effort to realise social modeling for the entire IGX, they would have missed the boat. At the same time, it was essential to design an extensible system. Following the 14th principle, they designeddomain modeling for the entire IGX, but implemented only for the immediate IGG need.Agile is certainly not anti-architecture. The two new principles allow us to bring architecture under the Agile software development methodology. WITH MULTITUDE OF LANGUAGES AVAILABLE AND BUSINESS DYNAMICS, A PROGRAMMING LANGUAGE DECISION IS OFTEN A PRIMARY DECISION
< Page 8 | Page 10 >