for ibm i environments agile application lifecycle management
TRANSCRIPT
![Page 1: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/1.jpg)
For IBM i Environments
Agile Application Lifecycle Management
![Page 2: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/2.jpg)
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
![Page 3: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/3.jpg)
Hot Topics
![Page 4: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/4.jpg)
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
![Page 5: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/5.jpg)
CM First Group
![Page 6: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/6.jpg)
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
![Page 7: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/7.jpg)
What is agile ALM?
![Page 8: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/8.jpg)
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
![Page 9: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/9.jpg)
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
![Page 10: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/10.jpg)
What is agile ALM
![Page 11: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/11.jpg)
What is Agile? - History
![Page 12: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/12.jpg)
History of Agile
Manifesto for Agile Software Development
We are uncovering better ways of developingsoftware 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/
![Page 13: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/13.jpg)
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
• Transparency• Inspection• Adaption
• Agile ALM• Collaboration• Integration• Automation• Continuous Improvement
![Page 14: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/14.jpg)
Agile vs. Waterfall
![Page 15: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/15.jpg)
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
![Page 16: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/16.jpg)
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
![Page 17: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/17.jpg)
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
![Page 18: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/18.jpg)
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
![Page 19: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/19.jpg)
Recommendations
• Reduce Iteration Duration• Long iterations limit feed back, resulting in:
• -Delivering the wrong functionality• -Delivering too much functionality• -Schedule risk
![Page 20: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/20.jpg)
Recommendations
![Page 21: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/21.jpg)
Agile vs. Architected
![Page 22: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/22.jpg)
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
![Page 23: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/23.jpg)
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.
![Page 24: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/24.jpg)
Agile vs. Architected
![Page 25: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/25.jpg)
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
![Page 26: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/26.jpg)
Agile vs. Architected
• Avoid Speculative Development• Just in time development• YAGNI and KISS• Plan for extensions• Doe not code extensions until needed
![Page 27: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/27.jpg)
Agile vs. Architected
![Page 28: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/28.jpg)
SCRUM
![Page 29: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/29.jpg)
SCRUM
![Page 30: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/30.jpg)
SCRUM
• Scrum is..• Lightweight• Simple to understand• Extremely difficult to master
• 3 Pillars of Scrum• Transparency• Inspection• Adaption
![Page 31: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/31.jpg)
SCRUM Overview
![Page 32: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/32.jpg)
SCRUM Artifacts
• Product 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
• Sprint Backlog• 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
![Page 33: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/33.jpg)
SCRUM Roles
• Product Owner• Responsible for maximizing the value of the Product and the work of the
Dev team.• Responsible for managing the Product Backlog
• Scrum Master• 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
![Page 34: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/34.jpg)
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
![Page 35: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/35.jpg)
SCRUM Events / 1
• Sprint• Time boxed at 4 weeks or less in which a ‘Done’, usable, and potentially
releasable increment is created• Consistent duration and are continuous
• Sprint Planning Meeting• 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
![Page 36: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/36.jpg)
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
![Page 37: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/37.jpg)
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!
![Page 38: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/38.jpg)
Difficulties adopting Agile
• Organizational Structure / disruptive• Management Support• New to most team members• Scrum but
![Page 39: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/39.jpg)
Benefits of agile ALM
• Higher Productivity• Higher Quality
![Page 40: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/40.jpg)
ALM Tooling for IBM i
![Page 41: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/41.jpg)
INFORMATIONENGINEERING> Data Modeling
> Model-Based Development
> Code Generation
ArchitectedRapid Application
Development(ARAD)
OBJECTORIENTATION> Patterns
> Reuse
> Inheritance
Architected RAD with CA Plex
![Page 42: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/42.jpg)
CA Plex - Single Model/Code Base
![Page 43: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/43.jpg)
CA Plex - Multi-Platform Code Generation
WPF (7.0)WCF
Multi-Tier Servers
MFC C++
Java
Plex C#
Plex RPG IV or any i5/OS
programs
Plex Java
![Page 44: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/44.jpg)
CM MatchPoint ALM
![Page 45: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/45.jpg)
CM MatchPoint Deployment
Manage complex multiplatform deployments
DEV INTEG PROD
• Detect changes/conflicts• Check for conflicts• Create releases/builds• Manage source code• Scheduled deployments• ….
![Page 46: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/46.jpg)
CM MatchPoint Agile
• CM MatchPoint Agile supports agile ALM• Collaboration between team• Central documentation and information• Seamless handover• Automated deployment
![Page 47: For IBM i Environments Agile Application Lifecycle Management](https://reader037.vdocuments.net/reader037/viewer/2022102722/5517a1a055034645368b5b1d/html5/thumbnails/47.jpg)
• Further reading• www.scrum.org• http://agilemanifesto.org/• http://www.manning.com/huettermann/• www.cmfirstgroup.com