Agile Application Lifecycle Management For IBM i Environments Speaker Bio • • • • Christoph Heinrich, Founder and CEO CM First Group Swiss, moved to SLC in 1998

Download Report

Transcript Agile Application Lifecycle Management For IBM i Environments Speaker Bio • • • • Christoph Heinrich, Founder and CEO CM First Group Swiss, moved to SLC in 1998

Agile Application
Lifecycle Management
For IBM i Environments
Speaker Bio
•
•
•
•
Christoph Heinrich, Founder and CEO CM First Group
Swiss, moved to SLC in 1998 and again in 2011
Developer on IBM i since 1991
• CA 2E (Synon) and CA Plex (Obsydian)
Software Change Management and Application Lifecycle
Management
• CM MatchPoint ALM
Hot Topics
Agenda
•
•
•
•
•
•
•
•
CM First Company Overview
What is agile ALM
Agile vs. Waterfall
Agile vs. Architected
Scrum Overview
Difficulties and Benefits of adopting Agile
Further Information
Q&A
CM First Group
CM First Group
•
Headquarter in Switzerland
•
•
•
•
Offices in USA, Italy, France
35 Employees
> 400 Customers
Products
•
•
•
•
•
•
•
•
•
CM WebClient – Web and Mobile Applications with CA Plex
CM MatchPoint - Application Lifecycle Manager
CM Meta Analytics – Source Code Comprehension
CM Power – PHP Framework for IBM i
CA 2E – Application Development Platform for IBM i
CA Plex – Modelbased Multiplatform Development Platform
Worksoft Certify – Automated Testing
Databorough X-Analysis – Source Code Analysis and Documentation
Sencha / Sencha Touch
What is agile ALM?
What is ALM
•
Application Lifecycle Management (ALM) is a
continuous process of managing the life of an
application through governance, development and
maintenance.
•
ALM is the marriage of business management to
software engineering made possible by tools that
facilitate and integrate requirements
management, architecture, coding, testing,
tracking, and release management
WIKIPEDIA
ALM Disciplines
9
Discipline
Tool
Modeling
CA Plex / 2E
Design
CA Plex / 2E
Issue and defect tracking
CM MatchPoint ALM
Change and Configuration Mgmt.
CM MatchPoint ALM / CA Plex / CA 2E
Release Management
CM MatchPoint ALM
Production Monitoring
CA Wily
Tests and Verification
CM MatchPoint ALM / Worksoft Certify
Reporting
CM MatchPoint ALM
Tracability
CM MatchPoint ALM
Policies
CM MatchPoint ALM / CA Plex / 2E
Automation
CM MatchPoint ALM / CA Plex / 2E
Collaboration
CM MatchPoint ALM / CA Plex / 2E
What is agile ALM
What is Agile? - History
History of Agile
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.
http://agilemanifesto.org/
Definition of Agile
•
•
•
A definition of Agile: “You accept input from
reality and you respond to it” (Kent Beck)
Twelve Principles of Agile Software
Scrum
• Agile ALM
•
•
•
Transparency
Inspection
Adaption
•
•
•
•
Collaboration
Integration
Automation
Continuous Improvement
Agile vs. Waterfall
Agile vs. Waterfall
•
Waterfall is…
•
•
•
•
Still No. 1 — The most-popular development
methodology
A logical approach that is partly responsible for the
greatest number of large, successful projects
Proven — "Tried and true“
Suitable for projects (e.g., fixed-bid contracts) in which
vast majority of requirements must be defined early —
if add/change is clear
Agile vs. Waterfall
•
But Waterfall is also….
•
•
•
•
Frustrating management overhead — Value is indirect
and not often apparent to team members
Risky — Prone to dead on arrival and long tail projects
Slow — Not suitable for short duration projects
Difficult to track — Metrics are subjective and
reluctance to reveal problems create a tendency to fail
late in the cycle
Agile vs. Waterfall
•
Agile is….
•
•
•
•
Quick — Can handle projects as short as a couple of weeks
Iterative — Agile is built around a constant feedback loop
Continuous — Agile focuses on continuous integration, test
and deployment
Verifiable — With a definition of done that is transparent and
verifiable, project progress is quickly apparent
Agile vs. Waterfall
•
But Agile is also…
•
•
•
•
Not a silver bullet — Agile exposes problems early, but does
not solve all of them
Disruptive — Agile requires significant changes to culture,
governance and IT's interactions with the rest of
organization
Less mature — Over a dozen years old, but new to many
organizations
Harder to outsource — Does not fit fixed bid contract model
Recommendations
•
Reduce Iteration Duration
•
Long iterations limit feed back, resulting in:
•
•
•
-Delivering the wrong functionality
-Delivering too much functionality
-Schedule risk
Recommendations
Agile vs. Architected
Agile vs. Architected
Locking in Ignorance
The beginning of a project is the moment when a
team has the least knowledge of the domain they
will ever have. This is the moment when they
invent the most naive models they will ever invent.
Upfront modeling locks in the team's initial
ignorance." — Eric Evans, Domain Language
Agile vs. Architected
•
•
Most agile methodologies have no architect
role.
Overreaction to "big design upfront":
•
•
•
-Requirements change quickly
-The problem and solution are not well known upfront
"Ivory Tower" architects did not know how
code actually worked.
Agile vs. Architected
Agile vs. Architected
•
Agile Architecture
•
Meets the current need
•
•
•
•
•
Functional
Non-Functional
Simple
Expect your architecture to evolve
SOA
•
•
•
Encapsulation
Loose Coupling
Separation of Concerns
Agile vs. Architected
•
Avoid Speculative Development
•
•
•
•
Just in time development
YAGNI and KISS
Plan for extensions
Doe not code extensions until needed
Agile vs. Architected
SCRUM
SCRUM
SCRUM
•
Scrum is..
•
•
•
•
Lightweight
Simple to understand
Extremely difficult to master
3 Pillars of Scrum
•
•
•
Transparency
Inspection
Adaption
SCRUM Overview
SCRUM Artifacts
•
Product Backlog
•
•
•
•
Sprint Backlog
•
•
•
Ordered
Items at the top are more granular than items at the bottom
Maintained/re-ordered during the Backlog Grooming effort by Product Owner
Committed items negotiated between team and Product Owner in Sprint
Planning Meeting
Scope commitment is fixed during Sprint execution
Increment
•
•
Sum of all Product Backlog items completed during a Sprint and all previous
Sprints which produce a new increment that must be ‘Done’
Usable condition regardless of Product Owner readiness to release it
SCRUM Roles
•
Product Owner
•
•
•
Scrum Master
•
•
•
Responsible for maximizing the value of the Product and the work
of the Dev team.
Responsible for managing the Product Backlog
Responsible for ensuring Scrum is understood and enacted
Servant-leader for Scrum team
Development Team
•
•
Cross-functional team who produce a potentially releasable
increment of ‘Done’ at the end of each sprint
Only members of this team create the increment
SCRUM Rules
•
Definition of ‘Done’
•
•
•
When a Product Backlog Item or Increment is
described as ‘Done’, everyone needs a common
understanding
Shared understanding is the key as this definition
drives the amount of Product Backlog Items the team
can select during a Sprint
Increments are usable; Product Owner may choose to
immediately release it
SCRUM Events / 1
•
Sprint
•
•
•
Sprint Planning Meeting
•
•
•
•
Time boxed at 4 weeks or less in which a ‘Done’, usable, and
potentially releasable increment is created
Consistent duration and are continuous
Time boxed at 8 hours for a 4 week Sprint
Plans the work to be performed in the Sprint
Two parts: 1) What will be delivered, 2) How will it be delivered
Daily Scrum
•
•
Time boxed at 15 minutes/day
Finished, going to finish, obstacles/impediments today
SCRUM Events / 2
•
Sprint Review
•
•
•
•
Time boxed at 4 hours for a 4 week Sprint
Inspect the increment/Adapt the backlog
Elicit feedback and foster collaboration
Sprint Retrospective
•
•
Time boxed at 3 hours for a 4 week Sprint
Team self-inspection and creation of a plan for
improving execution
SCRUM – Summarization
•
Scrum uses time boxed techniques built upon an empirical
approach (transparency, inspection, adaption) to cycle through
•
•
•
•
•
•
Loading/Prioritizing
Planning
Execution
Review
Retrospection
Time Boxed mini life cycles
•
•
•
•
Huge risk mitigation
Great opportunity for efficiency realization
Enables a sustainable ecosystem
Emphasis on communication, collaboration, functioning software and flexibility
to adapt = more competitive!
Difficulties adopting Agile
•
•
•
•
Organizational Structure / disruptive
Management Support
New to most team members
Scrum but
Benefits of agile ALM
•
•
Higher Productivity
Higher Quality
ALM Tooling for IBM i
Architected RAD with CA Plex
INFORMATION
ENGINEERING
> Data Modeling
> Model-Based
Development
> Code Generation
Architected
Rapid Application
Development
(ARAD)
OBJECT
ORIENTATION
> Patterns
> Reuse
> Inheritance
CA Plex - Single Model/Code
Base
CA Plex - Multi-Platform Code
Generation
Plex RPG IV
or any
i5/OS
programs
Java
MFC
C++
Plex C#
WPF (7.0)
WCF
Multi-Tier
Servers
Plex Java
CM MatchPoint ALM
CM MatchPoint Deployment
Manage complex multiplatform deployments
DEV
•
•
•
•
•
•
Detect changes/conflicts
Check for conflicts
Create releases/builds
Manage source code
Scheduled deployments
….
INTEG
PROD
CM MatchPoint Agile
•
CM MatchPoint Agile supports agile ALM
• Collaboration between team
• Central documentation and information
• Seamless handover
• Automated deployment
•
Further reading
•
•
•
•
www.scrum.org
http://agilemanifesto.org/
http://www.manning.com/huettermann/
www.cmfirstgroup.com
Questions
[email protected]