enterprise agile process

21
Business improvement by Enterprise Agile Process

Upload: ravindra-sharma

Post on 20-Jan-2015

672 views

Category:

Technology


3 download

DESCRIPTION

A "balancing act" to achieve Agile Reusability an standardize application development for the enterprise. A collection of agile practices that support the Agile Manifesto Manage several applications simultaneously Encourage the creation and use of reusable components at all levels of scale

TRANSCRIPT

Page 1: Enterprise agile Process

Business improvement by

Enterprise Agile Process

Page 2: Enterprise agile Process

(About Ravindra) Electronics and communication engineer from Rajasthan university

Pursuing MBA (IT) from symbiosis international university

Did project on SAP practice operations management from fujitsu consulting india private limited

•04/10/23•2 •Ravindra EAP

Page 3: Enterprise agile Process

EAP

•04/10/23•3•Ravindra EAP

Page 4: Enterprise agile Process

What is EAP?A "balancing act" to achieve Agile Reusability

an standardize application development for the enterprise.

A collection of agile practices that support the Agile Manifesto

Manage several applications simultaneouslyEncourage the creation and use of reusable

components at all levels of scale

•04/10/23•4•Ravindra EAP

Page 5: Enterprise agile Process

•04/10/23•5•Ravindra EAP

Page 6: Enterprise agile Process

Roles

Application DevelopersCoaches/Architects (only when technical

guidance and agile practice guidance is needed, otherwise NOT required)

Team leaders/Scrum mastersSupport: Systems, CM, testing, etc.Shared Resources teamShared Resources developers

•04/10/23•6 •Ravindra EAP

Page 7: Enterprise agile Process

(continued)Enterprise Architect (needed only if Shared

Resources team developers cannot articulate a vision)

Shared Resources team leaderProject/Application SponsorsClients: business process owners, external clients

•04/10/23•7•Ravindra EAP

Page 8: Enterprise agile Process

Project Management Break Multi-Application Project In Sprints == 1-3

month Iterations. Break the lifecycle of each individual project into 1

month Sprints (Iterations). Use the All-At-Once Model to develop software: Analysis, Design, Implementation, Testing and finish with an executable release

Master Product Backlog – Manage everything there is to do through a master prioritized list. This list includes: features, upgrades, release management, configuration management, adopting new tools, etc.

•04/10/23•8•Ravindra EAP

Page 9: Enterprise agile Process

(continued)Application Product Backlog - Each application

contributes to the overall Product BacklogShared Product Backlog - In addition shared

Product Backlog contributes to the overall product backlog

Do daily internal releases to integration boxesTest each System through banks of unit tests per

applicationRelease the product to external customers after a

few internal iterations

•04/10/23•9•Ravindra EAP

Page 10: Enterprise agile Process

(continued)Sprint Planning Meeting: At the beginning of an

iteration, get everyone together in one room, prioritize the features of the project and decide which features go into that Sprint == Iteration

System and Application Spring Planning MeetingSprint Backlog. Break Product Backlog chosen for

Sprint into 2-4 hr tasks. Evaluate timelines with these estimates. Recalculate timelines every day after getting the status of completion from the Daily Scrums.

•04/10/23•10•Ravindra EAP

Page 11: Enterprise agile Process

(continued)Sprint Review Meeting. Give a Demo to the

customer after each Sprint. Get customer feedback and reintroduce the feedback into the Product Backlog

Scrum of Scrums - frequent meetings, once or twice a week, at the same time and place, where team leaders share information about the status of their applications

Daily Scrums - Daily 15 min. meeting, at the same time and place, where resources report 3 things:1) what they worked on for the last 24 hrs.2) what issue they have3) what they will be working for the next 24 hrs.

•04/10/23•11•Ravindra EAP

Page 12: Enterprise agile Process

(continued)Visible Status - keep a visible chart with the stories

and their completion status. Hang it on the wall! (document)

Sustainable Pace - Practice long-term sustainable development. (In most cases this means don’t exceed 40 hr. of work in the US or 35 in Europe)

Pair Programming. Use pairs for mentoring, collaboration, and the creation of X-functional team

Collective Ownership - every developer is responsible for the deliverable and must be able to change, upon coordination, any component of the system

•04/10/23•12•Ravindra EAP

Page 13: Enterprise agile Process

AnalysisCRC Stories - short UCs on CRC (5’’ by 3’’)

cards for all Use Cases … then play cards with the customer to decide which features will be implemented! (document)

Use Case docs only for more complicated behavior (document)

On-Site Customer - Developers don’t know business rules and business needs…… An on-site customer, or at least an Available Customer is a key priority

•04/10/23•13•Ravindra EAP

Page 14: Enterprise agile Process

TestingTest first – Write the a unit test for the

functionality you are developing before you write the component and maintain the test while you do development.

Unit Test - Create and maintain a Unit Test for every major component of the system

Application Regression Testing - base Regression Testing on Unit Tests. Any other way to do it will duplicate resources and knowledge requirements.

Multi-application/system regression tests.•04/10/23•14

•Ravindra EAP

Page 15: Enterprise agile Process

ArchitectureMetaphor - Simple story of how the whole

system works (document)Simple Design - Don’t add features you are

not needing now (YAGNI)Layered Architecture through PatternsStrong architectural Style, preferably

enforced with/through FrameworksRefactoring - Redesign without changing

the behavior. Refactoring can provide great efficiency gains.

Coding Standards - all code must look as if it was developed by the same developer

•04/10/23•15•Ravindra EAP

Page 16: Enterprise agile Process

Layered ArchitectureEnterprise Agent Network (servlet-based

PAC/MVC framework)applications

workflows

visual components

services

transactions

business objects

architectural services

•04/10/23•16•Ravindra EAP

Page 17: Enterprise agile Process

Release ManagementContinuous Integration - Integrate and build

the system many times a day.Release architectural layers in inverted orderUse versions to use and simultaneous

develop multiple new code bases

•04/10/23•17•Ravindra EAP

Page 18: Enterprise agile Process

Values and BeliefsCommitment - Care for the projectFocus - Concentrate on the task at handOpenness - Problems, status and plansRespect - for other team members and

customersCourage - Admit faults, request necessary

things, talk about things as they areShare Knowledge - technical and non-

technical

•04/10/23•18•Ravindra EAP

Page 19: Enterprise agile Process

ExamplesWilliam Mercer, 3 applications in productionNike Securities, 5 application in productionCaremark, 15 applications in production

•04/10/23•19•Ravindra EAP

Page 20: Enterprise agile Process

Conclusions

Agile Development is a paradigm shift for software development

EAP is easy and cheap to implementEAP can save millions of dollars

through reusable components

•04/10/23•20•Ravindra EAP

Page 21: Enterprise agile Process

References – Agile Software

EAP: http://www.enterpriseagileprocess.comExtreme Programming Explained - Kent Beck,

Addison and Wesley

•04/10/23•21•Ravindra EAP