Jan Marek Jan.Marek@ca. com CA Technologies Session S601 Introducing Agile development methodologies to mainframe development teams
Agenda Introduce Agile software development methodologies Scrum overview Our first Agile implementation attempt Agile restart Summary Questions & Answers
Agile history Early software development No robust project management Small IT cost and departments Customer and vendor IT teams communicate directly
Agile history Software development came through a big evolution Big to huge IT costs and development teams Complex software projects managed by various people/roles Controlled by very detailed planning, charts, work schedules and so A lot of bureaucracy So you need two years sometimes to deliver a simple functionality to your end users
Joke or reality?
Agile manifesto This is simply unacceptable Principles behind Agile manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Misunderstandings Some people think Agile certification proves experience Many people think it s a software development process just for their IT department which you can buy Many people think it s only for startups Many foiled Agile implementations made a lot of people think it s another command and control management technique
But... Shareholders and company owners like Agile because Agile allows companies respond to changing economy faster Agile promotes innovative environment So they could actually do more Agile also helps development teams Respond to changing requirements from end users and management more comfortably without any big effort To be more innovative So they could actually do more
Agile methods Extreme programming Test-driven development, pair programming, extensive code reviews Lean software development Adapted from Toyota production system, eliminate waste within the development process, popular with startups Kanban Inspired by lean manufacturing, just-in-time delivery Scrum Empirical project management approach for complex software projects, Scrum ban Scrum for highly unpredictable work environment
Scrum Empirical process control Based on three pillars: Visibility, inspection, adaptation The projects are so complex that we cannot use defined process control as it fails going out of the budget, schedule and so Iterative and incremental Simple practices and rules which address the complexity of software development projects by implementing inspection, adaptation and visibility
Project management Empirical does not mean without any control Scrum metrics provides a good understanding of the project status Sometimes even more truthful
Scrum overview - structure
Scrum overview - process Scrum Master Product Owner Team
First attempt Agile applied only in R&D department Scrum Master is one of the team members Additional responsibility to do necessary Scrum administrative only Managers still manage everything No Product Owner role Product management not directly involved in the development process No change to customers
Agile restart Agile adoption across whole company Changes in each department Organizational changes, new roles All to get customers involved in the development process
Scrum Master New role in development department Fully dedicated to Scrum Master duties Facilitating meetings, project administration, planning poker, retrospectives and so Usually serves more than one team Servant leadership Help teams to remove obstacles
Development team Small and collocated team Cross functional and self-managed in most cases Ongoing process Disbanding robust and cumbersome project management tools to do their job More natural tools and common sense Gets the customer voice again which drives Motivation More intuitive solutions Better quality
Why storybords with papers and stickers? Human beings use all senses to absorb and work with the information If you can touch it, even it s quite abstract it makes huge difference to your brain So the teams are leaving fancy and robust web based tools and using just papers, pencils etc.
Product Owner New role in Product Management organization Usually strong technical background Define product vision, strategy and product backlog Works directly with the development team on new features implementation Communicates with customers to get feedback, define the right vision and strategy and prioritize product backlog
Product Owner
Managers No longer in a role of command and control of who works on what This requires a huge shift in management style and behaviours More focus on immeasurable and abstract people management Coaching Administrative office issues, removing barriers, connecting teams with other departments
Internal outcome Teams feel more valuable More influence on tools, technologies, processes work environment and so Less control, but higher accountability Other departments benefits from better visibility and communication flow
End users Companies do listen to end users again End users get the desired functionality faster More visibility across all available solutions Increased competitive environment with easier possibility for choice End users may directly affect development of products they use
Visibility Sprint reviews Public documentation Wiki Add comments and suggest changes directly to the team Public communities Add comments and suggest changes directly to product development Promote new enhancements and share experience with other users YouTube how-to etc
Continuous delivery Incremental release Make our development release general available Better quality More testing as every increment is available to download anytime Agile customer Gets the features asap Conservative customer Mature release is in better shape as it was already GA couple of months
Incremental release
Summary Mainframe is exceptional in many ways but a perfect fit for Agile software development Agile requires a huge culture change The most important is to get your end users involved in the development process It s a win-win if implemented well Common sense over ingrained process
Questions & Answers