tomas butkus: agile practices in enterprise environment

16
Landscape image placement (this is a master element) Agile practices in Enterprise environment Agile Tour 2011, Vilnius

Upload: agile-lietuva

Post on 26-Dec-2014

578 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Tomas Butkus: Agile Practices in Enterprise Environment

Landscape image placement(this is a master element)

Agile practices in Enterprise

environment

Agile Tour 2011, Vilnius

Page 2: Tomas Butkus: Agile Practices in Enterprise Environment

Who we are?

Team of Agile enthusiasts working in a large-scale process-oriented organization. We do

1. Application management2. Quality assurance3. Software development

Our mission is to demonstrate that large scale projects can benefit from Agile ways to build software

1. Teams distributed across the globe2. Hundreds of professionals3. Long term projects

We are here to share our experiences on introducing and using Agile practices in everyday working activities

Page 3: Tomas Butkus: Agile Practices in Enterprise Environment

What this presentation is all about?

The intention of the presentation is to show how and when Agile ways and practices could and should be used in an enterprise environment

• Agile - what are we talking about?

• Where we are, what are our processes and areas of interests

• How Agile we could possibly be

• Identify areas and practices to apply

• What results we could expect

• Going through case study

• What’s next?

• Q & A

Page 4: Tomas Butkus: Agile Practices in Enterprise Environment

Initial touchdown

Traditional (Waterfall) Software Development Process

Model of a software development process in which progress flows downwards through phases of conception, initiation, analysis, design, construction, testing and maintenance.

Agile Glossary

Page 5: Tomas Butkus: Agile Practices in Enterprise Environment

Initial touchdown

Agility

The ability of an organization to adapt proficiently (thrive) in a continuously changing, unpredictable business environment.

Change Proficiency

Competency at causing and dealing with change

Agile Enterprise

A broadly change-proficient enterprise; an enterprise that exhibits competency at causing and dealing with change in the important competitive business practices of its business sector.

Ref: Rick Dove, Sue Hartman, Steve Benson

Page 6: Tomas Butkus: Agile Practices in Enterprise Environment

Current situation

•Approximately 145K employees worldwide

•Barclays Technology Centre Lithuania established in 2009; growth of Application Management and Application Development teams from 0 to ~60 in less than 1.5 year

•Distributed project teams in various locations: India, UK, Lithuania

•Varieties of projects in terms of scope and length

•High conformance requirements to quality assurance and legal procedures

•Data protection and data quality constraints; how it affects infrastructure and testing environments

•Constrained by Need To Know principles

•Strict documentation and process definitions

Page 7: Tomas Butkus: Agile Practices in Enterprise Environment

Traditional process, any advantages?

Traditional (waterfall) process and its promised advantages

• enforces discipline

• there is no waste of time or efforts

• system does not slip on the schedule

• ensures that the customer expectations are met

• details about the system are well mentioned in the document

• the quality of the system is better

• knowledge transfer between the different teams is efficient

• all the tasks are well defined in advance.

• quality assurance activities carried out at the end of each phase

Page 8: Tomas Butkus: Agile Practices in Enterprise Environment

What’s wrong?

… in reality

•requirements still change, face it!

•people do requirements gathering and then leave the project

•huge trade-offs because of mistakes in design phase

•complicated integration phase

•business changes over time

•… more to mention?

Page 9: Tomas Butkus: Agile Practices in Enterprise Environment

How Agile we could possibly be?

Which process quality attributes are most essential for high criticality system development

• scheduling and time planning. Many parties are involved therefore target dates must be defined and met

• planning and up-front design of essential system parts (interfaces, integration points)

• formalities and legal procedures should be followed (documentation, audit trails, sign-offs)

Page 10: Tomas Butkus: Agile Practices in Enterprise Environment

How we could benefit from Agile

• Iterative deliveries

• Business involvement (rapid feedback, change handling)

• Continuous integration

• Flexibility and process improvements

• Improved working environment and team communication

Page 11: Tomas Butkus: Agile Practices in Enterprise Environment

Agile practices to be used

Factors influence applicability of the Agile practices

1. Scope of the project (large, extra large, small)

2. Project teams (size, experience level, distribution)

3. Requirements (known, stable?)

4. Criticality (failure not an option)

What Agile practices could be applied?

Page 12: Tomas Butkus: Agile Practices in Enterprise Environment

Case Study (Team)

• 3 distributed teams

• Average team size 9 engineers

• Rotating crews 2 developers + 1 tester

• No dedicated team leading roles

• Business representatives involved in team activities

Page 13: Tomas Butkus: Agile Practices in Enterprise Environment

Case Study (Practices)

•Limiting amount of work in progress (Single item flow)

•Using Kanban board for presentation and tracking

•Pulling requirements from business representatives

•Test Driven Development (TDD)

•Continuous Integration

•Pair programming

•Daily Stand-Ups (Scrums)

•Retrospectives

Page 14: Tomas Butkus: Agile Practices in Enterprise Environment

Case Study (Results)

• Accurate requirements determined through customer involvement

• Project delivered within schedule and budget

• Delivered 40% more functionality than initially planned

• High quality of delivered product

• Positive impact on working environment (team morale, discipline,

interaction)

• Preserved desired organization process quality attributes

Page 15: Tomas Butkus: Agile Practices in Enterprise Environment

Future challenges

• Tailoring Agile practices for offshore development

• Applying scaling strategies (teams > 20 members)

• Keep focus on customer feedback

• Aligning Agile practices with development constraints of mission

critical systems

Page 16: Tomas Butkus: Agile Practices in Enterprise Environment

Questions