software development trends - presentation from epam systems' software engineering conference...

28
SDLC – Future Trends in Tools and Processes Balazs Fejes (FB2) Director, Product Management

Upload: balazs-fejes

Post on 30-Oct-2014

486 views

Category:

Technology


1 download

DESCRIPTION

This material was presented on EPAM's 2014 Software Engineering Conference in Minsk. I talks about current trends in the software development lifecycle, and processes and tools EPAM employs to address the challenges of scaling Agile, managing a portfolio of projects, and enabling continuous delivery.

TRANSCRIPT

Page 1: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

SDLC – Future Trends in Tools and ProcessesSDLC – Future Trends in Tools and Processes

Balazs Fejes (FB2)

Director, Product Management

Page 2: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Topics

Interesting Trends

• Processes: Agility vs predictability: Enterprise Agile Portfolios• Tools: VCSes going upstream vs Lifecycle tools going downstream• Release Management: True continuous delivery• If time permits: some other cool stuff

What is doing about these areas?

Page 3: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Processes: Enterprise Agile Portfolio

Agile is king!

Page 4: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Processes: Enterprise Agile Portfolio

• 99% of our clients are sold on Agile• From small projects up to large 100+ developer programs

• We at EPAM know how to scale and do distributed Agile• Organization structures, Scrum of Scrums• Coaching, tracking team work is solved

• Problem: large Enterprises give up (the illusion of) predictable planning• Or even worse: maintain detailed MPP plans, the least agile thing• How to handle cross-team dependencies?• Marketing, business needs dependable release dates • Many client (example: banks) have regulatory constraints on level of

auditing, quality control, documentation

• Solution: Enable Project Portfolio level, cross-team planning, road mapping, monitoring

Page 5: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Processes: Enterprise Agile Portfolio

SAFe Process Framework (Scaling Agile)• Program level governance• Top-down work package assignment• Roll-up progress tracking• Illusion of control is back

Program Portfolio Management Team• PMO• BA pool• Federal, cross-work stream architects• Release Management

Is it still Agile?• Decentralized, Rolling Wave planning• Agile Estimation and Sprint Planning• Self-managing Agile teams• Objective, code and KPI based measures

PORTFO

LIO

PROG

RAMTEAM

InvestmentTheme

Business Need

Architectural Need

Epic

Epic

Epic

Epic

Is implemented by

Story

Story

Story

Story

Story

Is implemented by

Story

Story

Page 6: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Project Portfolio Management Tooling

Page 7: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

• In the “old days”: SDLC: single-purpose tools, used by different project roles (BA, PM, testers, technical writers, developers)• Requirements management tool, Project Planning tool,

documentation tool, testing tool, IDE, build management tool

• Modern, Agile SDLC• minimize non-code artifacts• Roles not separated: developer can test, estimate, plan. Tester can

document requirement, implement test code• Minimize duplication

• Solution: Single, end-to-end platform for whole Agile SDLC

Page 8: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Every tool vendor: Let’s build everything in!

Page 9: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 10: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 11: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Not so great in Project Portfolio – no sub-projects

Page 12: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 13: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 14: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Not focused on developers, super expensive

Page 15: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 16: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 17: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 18: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 19: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 20: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

Page 21: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Software Development Lifecycle Tooling

• EPAM’s strategic pick is Atlassian• Self-hosting• Extensibility• Configurability

• Not cheap but affordable• We’ll fill in the missing, weak spots• Keep an eye on trends…

Page 22: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

EPAM xPMC

Page 23: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Continuous Delivery

• How do you apply Agile to Release Management?• Traditionally the least agile aspect of development• Rigid quality gates• Multi-person approval cycles• Separate teams having access to Production environments

• Problem: On big projects, actual (Agile) development time shrinks by 3-4 months just to get into Waterfall Release Management cycle

• Solution:• Automation, automation, automation• Continuous integration, test automation, deployment automation,

data/schema migration• Fantastic quality to gain stakeholder confidence• Or at least rapid problem resolution

Page 24: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Continuous Delivery

Implications:• Preferably single

system for all aspects (requirements, tasks, workflows, bug reports)

• Smart branching strategies

• Ability to release single features

• Ability to roll back or switch to backup system

• Eventually cut out the middle men!

Page 25: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Continuous Delivery - xPMC

Page 26: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Other cool stuff on the horizon

PaaS – Web-based IDE - this is how we’ll work in a few years

Page 27: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Full-stack JavaScript

Page 28: Software Development Trends - Presentation from EPAM Systems' Software Engineering Conference 2014, Minsk

Thank YouThank YouBalazs Fejes (FB2)

Director, Product Management

[email protected]

hu.linkedin.com/in/fbalazs/

balazsfejes2

@fb2