SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Page 1 of 6 
©2014 EAPJ.org 
Complementing Agile SDLC with Agile Architecture 
By David Shilman 
Today’s highly competitive and customer-centric market conditions have pushed software and solution delivery organizations beyond the traditionally accepted limits of software development and delivery capabilities. Lean methodologies such as Lean Six Sigma and DevOps can help improve operational solution delivery capacities through 
 Streamlining of solution delivery process 
 Improved software quality 
 Automation of system operations 
 Self-administration of system operations by development teams 
Agile methodologies augment such operational improvements with their own enablement of faster time to market (TTM) by transforming the Lean concept of value-added activities into value-added product features. Agile software architecture augments solution delivery organizations’ Agile software development life cycle (SDLC) capabilities with flexible architectures that facilitate future product development. 
Agile methodologies extend product lifecycles through faster TTM and continuous delivery to ensure high quality of service (QoS) defined by functional feasibility, business and technology capabilities. The Agile SDLC produces the Minimally Viable Product (MVP), which is continuously enhanced with value-added product features. While most architects have limited knowledge of future trends in software products, they must still design software to make future seamless enhancements possible throughout the entire product life cycle. This type of application architecture fits the definition of Agile. Agile application architecture must support and complement the Agile SDLC through the following architecture principles, which are derived from the Agile Manifesto principles: 
 Application architecture must be extendable: Build for change 
 Application architecture must enhance developers’ productivity 
 Application architecture must not contribute to technical debt 
 Application architecture must continuously improve 
“Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.” - Agile Manifesto Principle #2 
Build for Change 
A former CIO of a Fortune 300 company once said “Enterprise architects must be at least six months ahead of the solution delivery organization they support”. This can be understood as advice to enterprise architects to keep current with technology trends and educate their peers
Page 2 of 6 
©2014 EAPJ.org 
in order to influence organization’s solution delivery capabilities. Although that might have been his intended message, in the context of Agile SDLC, there is another interpretation: Application architects must produce architecture that will empower rather than just support solution delivery teams in delivering and maintaining software with the optimal balance of schedule, cost and non-functional quality. 
Application architects provide true value to solution delivery teams by anticipating and initiating technological advancements in areas such as customer communication, information management, security and integration, and computing platforms in their organizations. They prepare for these changes with simple, structurally and behaviorally loosely-coupled application architecture that is agnostic of the client device and hosting infrastructure. In other words, agile application architectures enable developers to replace components and change how they communicate with each other through software configuration. (Table 1). Such loosely-coupled architectures enable their owners to rapidly adopt successive generations of mobile and cloud technology as business needs dictate. 
Table 1. Examples of design patterns for structural and behavioral loose coupling Pattern Gang of Four Design Pattern Type Description 
Inversion of Control (IoC) 
Factory 
Structural 
IoC is a modern day reinvention of the Factory Gang of Four (GoF) design pattern. IoC, also known as Dependency Injection, decouples an application component interface from its implementation, allowing application developers to swap application components through software configuration rather than extensive code changes (Figure 1). 
Messaging 
Mediator 
Behavioral 
This message-centric integration design pattern implemented with Message Oriented Middleware (MOM) allows application developers to configure run-time component interactions without writing code. (Figure 2).
Page 3 of 6 
©2014 EAPJ.org 
Figure 1. Structurally loosely-coupled application architecture using Data Access Objects (DAOs) to facilitate replacement of the underlying persistence mechanism. 
Figure 2. Behaviorally loosely-coupled system architecture using a configurable Message Bus to control component interactions. 
“Continuous attention to technical excellence and good design enhances agility.” - Agile Manifesto Principle #9 
Application Architecture Must Enhance Developers’ Productivity 
The Kanban method introduced the concept of managed flow constrained by Work-In-Progress (WIP) limits, which quantitatively describe an organization’s operational capacity. WIP limits are usually influenced by solution delivery organizations’ head count and SDLC process efficiency. Good application architecture can also improve solution delivery capabilities by increasing the WIP limits.
Page 4 of 6 
©2014 EAPJ.org 
Various studies show that most IT budgets allocate as much as 80% to software maintenance. Application architects must not only enable rapid solution delivery, but also reduce product maintenance cost throughout the software’s entire life span by enhancing quality of service (QoS) and developer productivity. 
Application architects should strive to free application developers of all non-functional coding by allowing them to focus on and efficiently implement features with direct customer value. Table 22 illustrates the agile application architecture practices that best empower application developers. 
Table 2. Agile Application Architecture Practices. Pattern Description 
Loose coupling of application tiers 
Loose coupling of application tiers through JavaScript Object Notation (JSON) or eXtensible Markup Language (XML) allows application developers to program application components simultaneously based on a flexible tagged data structure rather than a data object that creates compile dependencies between application components. Developers can program loosely-coupled components in parallel without impacting one another, and reconcile their changes as they merge their work. 
RESTful application programming interfaces (APIs) 
Exposing server side data and business components through stateless RESTful APIs based on straightforward web URLs allows reuse of application components a wide variety of distributed clients. This approach significantly reduces server-side application footprint and the prospect of technical debt. 
Open source commons libraries 
Popular open source frameworks such as Apache Commons and Google Guava help reduce development effort by eliminating boiler-plate code and reducing application footprint 
Single-page applications 
Single-page applications, which enhance user experience with rich graphical user interfaces and instant response, are typically engineered with browser-based technologies like: 
 Rich Internet Application JavaScript frameworks 
 Ajax 
 CSS 
Responsive design 
Incorporating responsive design into a web application UI allows access from a variety of web/mobile client devices, which reduces the prospect of technical debt as client technologies progress. 
NoSQL (Not Only SQL) databases 
Among other uses, NoSQL databases excel at storing transient data and dynamic data structures without extensive support from data architects and database administrators.
Page 5 of 6 
©2014 EAPJ.org 
Together, these practices shorten the critical path of development projects. They enable parallel development with reduced dependencies between application components and tiers, decrease application footprint with increased software reuse, reduce data administration and operations efforts with newer database technology, and therefore improve prospects for continuous delivery. 
“Simplicity--the art of maximizing the amount of work not done--is essential.” - Agile Manifesto Principle #10 
Application Architecture Must Not Contribute To Technical Debt 
There is a strong demand from business partners and customers to access end-user facing applications from a variety of web and mobile devices. Modern web application architecture must incorporate multichannel content delivery and responsive design in order to meet this business demand with efficiently. Failure to adapt to customer needs quickly will reduce the solution delivery organization’s competitive advantage and contribute to its technical debt. Application architects need to challenge themselves and embrace new and unfamiliar technologies geared to enhance end-user experience (UX) with minimum redundancy in technology assets (Figure 3). 
Figure 3. An Agile application architecture that enables reusability across client platforms. 
“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” - Agile Manifesto Principle #12 
Application Architecture Must Continuously Improve
Page 6 of 6 
©2014 EAPJ.org 
During the scrum retrospective, Agile teams improve their sprint execution capabilities. Enterprise Architecture also benefits from continuous improvement. As new technologies and patterns are adopted, architects should incorporate them in the Standards Information Base within the organization’s architecture repository. Enterprise architects and development teams need to continuously identify opportunities to improve collaborative architecture development and governance and to respond faster to architecture changes in order to provide value and build agility. 
Conclusion 
In today’s economy, business and IT stakeholders often make decisions to buy versus build based on software solution quality, cost and time to market delivery capabilities. Furthermore, customers’ expectations of user experience have continued to rise. IT organizations can no longer measure application quality by yesterday’s internally-focused standards without running the risk of producing applications classified as “legacy” rather than “modern” after only a short time in production. 
An earlier version of this article originally appeared in the Cutter Consortium Business and Enterprise Architecture Practice - http://www.cutter.com/content/architecture/fulltext/advisor/2014/ea140723.html 
About the Author: 
David Shilman is an Enterprise Architect with a Fortune 300 company. David started his professional career as a programmer. Throughout his career development, David has embraced technology and SDLC best practices. In his previous role as an application development manager, David was an early adopter of Lean and Agile practices and methodologies, which he utilized to streamline and improve the solution delivery capabilities of his team. In his current role, David spearheads TOGAF awareness and adaptation in his organization. David has a B.S. in Mathematics, and holds advanced certifications in Enterprise Architecture, Project Management and Lean Six Sigma. David is a father of five, and enjoys spending time and playing sports with his kids.

Contenu connexe

Tendances

CV_Vasili_Tegza 2G
CV_Vasili_Tegza 2GCV_Vasili_Tegza 2G
CV_Vasili_Tegza 2G
Vasyl Tegza
 
K N Avinash_ MBA_ BA
K N Avinash_ MBA_ BAK N Avinash_ MBA_ BA
K N Avinash_ MBA_ BA
avinashmba
 

Tendances (20)

Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012
 
Project_Experience
Project_ExperienceProject_Experience
Project_Experience
 
Sivagama_sundari_Sakthivel_Resume_2016
Sivagama_sundari_Sakthivel_Resume_2016Sivagama_sundari_Sakthivel_Resume_2016
Sivagama_sundari_Sakthivel_Resume_2016
 
Web Site and Rich Internet Applications
Web Site and Rich Internet ApplicationsWeb Site and Rich Internet Applications
Web Site and Rich Internet Applications
 
Superia Presentation
Superia PresentationSuperia Presentation
Superia Presentation
 
Asymetric Modernization
Asymetric ModernizationAsymetric Modernization
Asymetric Modernization
 
CV_Vasili_Tegza 2G
CV_Vasili_Tegza 2GCV_Vasili_Tegza 2G
CV_Vasili_Tegza 2G
 
Rm tools
Rm toolsRm tools
Rm tools
 
Resume_Sanjay1
Resume_Sanjay1Resume_Sanjay1
Resume_Sanjay1
 
Project List for Students
Project List for StudentsProject List for Students
Project List for Students
 
Indranil Pujari - v2
Indranil Pujari - v2Indranil Pujari - v2
Indranil Pujari - v2
 
5.2.2013 2013 2013 - Software, System, & IT Architecture - Good Design is G...
5.2.2013 2013   2013 - Software, System, & IT Architecture - Good Design is G...5.2.2013 2013   2013 - Software, System, & IT Architecture - Good Design is G...
5.2.2013 2013 2013 - Software, System, & IT Architecture - Good Design is G...
 
Inno tech20131112 c
Inno tech20131112 cInno tech20131112 c
Inno tech20131112 c
 
Supriya_Bhide
Supriya_BhideSupriya_Bhide
Supriya_Bhide
 
end2end Enterprise Architecture - Application Architecture
end2end Enterprise Architecture - Application Architectureend2end Enterprise Architecture - Application Architecture
end2end Enterprise Architecture - Application Architecture
 
Resume of Praveen
Resume of PraveenResume of Praveen
Resume of Praveen
 
ShreoshiRaha_CV
ShreoshiRaha_CVShreoshiRaha_CV
ShreoshiRaha_CV
 
K N Avinash_ MBA_ BA
K N Avinash_ MBA_ BAK N Avinash_ MBA_ BA
K N Avinash_ MBA_ BA
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Three SOA Case Studies
Three SOA Case StudiesThree SOA Case Studies
Three SOA Case Studies
 

En vedette

ccl_kfc
ccl_kfcccl_kfc
ccl_kfc
CCL
 
4. pc structure
4. pc structure4. pc structure
4. pc structure
mtmsbilig
 
Youtube
YoutubeYoutube
Youtube
StijnJ
 
Research Journal #9
Research Journal #9Research Journal #9
Research Journal #9
U-Old Panda
 

En vedette (20)

Preguntas de Didactica General, Lic Morataya
Preguntas de Didactica General, Lic MoratayaPreguntas de Didactica General, Lic Morataya
Preguntas de Didactica General, Lic Morataya
 
ccl_kfc
ccl_kfcccl_kfc
ccl_kfc
 
Future of india
Future of indiaFuture of india
Future of india
 
Toan van diem moi luat doanh nghiep 2014
Toan van diem moi luat doanh nghiep 2014Toan van diem moi luat doanh nghiep 2014
Toan van diem moi luat doanh nghiep 2014
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
 
The Grudge
The GrudgeThe Grudge
The Grudge
 
4. pc structure
4. pc structure4. pc structure
4. pc structure
 
Kalmanfilter
Kalmanfilter Kalmanfilter
Kalmanfilter
 
Ecxel trabajo
Ecxel trabajo  Ecxel trabajo
Ecxel trabajo
 
How to get rid of old i cloud backups on your iphone
How to get rid of old i cloud backups on your iphoneHow to get rid of old i cloud backups on your iphone
How to get rid of old i cloud backups on your iphone
 
Prismaplus xt-traffic
Prismaplus xt-trafficPrismaplus xt-traffic
Prismaplus xt-traffic
 
La ley de_ohm[1]
La ley de_ohm[1]La ley de_ohm[1]
La ley de_ohm[1]
 
AFFONSO PENNA E OS REPERTÓRIOS DO ENGRANDECIMENTO MINEIRO (1874-1906)
AFFONSO PENNA E OS REPERTÓRIOS DO ENGRANDECIMENTO MINEIRO (1874-1906)AFFONSO PENNA E OS REPERTÓRIOS DO ENGRANDECIMENTO MINEIRO (1874-1906)
AFFONSO PENNA E OS REPERTÓRIOS DO ENGRANDECIMENTO MINEIRO (1874-1906)
 
Youtube
YoutubeYoutube
Youtube
 
Mountain Lion by Margarito
Mountain Lion by MargaritoMountain Lion by Margarito
Mountain Lion by Margarito
 
Infarto
InfartoInfarto
Infarto
 
Stacy Davis ETEC Timeline
Stacy Davis ETEC TimelineStacy Davis ETEC Timeline
Stacy Davis ETEC Timeline
 
Research Journal #9
Research Journal #9Research Journal #9
Research Journal #9
 
St pete rental_house_conversion
St pete rental_house_conversionSt pete rental_house_conversion
St pete rental_house_conversion
 
Введение в макроэкономику
Введение в макроэкономикуВведение в макроэкономику
Введение в макроэкономику
 

Similaire à Complementing Agile SDLC with Agile Architecture

whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
Eric Saraceno
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
Jay van Zyl
 
LiveCycle Architecture
LiveCycle ArchitectureLiveCycle Architecture
LiveCycle Architecture
xrum
 
Jonathan Terry's Resume
Jonathan Terry's ResumeJonathan Terry's Resume
Jonathan Terry's Resume
jcterry
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
Jay van Zyl
 

Similaire à Complementing Agile SDLC with Agile Architecture (20)

whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
 
Best Practices for Full-Stack Development: A Comprehensive Guide
Best Practices for Full-Stack Development: A Comprehensive GuideBest Practices for Full-Stack Development: A Comprehensive Guide
Best Practices for Full-Stack Development: A Comprehensive Guide
 
Best Practices for Full-Stack Development_ A Comprehensive Guide.pdf
Best Practices for Full-Stack Development_ A Comprehensive Guide.pdfBest Practices for Full-Stack Development_ A Comprehensive Guide.pdf
Best Practices for Full-Stack Development_ A Comprehensive Guide.pdf
 
How to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology ChoicesHow to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology Choices
 
A Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application ArchitectureA Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application Architecture
 
Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023
 
Application Modernization With Cloud Native Approach_ An in-depth Guide.pdf
Application Modernization With Cloud Native Approach_ An in-depth Guide.pdfApplication Modernization With Cloud Native Approach_ An in-depth Guide.pdf
Application Modernization With Cloud Native Approach_ An in-depth Guide.pdf
 
Analyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksAnalyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web Frameworks
 
Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...
 
Mvc architecture driven design and agile implementation of a web based softwa...
Mvc architecture driven design and agile implementation of a web based softwa...Mvc architecture driven design and agile implementation of a web based softwa...
Mvc architecture driven design and agile implementation of a web based softwa...
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
 
Top Reasons to Choose AngularJS as your Front-end Framework
Top Reasons to Choose AngularJS as your Front-end FrameworkTop Reasons to Choose AngularJS as your Front-end Framework
Top Reasons to Choose AngularJS as your Front-end Framework
 
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
Overcoming Ongoing Digital Transformational Challenges with a Microservices A...
 
LiveCycle Architecture
LiveCycle ArchitectureLiveCycle Architecture
LiveCycle Architecture
 
unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptx
 
Jonathan Terry's Resume
Jonathan Terry's ResumeJonathan Terry's Resume
Jonathan Terry's Resume
 
Planner Application Based on Customer Relationship Management
Planner Application Based on Customer Relationship ManagementPlanner Application Based on Customer Relationship Management
Planner Application Based on Customer Relationship Management
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
 
From Components To Services
From Components To ServicesFrom Components To Services
From Components To Services
 
Wecreate
WecreateWecreate
Wecreate
 

Plus de Enterprise Architecture Professional Journal

Enterprise Architecture Professional Journal Volume II April 2014
Enterprise Architecture Professional Journal Volume II April 2014Enterprise Architecture Professional Journal Volume II April 2014
Enterprise Architecture Professional Journal Volume II April 2014
Enterprise Architecture Professional Journal
 

Plus de Enterprise Architecture Professional Journal (9)

An Introduction to Enterprise Architecture Visual Modeling with The ArchiMate...
An Introduction to Enterprise Architecture Visual Modeling with The ArchiMate...An Introduction to Enterprise Architecture Visual Modeling with The ArchiMate...
An Introduction to Enterprise Architecture Visual Modeling with The ArchiMate...
 
Thought Leader Interview: Atefeh Riazi on the Past, Present and Future of Met...
Thought Leader Interview: Atefeh Riazi on the Past, Present and Future of Met...Thought Leader Interview: Atefeh Riazi on the Past, Present and Future of Met...
Thought Leader Interview: Atefeh Riazi on the Past, Present and Future of Met...
 
Technology Foundation for a Real-Time Distributed Problem-Solving Environment...
Technology Foundation for a Real-Time Distributed Problem-Solving Environment...Technology Foundation for a Real-Time Distributed Problem-Solving Environment...
Technology Foundation for a Real-Time Distributed Problem-Solving Environment...
 
Enterprise Architecture Professional Journal Volume I April 2013
Enterprise Architecture Professional Journal Volume I April 2013Enterprise Architecture Professional Journal Volume I April 2013
Enterprise Architecture Professional Journal Volume I April 2013
 
Enterprise Architecture Professional Journal Volume I March 2014
Enterprise Architecture Professional Journal Volume I March 2014Enterprise Architecture Professional Journal Volume I March 2014
Enterprise Architecture Professional Journal Volume I March 2014
 
Thought Leader Interview: Dr. William Turner on the Software-Defined Future ...
Thought Leader Interview:  Dr. William Turner on the Software-Defined Future ...Thought Leader Interview:  Dr. William Turner on the Software-Defined Future ...
Thought Leader Interview: Dr. William Turner on the Software-Defined Future ...
 
Visualizing IT at the Department of Homeland Security with the ArchiMate® Vis...
Visualizing IT at the Department of Homeland Security with the ArchiMate® Vis...Visualizing IT at the Department of Homeland Security with the ArchiMate® Vis...
Visualizing IT at the Department of Homeland Security with the ArchiMate® Vis...
 
Thought Leader Interview: Allen Podraza on Records Management
Thought Leader Interview: Allen Podraza on Records ManagementThought Leader Interview: Allen Podraza on Records Management
Thought Leader Interview: Allen Podraza on Records Management
 
Enterprise Architecture Professional Journal Volume II April 2014
Enterprise Architecture Professional Journal Volume II April 2014Enterprise Architecture Professional Journal Volume II April 2014
Enterprise Architecture Professional Journal Volume II April 2014
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Complementing Agile SDLC with Agile Architecture

  • 1. Page 1 of 6 ©2014 EAPJ.org Complementing Agile SDLC with Agile Architecture By David Shilman Today’s highly competitive and customer-centric market conditions have pushed software and solution delivery organizations beyond the traditionally accepted limits of software development and delivery capabilities. Lean methodologies such as Lean Six Sigma and DevOps can help improve operational solution delivery capacities through  Streamlining of solution delivery process  Improved software quality  Automation of system operations  Self-administration of system operations by development teams Agile methodologies augment such operational improvements with their own enablement of faster time to market (TTM) by transforming the Lean concept of value-added activities into value-added product features. Agile software architecture augments solution delivery organizations’ Agile software development life cycle (SDLC) capabilities with flexible architectures that facilitate future product development. Agile methodologies extend product lifecycles through faster TTM and continuous delivery to ensure high quality of service (QoS) defined by functional feasibility, business and technology capabilities. The Agile SDLC produces the Minimally Viable Product (MVP), which is continuously enhanced with value-added product features. While most architects have limited knowledge of future trends in software products, they must still design software to make future seamless enhancements possible throughout the entire product life cycle. This type of application architecture fits the definition of Agile. Agile application architecture must support and complement the Agile SDLC through the following architecture principles, which are derived from the Agile Manifesto principles:  Application architecture must be extendable: Build for change  Application architecture must enhance developers’ productivity  Application architecture must not contribute to technical debt  Application architecture must continuously improve “Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.” - Agile Manifesto Principle #2 Build for Change A former CIO of a Fortune 300 company once said “Enterprise architects must be at least six months ahead of the solution delivery organization they support”. This can be understood as advice to enterprise architects to keep current with technology trends and educate their peers
  • 2. Page 2 of 6 ©2014 EAPJ.org in order to influence organization’s solution delivery capabilities. Although that might have been his intended message, in the context of Agile SDLC, there is another interpretation: Application architects must produce architecture that will empower rather than just support solution delivery teams in delivering and maintaining software with the optimal balance of schedule, cost and non-functional quality. Application architects provide true value to solution delivery teams by anticipating and initiating technological advancements in areas such as customer communication, information management, security and integration, and computing platforms in their organizations. They prepare for these changes with simple, structurally and behaviorally loosely-coupled application architecture that is agnostic of the client device and hosting infrastructure. In other words, agile application architectures enable developers to replace components and change how they communicate with each other through software configuration. (Table 1). Such loosely-coupled architectures enable their owners to rapidly adopt successive generations of mobile and cloud technology as business needs dictate. Table 1. Examples of design patterns for structural and behavioral loose coupling Pattern Gang of Four Design Pattern Type Description Inversion of Control (IoC) Factory Structural IoC is a modern day reinvention of the Factory Gang of Four (GoF) design pattern. IoC, also known as Dependency Injection, decouples an application component interface from its implementation, allowing application developers to swap application components through software configuration rather than extensive code changes (Figure 1). Messaging Mediator Behavioral This message-centric integration design pattern implemented with Message Oriented Middleware (MOM) allows application developers to configure run-time component interactions without writing code. (Figure 2).
  • 3. Page 3 of 6 ©2014 EAPJ.org Figure 1. Structurally loosely-coupled application architecture using Data Access Objects (DAOs) to facilitate replacement of the underlying persistence mechanism. Figure 2. Behaviorally loosely-coupled system architecture using a configurable Message Bus to control component interactions. “Continuous attention to technical excellence and good design enhances agility.” - Agile Manifesto Principle #9 Application Architecture Must Enhance Developers’ Productivity The Kanban method introduced the concept of managed flow constrained by Work-In-Progress (WIP) limits, which quantitatively describe an organization’s operational capacity. WIP limits are usually influenced by solution delivery organizations’ head count and SDLC process efficiency. Good application architecture can also improve solution delivery capabilities by increasing the WIP limits.
  • 4. Page 4 of 6 ©2014 EAPJ.org Various studies show that most IT budgets allocate as much as 80% to software maintenance. Application architects must not only enable rapid solution delivery, but also reduce product maintenance cost throughout the software’s entire life span by enhancing quality of service (QoS) and developer productivity. Application architects should strive to free application developers of all non-functional coding by allowing them to focus on and efficiently implement features with direct customer value. Table 22 illustrates the agile application architecture practices that best empower application developers. Table 2. Agile Application Architecture Practices. Pattern Description Loose coupling of application tiers Loose coupling of application tiers through JavaScript Object Notation (JSON) or eXtensible Markup Language (XML) allows application developers to program application components simultaneously based on a flexible tagged data structure rather than a data object that creates compile dependencies between application components. Developers can program loosely-coupled components in parallel without impacting one another, and reconcile their changes as they merge their work. RESTful application programming interfaces (APIs) Exposing server side data and business components through stateless RESTful APIs based on straightforward web URLs allows reuse of application components a wide variety of distributed clients. This approach significantly reduces server-side application footprint and the prospect of technical debt. Open source commons libraries Popular open source frameworks such as Apache Commons and Google Guava help reduce development effort by eliminating boiler-plate code and reducing application footprint Single-page applications Single-page applications, which enhance user experience with rich graphical user interfaces and instant response, are typically engineered with browser-based technologies like:  Rich Internet Application JavaScript frameworks  Ajax  CSS Responsive design Incorporating responsive design into a web application UI allows access from a variety of web/mobile client devices, which reduces the prospect of technical debt as client technologies progress. NoSQL (Not Only SQL) databases Among other uses, NoSQL databases excel at storing transient data and dynamic data structures without extensive support from data architects and database administrators.
  • 5. Page 5 of 6 ©2014 EAPJ.org Together, these practices shorten the critical path of development projects. They enable parallel development with reduced dependencies between application components and tiers, decrease application footprint with increased software reuse, reduce data administration and operations efforts with newer database technology, and therefore improve prospects for continuous delivery. “Simplicity--the art of maximizing the amount of work not done--is essential.” - Agile Manifesto Principle #10 Application Architecture Must Not Contribute To Technical Debt There is a strong demand from business partners and customers to access end-user facing applications from a variety of web and mobile devices. Modern web application architecture must incorporate multichannel content delivery and responsive design in order to meet this business demand with efficiently. Failure to adapt to customer needs quickly will reduce the solution delivery organization’s competitive advantage and contribute to its technical debt. Application architects need to challenge themselves and embrace new and unfamiliar technologies geared to enhance end-user experience (UX) with minimum redundancy in technology assets (Figure 3). Figure 3. An Agile application architecture that enables reusability across client platforms. “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” - Agile Manifesto Principle #12 Application Architecture Must Continuously Improve
  • 6. Page 6 of 6 ©2014 EAPJ.org During the scrum retrospective, Agile teams improve their sprint execution capabilities. Enterprise Architecture also benefits from continuous improvement. As new technologies and patterns are adopted, architects should incorporate them in the Standards Information Base within the organization’s architecture repository. Enterprise architects and development teams need to continuously identify opportunities to improve collaborative architecture development and governance and to respond faster to architecture changes in order to provide value and build agility. Conclusion In today’s economy, business and IT stakeholders often make decisions to buy versus build based on software solution quality, cost and time to market delivery capabilities. Furthermore, customers’ expectations of user experience have continued to rise. IT organizations can no longer measure application quality by yesterday’s internally-focused standards without running the risk of producing applications classified as “legacy” rather than “modern” after only a short time in production. An earlier version of this article originally appeared in the Cutter Consortium Business and Enterprise Architecture Practice - http://www.cutter.com/content/architecture/fulltext/advisor/2014/ea140723.html About the Author: David Shilman is an Enterprise Architect with a Fortune 300 company. David started his professional career as a programmer. Throughout his career development, David has embraced technology and SDLC best practices. In his previous role as an application development manager, David was an early adopter of Lean and Agile practices and methodologies, which he utilized to streamline and improve the solution delivery capabilities of his team. In his current role, David spearheads TOGAF awareness and adaptation in his organization. David has a B.S. in Mathematics, and holds advanced certifications in Enterprise Architecture, Project Management and Lean Six Sigma. David is a father of five, and enjoys spending time and playing sports with his kids.