Chapter 1 Introducing Application Lifecycle Management Methodology
1.1 Goals of Application Lifecycle Management
1.4 What Is Application Lifecycle Management?
1.4.4 Mature Process or Fluid?
1.4.5 Rapid Iterative Development
1.4.6 Core Configuration Management Best Practices
1.4.15 Audit and Regulatory Compliance
1.4.18 Integration across the Enterprise
1.4.19 Quality Assurance and Testing
Chapter 2 Defining the Software Development Process
2.1 Goals of Defining the Software Development Process
2.2 Why Is Defining the Software Development Process Important?
2.4 Explaining the Software Development Lifecycle
2.5 Systems versus Software Development Lifecycle
2.6.1 Managing Complexity and Change
2.6.2 Validity of Requirements
2.6.5 Nonfunctional Requirements
2.6.7 Planning for Changing Requirements
2.6.8 Workflow for Defining Requirements
2.10.1 Testing the Application
2.10.2 Testing the Process Itself
2.12 Continuous Delivery and Deployment
2.13 Defining Phases of the Lifecycle
2.16 Communicating with All Stakeholders
2.19 Lifecycle in the Beginning
2.20 Maintenance of the Lifecycle
2.21 Creating the Knowledge Base
Chapter 3 Agile Application Lifecycle Management
3.1 Goals of Agile Application Lifecycle Management
3.2 Why Is Agile ALM Important?
3.4 Understanding the Paradigm Shift
3.5 Rapid Iterative Development
3.7 Focus on 12 Agile Principles
Chapter 4 Agile Process Maturity
4.1 Goals of Agile Process Maturity
4.2 Why Is Agile Process Improvement Important?
4.4 Understanding Agile Process Maturity
4.4.1 Adherence to the Principles
4.4.3 Scalability (Scrum of Scrums)
4.4.4 Comprehensive (Items on the Right)
4.4.5 Transparency and Traceability
4.4.7 Coexistence with Non-agile Projects
4.4.8 Harmonization with Standards and Frameworks
4.4.10 Continuous Process Improvement
4.6 Recognition by the Agile Community
4.7 Consensus within the Agile Community
4.8 What Agile Process Maturity Is Not
4.9 What Does an Immature Agile Process Look Like?
4.11.2 Pretending to Follow the Process
4.13 Agile Coexisting with Non-Agile
4.15 ALM and the Agile Principles
4.16 Agile as a Repeatable Process
4.16.2 Delivering on Time and within Budget
4.17 Deming and Quality Management
4.17.1 Testing versus Building Quality In
4.18 Agile Maturity in the Enterprise
4.18.1 Consistency across the Enterprise
4.18.2 Marketing the New Approach
4.19 Continuous Process Improvement
4.20.1 Project Management Office (PMO) Metrics
Chapter 5 Rapid Iterative Development
5.1 Goals of Rapid Iterative Development
5.2 Why Is Rapid Iterative Development Important?
5.8 It’s All About (Technology) Risk
PART II AUTOMATING THE PROCESS
Chapter 6 Build Engineering in the ALM
6.1 Goals of Build Engineering
6.2 Why Is Build Engineering Important?
6.5 Automating the Application Build
6.6 Creating the Secure Trusted Base
Chapter 7 Automating the Agile ALM
7.1 Goals of Automating the Agile ALM
7.2 Why Automating the ALM Is Important
7.4.3 Understanding Tools in the Scope of ALM
7.4.5 Commercial versus Open Source
7.7 Process Modeling Automation
7.8 Managing the Lifecycle with ALM
7.10 Achieving Seamless Integration
7.11 Managing Requirements of the ALM
7.12 Creating Epics and Stories
7.13 Systems and Application Design
7.14 Code Quality Instrumentation
7.28 Planning for Implementation
7.29 Evaluating and Selecting the Right Tools
Chapter 8 Continuous Integration
8.1 Goals of Continuous Integration
8.2 Why Is Continuous Integration Important?
8.4 Principles in Continuous Integration
8.7 Rebase and Build Before Commit
8.9 Smaller Units of Integration
8.10 Frequent Integration Is Better
8.12 Establishing a Build Farm
8.12.1 Virtualization and Cloud Computing
8.14 Establishing the Build and Deploy Framework
8.15 Establishing Traceability
8.18 Is the Nightly Build Enough?
8.19 Selecting the Right Tools
8.19.1 Selecting the Right CI Server
8.19.2 Selecting the Shared Repository
8.20 Enterprise Continuous Integration
8.24 CI Leads to Continuous Deployment
Chapter 9 Continuous Delivery and Deployment
9.1 Goals of Continuous Deployment
9.2 Why Is Continuous Deployment Important?
9.4 Establishing the Deployment Pipeline
9.5 Rapid Incremental Deployment
9.7 Many Small Deployments Better than a Big Bang
9.10.1 Kanban—Push versus Pull
9.11 Ergonomics of Deployments
9.12 Verification and Validation of the Deployment
9.13 Deployment and the Trusted Base
9.14 Deploy to Environments that Mirror Production
9.16 Dress Rehearsal and Walkthroughs
PART III ESTABLISHING CONTROLS
10.1 Goals of Change Management
10.2 Why Is Change Management Important?
10.4 Traceability for Compliance
10.7 Change in Application Lifecycle Management
10.11 Establishing the Command Center
10.14 The Change Management Process
10.16 Establishing the Change Management Function
10.17.4 Emergency Change Control
10.17.5 Process Change Control
10.18 Coordinating across the Platform
10.19 Coordinating across the Enterprise
10.21 Specialized Change Control
10.24 Continuous Process Improvement
11.2 Why Is IT Operations Important?
11.4 Monitoring the Environment
11.6.3 Virtual World Help Desk
11.6.4 Developers on the Help Desk
11.9.1 Silos within the Organization
11.12 Continuous Process Improvement
11.13 Utilizing Standards and Frameworks
11.14 Business and Product Management
11.16 IT Operations Management
11.19.1 Center for Internet Security
11.20.1 Interfacing with Vendor Operations
11.22 Staffing the Service Desk
12.4 How Do I Implement DevOps?
12.5 Developers and Operations Conflict
12.6 Developers and Operations Collaboration
12.9 The Cross-Functional Team
12.12 Moving the Process Upstream
12.23 Disaster Recovery and Business Continuity
12.24 Continuous Process Improvement
Chapter 13 Retrospectives in the ALM
13.2 Why Are Retrospectives Important?
13.4 Retrospectives as Process Improvement
13.4.1 Start with Assessing Success
13.4.4 Personality and Disposition
13.4.5 Don’t Just Tell Me What I Want to Hear
13.5 Which Mode Should You Use?
13.5.2 Online and Video Conferencing
13.7 DevOps: The Cross-Functional View
13.8 Understanding the Use Case
13.9 Retrospectives as Leadership
13.10.1 Probing and Questioning
13.11 Retrospectives Supporting ITIL
13.12 Retrospectives and Defect Triage
13.13 Retrospectives as Crisis Management
13.14 Supporting IT Governance
13.15 Audit and Regulatory Compliance
13.16 Retrospectives as Risk Management
Chapter 14 Agile in a Non-Agile World
14.2 Why Is Hybrid Agile Important?
14.7 Establishing the Agile Pilot
14.10 The Elephant in the Room
14.14 No Information Radiators Allowed
14.15 Waterfall Is Iterative, Too
14.16 Document Requirements as Much as Possible
14.19 Understanding the Ecosystem
14.21 Meeting IT Governance Requirements
15.2 Why Is IT Governance Important?
15.4 Senior Management Makes Decisions
15.6 How Much Work Is Going On?
15.9 Scalability with More Resources
15.15 Continuous Process Improvement
15.16 Governance and Compliance
Chapter 16 Audit and Regulatory Compliance
16.1 Goals of Audit and Regulatory Compliance
16.2 Why Are Audit and Regulatory Compliance Important?
16.8 Federally Mandated Guidelines
16.8.1 Section 404 of the Sarbanes-Oxley Act of 2002
16.8.2 Financial Industry Regulatory Authority
16.8.3 Health Insurance Portability and Accountability Act of 1996
16.8.5 Government Accountability Office
16.8.6 Office of the Comptroller of the Currency (OCC)
16.9 Essential Compliance Requirements
16.10 Improving Quality and Productivity through Compliance
16.11 Conducting an Assessment
Chapter 17 Agile ALM in the Cloud
17.1 Goals of ALM in the Cloud
17.2 Why Is ALM in the Cloud Important?
17.5.1 Source Code Management in the Cloud
17.5.2 Build Automation in the Cloud
17.5.3 Release Engineering in the Cloud
17.5.4 Deployment in the Cloud
17.6 Change Management in the Cloud
17.6.1 Service Provider Notification
17.7 Managing the Lifecycle with ALM
17.9 Achieving Seamless Integrations
17.10 Iterative Development in the Cloud
17.10.1 Development Models in SaaS
17.11 Interfacing with Your Customers
17.11.1 Fronting Service Providers
17.12.1 Reliance upon Service Providers
17.14 Development and Test Environments for All
17.17 Controlling Costs and Planning
Chapter 18 Agile ALM on the Mainframe
18.1 Goals of Agile ALM on the Mainframe
18.2 Why Is Agile ALM on the Mainframe Important?
Chapter 19 Integration across the Enterprise
19.1 Goals of Integration across the Enterprise
19.2 Why Is Integration across the Enterprise Important?
19.5 Coordinating across Systems
19.6 Understanding the Interfaces
Chapter 20 QA and Testing in the ALM
20.2 Why Are QA and Testing Important?
20.4 Planning the Testing Process
20.7 Ensuring Quality from the Beginning
Chapter 21 Personality and Agile ALM
21.1 Goals of Personality and the Agile ALM
21.2 Why Are Personality and Agile ALM Important?
21.3.1 Understanding the Culture
21.3.2 Probing Deeper into the Organization’s Psyche
21.4.1 Using DevOps to Drive Out Silos
21.4.2 Managing Power and Influence in DevOps
21.5.1 Overly Agreeable People and Other Challenges
21.5.3 Introspection and the Postmortem
21.6 Managing Stress and Dysfunctional Behavior
21.6.1 The Danger of Learned Complacency
21.6.2 Dealing with Aggressive Team Members
21.6.3 Extremism in the Workplace
21.7 Taking a Positive Approach
21.7.1 How Positive Psychology Can Help Your Organization
21.7.2 Three Pillars of Positive Psychology
21.7.3 Using Positive Psychology to Motivate Your Team
18.191.237.79