SlideShare a Scribd company logo
ANATOMY OF ANAGILE .NET PROJECTBy Fredrik Kalseth,Senior Consultant at Capgemini in StavangerTHIS IS NOT A BIOLOGY LESSON.
CASE STUDYDevin Exposé, a Content Managment System
DESIGNPRINCIPLESSOLID ARCHITECTURE.
ONION ARCHITECTUREA modern approach to n-tier architecture.
ClientUser interface LayerORMTest FixtureDTO / ViewModelMessage/EventASP.NET, ASP.NET MVC, WPF...Anti Corruption LayerApplication ServicesDomain ServicesDomain ModelDirection of Flow (DIP)nHibernate, LLBLGEN, Linq To Sql, XPO... Application CoreDatabaseContinous Integration ServerTestsInfrastructureMessage BusExternal SystemsTFS, Team City, Cruise Control... NServiceBus, MassTransit, proprietary...
MediaItemVMUploadMediaItemViewUser interface LayerMediaItemControllerMediaItemUploaderApplication ServicesDomain ServicesIRepository<T>Domain ModelMediaItemIUnitOfWorkMediaItemTagIMediaStorageApplication CoreMediaStorageLinqToSqlRepository<T>DataContextTestsInfrastructureWhen_uploading_MediaItem
DEPENDENCY MANAGEMENTFollow the Dependency Inversion Principle.Manage dependencies using an IoC framework.
OBJECT/RELATIONAL MAPPINGRows in a database are just data. Objects are data (state) + behavior.
DEVELOPMENTPROCESSIT’S SOFTWARE CRAFTMANSHIP.
TEST DRIVEN DESIGNDrive the implementation of important/complex use cases through unit and integration tests.
PROJECT STRUCTUREFew projects = faster builds.Separate assemblies != loose coupling!
BRANCH BY FEATURESeparate concerns. Merge continously.
F14 BranchF12 BranchTrunkF13 BranchF15 BranchFeature branchMerge from trunkMerge from other branch
CONTINUOUS INTEGRATIONMerge frequently. Build merged code frequently. Test built code frequently.
Anatomy Of An Agile .Net Project
DEMONSTRATIONFixing a bug the agile way.
PUSHINGTHE ENVELOPELEAP AHEAD.
DISTRIBUTED SOURCE CONTROLSource control everywhere.
AUTOTESTINGContinously running tests in the background.
CONTINOUS DEPLOYMENT“On average we deploy new code fifty times a day.” - Timothy Fitz, IMVU
PROJECT MONITORINGSmeedee, an open source project monitor.

More Related Content

PPTX
07 advanced topics
DOCX
Ruminations on Cloud / Microservices / DevOps
PPT
Jasforge Agile Collaborative Platform
PPT
Francesco Fullone - Project Management 2.0
PPTX
Architecting, testing and developing an mvc application
PDF
Architecting a Large Software Project - Lessons Learned
PPTX
Agile ppt final
PPTX
Large scale agile development practices
07 advanced topics
Ruminations on Cloud / Microservices / DevOps
Jasforge Agile Collaborative Platform
Francesco Fullone - Project Management 2.0
Architecting, testing and developing an mvc application
Architecting a Large Software Project - Lessons Learned
Agile ppt final
Large scale agile development practices

Similar to Anatomy Of An Agile .Net Project (20)

PDF
Clean architecture with asp.net core
PPTX
Pragmatic Architecture in .NET
PPTX
Learn Mastering-the-NET-Interview 2.pptx
PPTX
Fast architecture will agile work this time
PPT
ODP
Applying Agile Values to Enterprise Architecture
PPTX
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
PDF
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
PPTX
ASP.NET Best Practices - Useful Tips from the Trenches
PDF
C# .NET Developer Portfolio
DOCX
Why use .net by naveen kumar veligeti
PPTX
Unit iii-Architecture in the lifecycle
DOCX
Uma SunilKumar Resume
PPT
Bahrs.peter
PDF
Agile Architecture Development Enterprise Manufacturing Product Frameworks Bu...
PPTX
ASP.NET Core For The Agile Enterprise
PDF
Agile archiecture iltam 2014
PPTX
Challenging The Role Of The Architect
PPTX
A Lap Around Visual Studio 2010
PPTX
Does Agile Enterprise Architecture = Agile + Enterprise Architecture?
Clean architecture with asp.net core
Pragmatic Architecture in .NET
Learn Mastering-the-NET-Interview 2.pptx
Fast architecture will agile work this time
Applying Agile Values to Enterprise Architecture
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
ASP.NET Best Practices - Useful Tips from the Trenches
C# .NET Developer Portfolio
Why use .net by naveen kumar veligeti
Unit iii-Architecture in the lifecycle
Uma SunilKumar Resume
Bahrs.peter
Agile Architecture Development Enterprise Manufacturing Product Frameworks Bu...
ASP.NET Core For The Agile Enterprise
Agile archiecture iltam 2014
Challenging The Role Of The Architect
A Lap Around Visual Studio 2010
Does Agile Enterprise Architecture = Agile + Enterprise Architecture?
Ad

More from Microsoft Norge AS (20)

PDF
Microsoft Dynamics AX 2012 brosjyre
PDF
Micr00542 komm brosj_3101_godkjent
PDF
Microsoft dynamics crm brosjyre 2011
PDF
Nyhetsbrev IKT i samfunnet
PDF
Norske skog finansavisen jan 24 2011
PDF
Sparer 15 millioner på ny ikt plattform
PDF
Exchange online test pc world
PPTX
Ms webfourm nettskyen okt2010
PDF
Microsoft Dynamics CRM
PDF
Sony vaio tilbud
PDF
Seniornett i hundre
PDF
Seniornett åpner klubb nummer 100
PDF
Hvorfor vi vedder alt på nettskyen, og hvilke fordeler det kan gi deg
PDF
Communications server 14 ep groadmap3
PDF
Communications server 14 ep groadmap3
PDF
Service Manager Cloud Seminar introcustext
PDF
Part2 DC Man Vision and Roadmap Finalcustext
PDF
Case dagens it - grønn it konkurranse - final
Microsoft Dynamics AX 2012 brosjyre
Micr00542 komm brosj_3101_godkjent
Microsoft dynamics crm brosjyre 2011
Nyhetsbrev IKT i samfunnet
Norske skog finansavisen jan 24 2011
Sparer 15 millioner på ny ikt plattform
Exchange online test pc world
Ms webfourm nettskyen okt2010
Microsoft Dynamics CRM
Sony vaio tilbud
Seniornett i hundre
Seniornett åpner klubb nummer 100
Hvorfor vi vedder alt på nettskyen, og hvilke fordeler det kan gi deg
Communications server 14 ep groadmap3
Communications server 14 ep groadmap3
Service Manager Cloud Seminar introcustext
Part2 DC Man Vision and Roadmap Finalcustext
Case dagens it - grønn it konkurranse - final
Ad

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPT
Teaching material agriculture food technology
PDF
Approach and Philosophy of On baking technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
sap open course for s4hana steps from ECC to s4
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Teaching material agriculture food technology
Approach and Philosophy of On baking technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding
Understanding_Digital_Forensics_Presentation.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Electronic commerce courselecture one. Pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Mobile App Security Testing_ A Comprehensive Guide.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm

Anatomy Of An Agile .Net Project

Editor's Notes

  • #6: Emphasizes use of interfaces for behavior contractsExternalization of infrastructureDomain model – state and behaviorDomain services – typically interfaces for repositories etc.Application services – orchestrate the finer grained domain services. Concerns such as transactionality and persistence are typically dealt with by application services. ”Task services”Outer layer reserved for things that change often. UI, implementations of infrastructure stuff (Repository) etc.
  • #14: http://www.lostechies.com/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx
  • #21: http://timothyfitz.wordpress.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/
  • #22: Capgemini’s Smeedee Open source project monitor: http://www.smeedee.org