delivering continuous value with visual studio application ... · define an effective end-to-end...

7
www.cognixia.com Delivering Continuous Value with Visual Studio Application Lifecycle Management (498) www.cognixia.com www.cognixia.com

Upload: others

Post on 22-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Delivering Continuous Value with Visual Studio Application ... · Define an effective end-to-end Software Development Lifecycle (SDLC) Understand the value of an end-to-end view of

www.cognixia.com

Delivering Continuous Value

with Visual Studio Application

Lifecycle Management (498)

www.cognixia.com

www.cognixia.com

Page 2: Delivering Continuous Value with Visual Studio Application ... · Define an effective end-to-end Software Development Lifecycle (SDLC) Understand the value of an end-to-end view of

www.cognixia.com

Define an effective end-to-end Software Development Lifecycle (SDLC)

Understand the value of an end-to-end view of Application Lifecycle Management (ALM) tools and practices

Understand that an observable problem may be indicative of a more general

process issue; explain the difference between optimising a piece of the ALM

process, such as manual testing and optimising the entire ALM process

Explain the benefits of fast feedback

Explain the importance of fast feedback related to communicating

requirements, explain the benefits of end customer feedback to early software

iterations

Implement strategies to reduce end-to-end cycle time

Identify bottlenecks in the delivery process, identify metrics that highlight

bottlenecks, create potential solutions whose effectiveness can be validated,

understand the relationship between work in process (WIP) and cycle time

Implement strategies to improve software quality

Identify process steps that introduce defects, understand the end-to-end quality process, bring quality efforts early in the development cycle

Implement strategies to reduce waste

Identify wasteful activities, create strategies to eliminate waste, measure the effectiveness of waste removal activities

Create a process improvement plan

Create strategies for implementing organisational change, identify key metrics to be tracked during the improvement effort, create consensus for the change

Page 3: Delivering Continuous Value with Visual Studio Application ... · Define an effective end-to-end Software Development Lifecycle (SDLC) Understand the value of an end-to-end view of

www.cognixia.com

Define the ALM process

Role of different ALM processes

Understand the cost and benefits of the key ALM processes, including agile, scrum, waterfall and Capability Maturity Model Integration (CMMI)

Implement a scrum/agile process

Establish self-organising teams; holding a scrum/agile planning meeting, hold

daily scrums/stand-up meetings, hold retrospective meetings, hold scrum

review meetings Define a scrum/agile process for a team

Establish criteria on when to cancel a sprint/iteration, establish tooling and

process for scrum/agile artefacts, establish the scrum definition of "done",

determine sprint/iteration length, determine how to handle backlog items/user

stories not completed in a sprint/iteration, determine how to monitor

sprint/iteration progress, use collaborative tools Implement Microsoft Solution Framework (MSF) for CMMI process improvement

Establish project drivers (scope-driven, date-driven), assign product requirements to iterations, manage changes, manage issues

Define a software iteration

Plan a release

Identify a flexibility matrix, identify releases based on priority items in flexibility

matrix and release criteria, resource planning (scrum team is responsible for

allocating team members), identify techniques to optimise a team that is

geographically distributed, select a project methodology, risk management Define a project-tracking process

Plan and manage a portfolio of multiple projects, identify a project-tracking tool

and an associated process (triage process, bug management), define how to

manage effort, determine team forecast management, define a prioritisation

scheme, determine how to validate project health Scope a project

Page 4: Delivering Continuous Value with Visual Studio Application ... · Define an effective end-to-end Software Development Lifecycle (SDLC) Understand the value of an end-to-end view of

www.cognixia.com

Scope the effort for a release, define an architecture design process, define

scope boundaries (is/is not list), determine the definition of "done", define a

process when effort estimates are significantly inaccurate

Define end value for the software iteration

Elicit requirements

Define project requirements, review and clarify requirements, define

acceptance criteria, define UI platform requirements (web, mobile), assign a

business value

Estimate requirements

Manage and assign effort estimates (assign story points); resize user

requirements into smaller, manageable pieces; execute task breakdown;

estimate the requirements baseline Document requirements

Define acceptance criteria, list requirements, add requirement details, design UI storyboards

Prioritise requirements

Identify requirements that are critical path, identify must-have requirements,

enable the entire team (including customers) to participate in requirements

prioritisation, identify dependencies

Develop customer value with high quality

Define code quality indicators

Perform code review, including security and performance analysis; analyse code for common defects; calculate code coverage; perform architecture validation

Incorporate unit testing

Establish unit test standards, develop a strategy for adding unit tests to existing

applications, select the unit test type, establish the code coverage target, use

shims and stubs to isolate your application

Develop code

Page 5: Delivering Continuous Value with Visual Studio Application ... · Define an effective end-to-end Software Development Lifecycle (SDLC) Understand the value of an end-to-end view of

www.cognixia.com

Develop maintainable code; define coding standards; define application

architecture; define configuration management process and tooling, including

source control tree, branching strategy, solution structure, source

control/check-in policy; manage multiple repositories using Git; use

architecture, model and design tools; use quality and diagnostic tools Validate quality

Organise test artefacts, such as test cases, suites, plans and requirements;

define test strategy; manage test execution; perform cloud-based load testing;

identify test types and associated tools; identify and configure environments;

analyse test runs Customise a team project

Customise a work item, customise work item queries, customise Team Portal, identify areas and iterations, manage roles and associated permissions

Integrate development and operations

Implement an automated deployment process

Architect an automated build and deploy workflow, integrate automated tests,

automate deployment into both test and production environments, review

diagnostic logs for builds, manage releases including Release Management

Implement pre-production environments

Automate the creation of virtual test lab environments, automate deployment into virtual test environments

Manage feedback between development and operations

Implement tools to simplify communication; identify, measure and report key

analytics and performance indicators, such as cycle time and mean time to

repair (MTTR); create appropriate shared artefacts and process to facilitate

communication; standardise required artefacts for defect reports; create

strategies for test case reuse (both automated and manual) in production;

monitor an application in production to optimise usage and performance

Troubleshoot production issues

Gather defect data from bugs in a production setting, provide actionable data to

the development team, monitor applications running in production for potential

Page 6: Delivering Continuous Value with Visual Studio Application ... · Define an effective end-to-end Software Development Lifecycle (SDLC) Understand the value of an end-to-end view of

www.cognixia.com

issues, manage incident response times collaboratively between development and

operations, use Application Insights appropriately

Page 7: Delivering Continuous Value with Visual Studio Application ... · Define an effective end-to-end Software Development Lifecycle (SDLC) Understand the value of an end-to-end view of

www.cognixia.com