Fed ex days agile development_updated

25
Chris Scofield And Kevyn Matijevich Agile Development

description

 

Transcript of Fed ex days agile development_updated

Page 1: Fed ex days agile development_updated

Chris Scofield

And Kevyn Matijevich

Agile Development

Page 2: Fed ex days agile development_updated

The clunky, inefficient and opaque systems we have in place for software development are antiquated and slow the process down. With no standardization of processes, there is a general inconsistency between each application developed.

Problem

Page 3: Fed ex days agile development_updated

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

Page 4: Fed ex days agile development_updated

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 AutomationAgile 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 speakStable Test Scripts- even if the GUI changes,

scripts remain the same

Agile

Page 5: Fed ex days agile development_updated

Agile

Page 6: Fed ex days agile development_updated

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

Page 7: Fed ex days agile development_updated

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 usersTest Driven Development oriented

Agile

Page 8: Fed ex days agile development_updated

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

Page 9: Fed ex days agile development_updated

Adopting a validated software tool provides:Easy project managementRequirements and functional testing documentationManage risk based on functional specificationTrace Requirements to TestingChange control including bug trackingEasy project reportingTransparency

Standard documentation templatesValidation/Project PlansValidation Reports

Process documentation to use across agile software development projectsMaster Agile Validation Plan (I:\SHARE\USERS\

kmatijev\FedEx Days\Validation Documentation)

Agile Tool Set

Page 10: Fed ex days agile development_updated

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

Page 11: Fed ex days agile development_updated

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 toolsRecording 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

Page 12: Fed ex days agile development_updated

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

Page 13: Fed ex days agile development_updated

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 UAT1. 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 submit4. 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.

Page 14: Fed ex days agile development_updated

Controlled software development processAgile software tool produces validation

evidence and reporting dataValidating the agile software tool reduces

need for review and approval cyclesSave time and money by reducing the amount

of user acceptance testingUser acceptance testing not as taxing on

users and does not eat up operational time

Benefits

Page 15: Fed ex days agile development_updated

Defect Tracking/Project Management Tool:We specifically looked at Jira for this study.Below are screenshots of various aspects

within Jira, such as the Dashboard, reports, and the stock Kanban Board.

Specific Tools

Page 16: Fed ex days agile development_updated
Page 17: Fed ex days agile development_updated
Page 18: Fed ex days agile development_updated
Page 19: Fed ex days agile development_updated
Page 20: Fed ex days agile development_updated

Would Agile Development benefit Rho, Inc.? Yes, this project was successful in determining that agile development

will streamline our development process greatly. What did you learn during this process?

The benefits of moving to an agile development process outweigh the regulated environment fears.

Agile adoption saves time and money. How can you apply the work done during the FedEx day to future

projects? Documentation templates can be used for any validation project.

How can you or others build off your FedEx Day experience? • Each Developer/Project Lead can implement this, total buy in is necessary

for success. It must be an entire software team effort. If other people want to find out more about your project, how can

they contact you? [email protected] [email protected]

Conclusion

Page 21: Fed ex days agile development_updated

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

Page 22: Fed ex days agile development_updated

Key points of Agile Methodology (i.e. what it can provide Rho): constant communication with our customers,

users, and stakeholders code quality, unit tests, and disciplined

developmentconstant 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

How Does Agile Relate to Rho?

Page 23: Fed ex days agile development_updated

We operate in teams as small as 3 per project. These team members operate on 3+ projects

most often times simultaneouslyAttention to any one specific project is limited

at bestNobody likes needless meetings

But we have a less than Optimal Environment here at Rho…

Page 24: Fed ex days agile development_updated

For starters, we are currently implementing Agile on the WebApp Project (RhoPortal)

By implementing principles, not necessarily existing methods

CustomizationThe minimum member participation as set by

Agile leaders is 2, so we have met that requirement

Our best example of Agile development is RhoRandRhoRand is a highly adaptable and well made

AppWas developed using XP (Extreme Programing)

methods

So how can Agile work here?

Page 25: Fed ex days agile development_updated

http://www.zdnet.com/10-rules-for-keeping-agile-development-well-agile-7000004076/

LinkedIn has several extremely beneficial groups, that even helped me answer these questions, including:AgileAgile and Lean Software Development

Additional Reading