A general description of Agile Development, and why it is an excellent choice for an organization looking to increase speed to market, and decrease unnecessary documentation and meetings.
2.
By standardizing a methodology, processes, and
documentation, the development process can be
streamlined; thus creating a more efficient, transparent
and traceable development process that creates self-
organized teams and promotes innovation.
Approach
3. Manifesto for Agile Software
Development
We are uncovering better ways of
developing software by doing it and
helping others do it. Through this work
we have come to value:
• 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.
Agile Manifesto
4.
What is Agile Methodology?
A software development process based on iterative and
incremental development called sprints, where
requirements and solutions evolve through collaboration
between self-organizing, cross-functional teams.
Greater emphasis on Test Automation
Agile promotes automated testing, such as Unit Tests,
which create a leaner development process.
Testing/Development are accomplished in Parallel, saving
time and effort
Provides safety net so to speak
Stable Test Scripts- even if the GUI changes, scripts
remain the same
Agile
6.
What is a Scrum?
Scrum is an iterative, incremental approach to managing
software projects and development. It focuses on project
management where it is difficult to plan ahead, in the
case of Rho, Inc.
What is Lean Production?
Simply, “Preserving value with less work”. A practice
that considers expenditure of resources for any goal other
than the creation of value for the end user to be wasteful,
and thus a target for elimination from the development
process.
Agile
7.
Putting Scrum into practice:
Implementing Scrum would focus on each project having
a lead, or “Scrum Master”.
Scrum meetings would occur as decided upon by the
development team (the standard is typically daily)
Short, 15-20 minute status update and goal meeting
Putting Lean into practice:
Decisions are made as late as possible (allows for
adaptation to changing user requirements)
Offers Developers direct link to end users
Test Driven Development oriented
Agile
8.
What is Kanban?
In our case at Rho, Kanban is a visual process
management system that tells what to produce, when,
and the life cycle of that development.
Characterized by a Kanban Board, or visual
representation of “swim lanes”, wherein each object of a
project moves independently through the development
process until completed.
Kanban Board in practice:
The Kanban Board can be implemented in any
Methodology to great success, by breaking each
component out, creating transparency, and identifying
bottlenecks
Kanban
9.
Adopting a validated software tool provides:
Easy project management
Requirements and functional testing documentation
Manage risk based on functional specification
Trace Requirements to Testing
Change control including bug tracking
Easy project reporting
Transparency
Standard documentation templates
Validation/Project Plans
Validation Reports
Process documentation to use across agile software
development projects
Agile Tool Set
10.
Confirmation by examination and provision of
objective evidence that software specifications
conform to user needs and intended uses, and that the
particular requirements implemented through
software can be consistently fulfilled.
Highly dependent upon comprehensive software
testing, inspections, analyses, and other verification
tasks performed at EACH stage of the software
development life cycle.
Includes evidence that all software requirements have
been implemented correctly and completely and are
traceable to system requirements.
Validation
11.
Agile development has been slowly adopted in a
regulated environment because of a fear that
documented evidence will not be easy to produce
Our research shows the following:
Evidence of validation is easy with agile tools
Recording functional testing results in the agile software
tool allows for fewer and less intensive user acceptance
testing
Maintaining development documentation during the
project creates more comprehensive documentation
Change control and issue tracking is easier
Agile & Validation
12.
Agile tools allow for easy documentation of functional
testing.
Functional testing is the most comprehensive testing.
It includes range checks and negative testing.
The test cases are smaller in length than UAT.
The software engineer testers are faster at testing
specifications than actual users.
When comprehensive functional testing is
documented, the UAT are shorter.
Document Functional Testing
13.
Requirement: EDC text fields allow numbers, letters, and special
characters. The field may be configured for up to 1024 characters.
Documented Functional Testing vs
UAT
Traditional UAT Agile UAT
1. Enter less than 1024 characters of numeric text into
the Text field and select submit.
2. Enter 1024 characters of numeric text into the field
and select submit.
3. Enter 1025 characters of numeric text into the field
and select submit
4. Enter less than 1024 alpha characters of text into
the Text Field and select submit.
5. Enter 1024 characters of alpha text into the text
field and select submit.
6. Enter 1025 characters of alpha text into the text
field and select submit.
7. Enter less than 1024 characters of alphanumeric
text including special characters and select submit.
8. Enter 1024 characters of alphanumeric text
including special characters and select submit.
9. Enter 1025 alphanumeric characters including
special characters into the text field.
1. Enter 1024 alphanumeric
characters including special
characters into the text field and
select submit.
2. Enter 1025 alphanumeric
characters including special
characters into the text field and
select submit.
14.
Controlled software development process
Agile software tool produces validation evidence and
reporting data
Validating the agile software tool reduces need for
review and approval cycles
Save time and money by reducing the amount of user
acceptance testing
User acceptance testing not as taxing on users and
does not eat up operational time
Benefits
15. Key points of Agile Methodology:
constant communication with our customers, users,
and stakeholders
code quality, unit tests, and disciplined development
constant improvement and working to get better
delivering value for our customers and business
delivering working software that meets our
customer's needs and not just their wants
Agile Recap