SlideShare a Scribd company logo
Ingredients of Agile and
Collaborative Development Model
Python Based Projects
msreejith@yahoo.com
Agenda
• Introduction
– Why adopt agile & collaborative model
• Source Code Structure
• Testing Considerations
• Sample Packages & Tools
Introduction
• Why Agility needs to be factored in
– When you have to respond to adhoc new/changing requirements
during the project sustenance lifecycle
– When you need fast iterative go-to-prod cycles
• Why Collaborative model needs to be factored in
– When development needs to be de-centralized and multiple disparate
teams contribute
– Organizations may have pockets of “SMEs” that could collaborate on
functionality in parallel
• Testing Considerations
– Testing & Automation has to be integrated at several stages
– Localized unit testing of framework, utils and contributed modules
Source Code Structure
• Identify and Segregate what constitutes “Framework” from rest of the components
– Core Framework component, for instance, should be the only part of your code that follows “closed”
development model
– i.e a centralized team owns and maintains the “Framework” modules
– “Framework” changes could be less frequent than rest of the components
– Good example is a Framework that abstracts the “data store” interactions and prepares a Data-model to be
consumed by other collaborative developers
• Identify and segregate Non-framework modules
– Non-framework modules should be “open” for collaborative development
– Non-framework modules should be consumers of the Framework and can follow agile development schedules &
practices independently
– Good example of Non-framework module is “Rules” development. Rules could be developed collaboratively by
“SMEs” from disparate teams. They could do so by subscribing and adhering to the core Framework published
Interfaces (data-model, or getter APIs for instance)
• Testing Considerations
– Framework should provide unit-test modules and templates for both core framework and the non-
framework modules
– Framework should also provide “Integration testing” hooks – where the new changes could be executed on
a target environment representing production-like dataset. This is crucial to help identify quality issues early
in development considering short agile deployment cycles
Source Code Structure
project_root/
framework/
rules_root/
framework/
src/
utils/
unittest/
conf/
rules_root/
data/
rules/
unittest/
- Closed, waterfall development
- separate framework repo
- Framework code packages, and runs the
rules, abstracts data-store details
- Collaborative, agile development
- separate rules repo
- Rules code only focuses on business
logic using data-model/interfaces
published by framework runtime
Sample Packages & Tools
Category Package/Tool Name Purpose
Deploy & Setup Virtualenv Tool to create Isolated Python env that would provide
consistent library versioning deployment of project
Dev Automation Jinja2.Template Templatize and auto-generate Class definitions, Unit test
module skeleton, Html report format generation etc to
minimize manual repetitive work
Dev Workflow git Quick project setup time.
Source control for collaborative & agile development, code
review processes
Dev Json;
Avro
Input/Output data persistence and movement;
To maintain versioning across releases.
Localized
Development and
Unit testing
[Connectors to data sources to
fetch sample data into project
framework]
Nosetest
For each unit-test “fetch” and persist sample data
representive of Positive & Negative test-cases for unit-test
local execution.
Automatically discover and run tests.
Continuous Testing Jenkins Continuous Integration – Run regression tests with every
check-in. Also run full functional-test with complete run-
time env and complete input data mimic’ing Production
Documentation Pydoc Major functions and util packages should be documented
with pydoc
Documentation &
Reporting
Sqllite database Any documents and report generation (for results analysis,
metadata analysis)

More Related Content

What's hot (20)

PDF
ML with Power BI for Business and Pros
Ivo Andreev
 
PPTX
Prcn 2019 stage 1264-question-presentation_poster file_id-15
madynav
 
PDF
Splunk Business Analytics
CleverDATA
 
PDF
Architecting for analytics
Rob Winters
 
PDF
Productionising Machine Learning Models
Tash Bickley
 
PPTX
Solution Architecture US healthcare
sumiteshkr
 
PDF
Proof of Concept for Learning Analytics Interoperability
Open Cyber University of Korea
 
PPTX
3 Ways Tableau Improves Predictive Analytics
Nandita Nityanandam
 
PDF
Data Visualization and Discovery
Datavail
 
PPTX
Enabling Self Service Business Intelligence using Excel
Alan Koo
 
PPTX
Big data analytic platform
Jesse Wang
 
PPT
Data quality architecture
anicewick
 
PPTX
Global IT Outsourcing case study
Nandita Nityanandam
 
PDF
Guiding through a typical Machine Learning Pipeline
Michael Gerke
 
PPTX
Mohamed Sabri: Operationalize machine learning with Kubeflow
Lviv Startup Club
 
PPTX
Bi Architecture And Conceptual Framework
Slava Kokaev
 
PPT
Oracle BI 11g Insync presentation
InSync Conference
 
PDF
2013 OHSUG - Clinical Data Warehouse Implementation
Perficient
 
PPTX
Creating an Enterprise AI Strategy
AtScale
 
PDF
Business Objects.new & old version
TL Technologies - Thoughts Become Things
 
ML with Power BI for Business and Pros
Ivo Andreev
 
Prcn 2019 stage 1264-question-presentation_poster file_id-15
madynav
 
Splunk Business Analytics
CleverDATA
 
Architecting for analytics
Rob Winters
 
Productionising Machine Learning Models
Tash Bickley
 
Solution Architecture US healthcare
sumiteshkr
 
Proof of Concept for Learning Analytics Interoperability
Open Cyber University of Korea
 
3 Ways Tableau Improves Predictive Analytics
Nandita Nityanandam
 
Data Visualization and Discovery
Datavail
 
Enabling Self Service Business Intelligence using Excel
Alan Koo
 
Big data analytic platform
Jesse Wang
 
Data quality architecture
anicewick
 
Global IT Outsourcing case study
Nandita Nityanandam
 
Guiding through a typical Machine Learning Pipeline
Michael Gerke
 
Mohamed Sabri: Operationalize machine learning with Kubeflow
Lviv Startup Club
 
Bi Architecture And Conceptual Framework
Slava Kokaev
 
Oracle BI 11g Insync presentation
InSync Conference
 
2013 OHSUG - Clinical Data Warehouse Implementation
Perficient
 
Creating an Enterprise AI Strategy
AtScale
 
Business Objects.new & old version
TL Technologies - Thoughts Become Things
 

Similar to Agile collaborative practices (20)

PPTX
Beginners overview of automated testing with Rspec
jeffrey1ross
 
PPT
Case tools and modern process of system development
tushar217
 
PPT
03 Modeling Process and Life Cycle
Laguna State Polytechnic University
 
PDF
SCM Migration Webinar - English
CollabNet
 
PPT
03 module2-090710094221-phpapp02
gurusaras01
 
PPT
03 module2-090710094221-phpapp02
Asadullah Tareen
 
PPS
testing
nazeer pasha
 
PDF
Preparing for DevOps
Eklove Mohan
 
PDF
Choosing right-automation-tool
BabuDevanandam
 
PPT
Reference Architecture
Johan Eltes
 
PDF
Software Engineering Practice - Configuration management
Radu_Negulescu
 
PPTX
Chap4Information System Development.pptx
ShyamSidhardan
 
PPT
Unified modeling language basics and slides
venkatasubramanianSr5
 
PPTX
The State of OpenStack Product Management
Tesora
 
PDF
Spring batch overivew
Chanyeong Choi
 
PPTX
Practical unit testing in c & c++
Matt Hargett
 
DOC
Chapter 1,2,3,4 notes
Aruna M
 
PDF
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdf
Serena Gray
 
PPTX
Software process Models
SADEED AMEEN
 
PPTX
QA Team Goes to Agile and Continuous integration
Sujit Ghosh
 
Beginners overview of automated testing with Rspec
jeffrey1ross
 
Case tools and modern process of system development
tushar217
 
03 Modeling Process and Life Cycle
Laguna State Polytechnic University
 
SCM Migration Webinar - English
CollabNet
 
03 module2-090710094221-phpapp02
gurusaras01
 
03 module2-090710094221-phpapp02
Asadullah Tareen
 
testing
nazeer pasha
 
Preparing for DevOps
Eklove Mohan
 
Choosing right-automation-tool
BabuDevanandam
 
Reference Architecture
Johan Eltes
 
Software Engineering Practice - Configuration management
Radu_Negulescu
 
Chap4Information System Development.pptx
ShyamSidhardan
 
Unified modeling language basics and slides
venkatasubramanianSr5
 
The State of OpenStack Product Management
Tesora
 
Spring batch overivew
Chanyeong Choi
 
Practical unit testing in c & c++
Matt Hargett
 
Chapter 1,2,3,4 notes
Aruna M
 
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdf
Serena Gray
 
Software process Models
SADEED AMEEN
 
QA Team Goes to Agile and Continuous integration
Sujit Ghosh
 
Ad

Recently uploaded (20)

PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Ad

Agile collaborative practices

  • 1. Ingredients of Agile and Collaborative Development Model Python Based Projects [email protected]
  • 2. Agenda • Introduction – Why adopt agile & collaborative model • Source Code Structure • Testing Considerations • Sample Packages & Tools
  • 3. Introduction • Why Agility needs to be factored in – When you have to respond to adhoc new/changing requirements during the project sustenance lifecycle – When you need fast iterative go-to-prod cycles • Why Collaborative model needs to be factored in – When development needs to be de-centralized and multiple disparate teams contribute – Organizations may have pockets of “SMEs” that could collaborate on functionality in parallel • Testing Considerations – Testing & Automation has to be integrated at several stages – Localized unit testing of framework, utils and contributed modules
  • 4. Source Code Structure • Identify and Segregate what constitutes “Framework” from rest of the components – Core Framework component, for instance, should be the only part of your code that follows “closed” development model – i.e a centralized team owns and maintains the “Framework” modules – “Framework” changes could be less frequent than rest of the components – Good example is a Framework that abstracts the “data store” interactions and prepares a Data-model to be consumed by other collaborative developers • Identify and segregate Non-framework modules – Non-framework modules should be “open” for collaborative development – Non-framework modules should be consumers of the Framework and can follow agile development schedules & practices independently – Good example of Non-framework module is “Rules” development. Rules could be developed collaboratively by “SMEs” from disparate teams. They could do so by subscribing and adhering to the core Framework published Interfaces (data-model, or getter APIs for instance) • Testing Considerations – Framework should provide unit-test modules and templates for both core framework and the non- framework modules – Framework should also provide “Integration testing” hooks – where the new changes could be executed on a target environment representing production-like dataset. This is crucial to help identify quality issues early in development considering short agile deployment cycles
  • 5. Source Code Structure project_root/ framework/ rules_root/ framework/ src/ utils/ unittest/ conf/ rules_root/ data/ rules/ unittest/ - Closed, waterfall development - separate framework repo - Framework code packages, and runs the rules, abstracts data-store details - Collaborative, agile development - separate rules repo - Rules code only focuses on business logic using data-model/interfaces published by framework runtime
  • 6. Sample Packages & Tools Category Package/Tool Name Purpose Deploy & Setup Virtualenv Tool to create Isolated Python env that would provide consistent library versioning deployment of project Dev Automation Jinja2.Template Templatize and auto-generate Class definitions, Unit test module skeleton, Html report format generation etc to minimize manual repetitive work Dev Workflow git Quick project setup time. Source control for collaborative & agile development, code review processes Dev Json; Avro Input/Output data persistence and movement; To maintain versioning across releases. Localized Development and Unit testing [Connectors to data sources to fetch sample data into project framework] Nosetest For each unit-test “fetch” and persist sample data representive of Positive & Negative test-cases for unit-test local execution. Automatically discover and run tests. Continuous Testing Jenkins Continuous Integration – Run regression tests with every check-in. Also run full functional-test with complete run- time env and complete input data mimic’ing Production Documentation Pydoc Major functions and util packages should be documented with pydoc Documentation & Reporting Sqllite database Any documents and report generation (for results analysis, metadata analysis)