The 7 Things I Know About Cyber Security After 25 Years | April 2024
Agile software development slide show
1. Proprietary Information of Nanda Consulting. Do not distribute or
reproduce without express permission of Nanda Consulting.
- Nanda Consulting
Agile Software Development
2. So you have a software
idea you want to build 💭
or your Boss wants you to
manage a software
development project 📲 …
Proprietary Information of Nanda Consulting. Do not distribute or reproduce without express
permission of Nanda Consulting.
3. Setup
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
4. Software Development Lifecycle [SDLC]
• Requirements Gathering and Business Analysis – Features, Design, Flow, UX, Usability, etc.
• Solution Architecture – Security, Compliance ,Supplier Management, etc.
• Application Architecture – Application Stack, App Design, Code Standards, Patterns, etc.
• Infrastructure Setup – Environments, Pipelines, Code/Executables Repository
• Software Development – UI Design, Code Dev, Unit Testing, Documentation, etc.
• Database Development – DB Design, DB Modelling, Stored Procedures, ETL, etc.
• Testing– Automation Scripts, Perf Tests, UAT, Test Data, etc.
• Deployment and Release Management – Release planning, Audit, Compliance, Checklist, etc.
• Operations and Production Support – DevOps, Monitoring, Support, Escalations, etc.
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
5. Traditional Project
Management
(Gantt Chart)
• The flow where one process needs to complete before
another one can start illustrates a “Waterfall” like process
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
Stages of Dev Jan Feb Mar Apr May Jun July Aug Sept Oct Nov Dec
Requirements ⤵️
Designing ⤵️
Architecture ⤵️
Infrastructure ⤵️
Database Dev ⤵️
Software Dev ⤵️
Testing ⤵️
Release ⤵️
Maintenance
6. Responsibility Matrix
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
Stage Role
Requirements Gathering Business and Product Specialists
Designing UI Design/Product Specialist
Architecture Architects/Technical Leads
Infrastructure Setup Operations Engineer/Senior Engineer
Software Development Engineering Team
Database Development Database Engineer
Software Testing Quality Assurance Team
Deployment and Release Management Release Management/Operations Engineer
Operations and Production Support Operations Engineer/Software Engineers
7. Communication and Collaboration Problems
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
8. Drawbacks of
Waterfall in
Software
Development
• Inability to see working software till project end leads to major Cost of
Delay and Quality.
• Missed requirements and unclear documentation will lead to issues down
the line.
• Business cannot pivot according to market changes leading to loss in
competitivity.
• Quality suffers with no continuous feedback and higher cost of defect
turnaround.
• Planning with uncertain Cadence leading to changing baselines and missed
deadlines.
• Lack of Transparency and Silos lead to friction, delay, unbalanced and
innovation void.
• Communication Issues with assumptions that can only be verified very late
in the cycle.
• Customer is not in control of the project and visibility is opaque.
• Integration Issues due to lack of Continuous Integration. Cost of rework is
high.
• Unable to quickly adapt to address risk and uncertainties.
Proprietary Information of Nanda Consulting. Do not distribute or reproduce without express
permission of Nanda Consulting.
9. • Working Software is a primary measure of success. Every iteration ends with an increment of the software
that is a working model of the software and this means the fastest feedback of a hypothesis put into action.
• Speed to Market – Knowing the cadence, the velocity and the team's ability to pivot as needed allows to plan
and deliver features quickly to market and in some cases do beta test or A/B testing.
• Quality – the presence of quality engineers within the team and by implementing shift left concepts like Test
driven development and automation testing guarantees quality delivery every time.
• Collaboration and Transparency is result when clients are involved throughout the project - Prioritizing
features, Iteration planning ,Software review and more.
• Cross Functional teams break silos, coalesce around delivering committed, high quality product as part of one
team spirit.
• Predictable Delivery - The cadence provides predictable time and features of software iterations that can be
delivered.
• Predictable Schedule and Costs – The teams once established provide a predictable cadence and velocity
which in turn can be used to clearly plan delivery dates and costs depending on the work being committed.
• Reprioritizing and Pivoting is easier and help keep up with changes that are inevitable or imperative.
• Value Delivery is consistent when the customer is in control of prioritizing the features/stories/defects that
get delivered
• Continuous Improvement allows teams to use retrospective and innovation sprints to continuously mature
and create a culture of trust, collaboration and innovation.
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
11. Agile Framework
Proprietary Information of Nanda Consulting. Do not distribute
or reproduce without express permission of Nanda Consulting.
PLAN Launch
Agile Manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more
14. Scrum Lifecycle
Scrum provides a framework to implement Agile in software development project
Proprietary Information of Nanda Consulting. Do not distribute
or reproduce without express permission of Nanda Consulting.
Day 1 - 9
Features High Priority MVP
Review +
Retrospective
[ Release ]
[ Day 10 ]
[ Continuous Improvement] [ Continuous Integration] [ Continuous Innovation]
Spike
Improve
[ Agile Maturity Checks ]
[ Metrics]
15. Agile Lifecycle
using Scrum
Agile enables the delivery of
business value driven slices of a
product on a regular cadence.
• PM provides the Product Owner (PO) the epics and the
features.
• PO slices the product, creates userstories and constructs the
userstory backlog.
• PO grooms the stories with the team.
• The Agile team plans the iteration and commits to build a
Minimal Viable Product
• The Agile team then creates the architecture and
infrastructure needed to build and run software.
• The Test engineers will write the test cases to test the user
stories
• The Developers will develop the UI and the services needed to
build the user story
• The developers and testers will test, integrate and verify the
userstories
• The Agile Team will demo the MVP based on the userstories.
• The Scrum master throughout will conduct the ceremonies,
track the burndown, remove impediments and coach the
team.
• The Agile Team will do retrospective and celebrate the end of
the sprint and commitment kept.
Proprietary Information of Nanda Consulting. Do not distribute or reproduce without express
permission of Nanda Consulting.
16. Agile Scrum Team
Proprietary Information of Nanda Consulting. Do not distribute
or reproduce without express permission of Nanda Consulting.
• Scrum teams are cross-functional groups of 5-11 individuals who define, build, test, and deliver an increment of value in
a short time box.
• Teams are self-organizing and self-managing.
• The two specialty roles within the Scrum team are The Scrum Master and The Product Owner (PO)
• The Product Owner defines Stories with team, prioritizes the team backlog. He also maintain the conceptual and
technical integrity of the Features or components.
• The Scrum Master is a servant leader and coach for the team. He instills the Agile process, removes impediments,
fosters an environment for high performance, continuous flow, and relentless improvement.
17. Proprietary Information of Nanda Consulting. Do not distribute
or reproduce without express permission of Nanda Consulting.
ScrumDeconstructed
https://www.quickscrum.com/Article/ArticleDetails/2031/3/What-Is-Agile-Software-Development-Life-Cycle
18. |Kanban|
• Rooted in the Just in time (JIT) concept
implemented by Toyota to optimize
process and create efficiency in flow to
maximize value
• Work in Progress (WIP) leverages this
JIT and matches to team capacity.
• The process moves tasks through
different states based on WIP resulting
in efficient planning and throughput,
clear focus, speedy output and
transparency.
• Better suited for continuous process
type work - Prod defects, IT Ops, etc.
• Can also be used with Scrum called
ScrumBan (daily tasks tracked through
Kanban in Scrum)
• Implements Lean and Agile principles
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
https://hygger.io/blog/8-kanban-boards-examples/
19. |Lean|
Lean principles
•Value
•Value stream
•Flow
•Pull
•Perfection
Proprietary Information of Nanda Consulting. Do not distribute
or reproduce without express permission of Nanda Consulting.
Lean Thinking
• Optimize the whole
• Eliminate waste
• Create knowledge
• Build quality in
• Deliver fast by managing flow
• Defer commitment
• Respect people
20. |Extreme Programming [XP]|
is an agile software development methodology which is intended to improve software quality and
responsiveness to changing customer requirements.
XP takes its name from the idea that the beneficial elements of traditional software engineering practices are
taken to "extreme" levels.
Example: Code Reviews, Cont. Integration, etc.
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
21. |Scaled Agile Framework [SAFE]|
In the Age of Software, every business is a software business. Agility isn’t an option, or a thing just for
teams, it is a business imperative. —Dean Leffingwell, Creator of SAFe.
• SAFe® for Lean Enterprises is a
knowledge base of proven, integrated
principles, practices, and competencies
for achieving business agility using
Lean, Agile, and DevOps.
• SAFe describes the roles,
responsibilities, artifacts, and activities
necessary to implement enterprise-
scale Lean-Agile development.
• Implementing the Seven Core
Competencies ,a suitable Configuration
and following the Foundation provides
a proven plan to deliver value
successfully at scale.
• SAFe implements Agile at a enterprise
scale level and aligns strategy and
execution through value delivery on
time and lean flow.
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
22. Certifications & Credibility
Why a SAFe® Certification?
• Scaled Agile, Inc. is the certifying body of the Scaled Agile Framework® (SAFe®).
The Professional Certification Program provides a valid, reliable, and consistent
method of assessing SAFe skills, knowledge, and mindset. Certified SAFe
professionals are globally recognized for their ability to support the successful
transformation of organizations into Lean-Agile enterprise.
The Scaled Agile Professional Certification Program supports this vision by:
• Providing reliable certifications based on sound exam development best practices
and data-driven methods
• Offering a world-class certification program promoting the ubiquity of SAFe that
is sought after by individuals, partners, and companies
• Supporting the SAFe learning journey through globally consistent role-based
training, ongoing support, and Communities of Practice
Take a step towards becoming a Certified SAFe professional today!
Proprietary Information of Nanda Consulting. Do not distribute
or reproduce without express permission of Nanda Consulting.
23. Agile Tools
- Simplicity--the art of maximizing the amount of work not done--is essential.
• Rally, Jira, Trello etc for managing and tracking the workflow.
• Visio,Lucidchart for designing,
• Git, Subversion, CVS, Mercurial, etc for source code repository and version control
• Jenkins, Hudson, Travis CI, Strider, etc for Continuous Integration
• Cucumber for Test Automation
• Swagger and other mock tools
• Confluence, Sharepoint, Slacker, Flowdock, Hipchat for documentation &
collaboration
• Dynatrace, Appdynamics, Splunk, Grafana, Kibana for monitoring and reporting
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
24. Agile Techniques
- Continuous attention to technical excellence and good design enhances agility.
• Prototyping | Empathy Maps |Personas |Double
Diamond
• Test Automation | ATDD | BDD |Code Coverage
• Continuous Integration + Continuous Deployment
(CI/CD)
• DevOps --> DevSecOps [Static Code Analysis, Security
Vulnerability Scans, App Perf Monitoring, Logging Alerts]
• Blue Green Deployment| Toggled Deployments
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
25. Agile Metrics
- Working software is the only true measure of progress
To measure Agile workflow
•Burndown/Burnup Chart
•Velocity
•Cumulative Chart
•Lead and Cycle Time
•Code Coverage/Security Vulnerabilities/Automation %
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
26. Agile Maturity
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts
its behavior accordingly.
To measure the team's agile growth
• Agile Maturity Assessments
• Self Reliant Teams/Cross functional Team
• Working Agreement/Acceptance Criteria/Retrospective
• DevSecOps adoption,CI/CD practices
• Lean Branching, Toggled Releases, Blue Green
Deployment
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
27. Prioritization, Incremental Dev, Continuous Integ,
Testing, MVP and Working Software = Success
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
28. Cons of Agile
• Along with implementing the process and tools, people forget its also the behavior and the right
trait is needed to be successful. Agile is a framework, practice and also a mindset.
• Time commitment, specialized knowledge and support needed to sustain and improve.
• Agile should not be about simply following the rituals but also being creative and focusing more
about customer and working software.
• Agile does not provide specific focus on related areas like budgeting, resource management,
operating model
• Lack of focus on documentation and design makes difficult to onboard, knowledge transfer,
reference and compliance activities.
• Agile implantation should be a consistent in methodology used and should span a bigger part of the
organization if not all parts of the enterprise.
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
29. Not in Software Development?
• Agile concepts have been embraced enthusiastically in non software
related operations and pursuing a training and exposure to Agile concepts
is highly encouraged and recognized.
• Digital Transformation of all sectors are now connecting different parts of
the enterprise operations or value streams to an information technology
component.
• Let it be Marketing, Sales, Logistics, Analytics or Human Resource,
everybody is now part of delivering some solution that involves working
with a software solutions or development team.
• Agile is the solution - Whether it’s about getting Business to IT interface
knowledge in terms of providing requirements or being an extended team
of a large business solution so you can follow a similar cadence or simply
introduce agile concepts to your teams to embrace change and innovation.
Proprietary Information of Nanda Consulting. Do not distribute
or reproduce without express permission of Nanda Consulting.
30. Important Links ☞
• https://agilemanifesto.org
• https://www.scrumalliance.org
• https://www.scaledagileframework.com
• http://www.extremeprogramming.org
• https://www.lean.org
• https://www.pmi.org
• https://www.planview.com/resources/articles/lean-management-principles/
Images credit:
www.dilbert.com
https://www.quickscrum.com/Article/ArticleDetails/2031/3/What-Is-Agile-Software-Development-Life-Cycle
https://hygger.io/blog/8-kanban-boards-examples
https://www.modernanalyst.com
www.scaledagileframework.com
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.
31. About
Nanda Consulting: www.nandaconsulting.com
• Girish Nandagopal has been part of the software development industry for the past
15+ years as a developer, technical lead, engineering manager and an agile coach. He
holds a graduate degree in Computer Science and is a certified Scrum Master and a
certified SAFe® Program Consultant.
• Currently he oversees a multiple scrum team, legacy to cutting edge transformation
project as a Sr.Engineering Manager @ United HealthCare Insurance Solutions.
• Coaching and Consulting on Agile certification courses, Digital Transformation, SDLC
and DevSecOps Concepts.
• Dabbling in AI/ML models, creating epics and wireframes for Apps.
Proprietary Information of Nanda Consulting. Do not distribute or reproduce
without express permission of Nanda Consulting.