0% encontró este documento útil (0 votos)
7 vistas13 páginas

Enfoques de Desarrollo de Software

El documento presenta diversos enfoques para el desarrollo de software, incluyendo Agile, Lean, Design Thinking y el método IBM Garage. Cada enfoque se centra en aspectos como la iteración, la maximización del valor y la experiencia del usuario. Se concluye que Agile permite adaptarse a cambios, Lean busca minimizar desperdicios y Design Thinking se enfoca en la resolución de problemas a través de la creatividad y la colaboración.

Cargado por

jromero0353
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas13 páginas

Enfoques de Desarrollo de Software

El documento presenta diversos enfoques para el desarrollo de software, incluyendo Agile, Lean, Design Thinking y el método IBM Garage. Cada enfoque se centra en aspectos como la iteración, la maximización del valor y la experiencia del usuario. Se concluye que Agile permite adaptarse a cambios, Lean busca minimizar desperdicios y Design Thinking se enfoca en la resolución de problemas a través de la creatividad y la colaboración.

Cargado por

jromero0353
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

aPPROACHES

Material producido por la Universidad Peruana de Ciencias Aplicadas


UPC, 2021.
aPPROACHES

CONTENIDO
Objetivo de aprendizaje 3

Introducción 3

Agile 5

Lean 8

Design Thinking 9

IBM Garage Method 10

Conclusiones 12

Referencias 12

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 2


aPPROACHES

1. Objetivo de aprendizaje

Al finalizar la unidad de aprendizaje, el


estudiante ejecuta el Lean UX Process,
identificando la problemática para
un dominio y contexto determinado,
estableciendo assumptions y los
hypotheses statements que definen la
solución.

2. IntroDUCCIÓN
2.1 Swebok

El Software Engineering Body of Knowledge (SWEBOK) nos presenta las áreas de conocimiento
asociadas a Software Requirements (Requisitos de Software). Sin embargo, estas áreas no están
circunscritas a un approach o enfoque en particular. En las siguientes secciones revisaremos
diversos approaches que influyen en la manera como se lleva a cabo el ciclo de vida de software.

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 3


aPPROACHES

Software
requirements

Software
requirements requirements requirements requirements requirements requirements Practical
fundamentals Process elicitation Analysis Specification Validation considerationS

Definition Iterative
System
of a Software Process Requirements Requirements Requirements Nature of
Definition
Requirement Models Sources Classification Reviews Requirements
Document
Process

Product Elicitation Conceptual System


Process Change
and Process Techniques Modeling Requirements Prototyping
Actors Management
Requirements Specification

Architectural
Functional and Software
Process Design and Model Requirements
Non-functional Requirements
Support and Requirements Validation Attributes
Requirements Specification
Management Allocation

Process Requirements
Emergent Acceptance Requirements
Quality and Negotiation
Properties Tests Tracing
Improvement

Quantifiable Measuring
Requirements Requirements

System
Requirements
And Software
Requirements

101110001010100010101010101010101000000011111100101111010
1011100010101000101010101010101010000000111111001011110101 110 1

0101010001010101000000011111100101111010
1 0101010001010101000000011111100101111010
1
01010100010101010101010101000000011111100101111010
1 01010100010101010101010101000000011111100101111010
1

0101010001010101000000
0
0101010001010101000000
0

101110001010100010101010100011111010101000011101010000
1110 0
0101010001010101000000
0
0101010001010101000000011111100101111010
1

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 4


aPPROACHES

3. AGILE
En marzo de 2001, Kent Beck junto con un grupo de críticos de sistemas de producción se reunieron
en Salt Lake City para discutir sobre el desarrollo de software. En dicha reunión se acuñó el término
Métodos ágiles, como alternativa para los métodos y metodologías formales de la época. El Manifiesto
ágil es producto de ese grupo. En base a una serie de postulados en los que se fundamenta, el
manifiesto incluye además 12 principios, que presentamos a continuación.

3.1 12 agile principles

Highest priority is to satisfy

1 customer through early


delivery of value
Working software is the
measure of success 7

2 Welcome
requirements
changing Promote
development
sustainable
8
Continuous attention to

9
Deliver working software

3 frequently
timescales
in shorter technical excellence and
good design enhances agility

Business people and Practice the art of simplicity

4 developers must
together
work by maximizing the amount of
work not done 10
Build motivated team and

5 trust them to get the job


done
Best solutions emerge from
self-organizing teams 11
Face-to-face conversation Reflect on how to become

6 is the most efficient and


effective
a more effective team at
regular intervals 12

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 5


aPPROACHES

El proceso agile sigue un enfoque iterativo e


incremental; es decir, que las actividades del ciclo de
vida de software se repiten en cada ciclo o iteración.
Esto incluye la definición de requisitos, la cual se va
refinando y expandiendo si es necesario.

Sign off
Client Acceptance

Yes System Testing Release


Client Testing
No

Development&
Implementation

Incorporate
Changes
Initial
Agile
Testing Methodology
Next
Iteration

Development &
Implementation Start
Initial Planning
Define Start
Requirements Initial Planning

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 6


aPPROACHES

Aquí apreciamos claramente la diferencia entre el proceso ágil y el proceso Waterfall (en cascada).
Observamos que el primero está más orientado a abrazar el cambio como un hecho durante el proceso,
dentro del alcance del proyecto; mientras que, la escencia del proceso Waterfall parte de la premisa
que un entorno donde, luego del contrato inicial, los cambios se tratan de controlar o postergar.

Agile

& 1)
ck r Re
Tra quir
6) onito em
M en
ts • Continuous cycles
• Small, high-functioning, collaborative
teams
5) Release

Agile
• Multiple methodologies
Development 2) Plan • Flexible/continuous evolution
• Customer involvement

4) Develop
3) Design

waterfall

Requirements

Design • Sequential/linear stages


• Contract negotiation
• Best for simple, unchanging projects
Implementation
• Close project manager involvement
• Upfront planning and in-depth
Verification documentation

Maintenance

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 7


aPPROACHES

Este gráfico resume bastante bien las características del ciclo de vida ágil para el desarrollo de software.
Luego del establecimiento de requisitos iniciales, cada iteración brinda la posibilidad de refinarlos,
incorporar nuevos requisitos o modificar la prioridad de requisitos.

Agile system development lifecycle

Daily
Work Daily Stand-Up Meeting:
Share status and identify
potential issues

Iteration
Initial
Architectural
Vision

Iteration review
& retrospective:
Initial Demo system
Highest-Priority to stakeholders Release Working Operate and Remove
Funding Working system
and gain system into System support system
Work Items System funding for next in production from
production
Iteration Tasks iteration, and production
Work learn from your
Items experiences

Initiate the
Project Initial
Requirements Planning session
to select work Funding
items for & Feedback
current iteration
and to identify
work tasks
Works Enhancement Requests and
Potential Items Defect Reports
Projects

Iteration -1 Iteration 0 Construction Iterations Transition/Release Production Retirement

Copyright 2005 - 2014


Scott Ambler + Associates

4. Lean
El approach de Lean se basa en una idea central: maximizar el valor de cara al cliente y minimizar el
desperdicio. Dicho de otra manera, hablamos de crear más valor con menos recursos.

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 8


aPPROACHES

4.1 Lean Principles

Specify Value Map the Value Stream

Define value from the


01 02 Map all of the steps… value
customers prespective and added and non-value added…
express value in terms of a that bring a product or service
specifc product or service 7 wastes to the customer
Transport
Inventory
Motion
Waiting
Over processing
05 Over production 03
Defects

Establish Flow

The continuous flow of products,


Work to Perfection services and information from end

The complete elimination of waste


04 to end through the process

so all activities create value for the


customer by breakthrough and
continuous improvement projects

Implement Pull

Nothing is done by the upstream process until the


downstream customer signals the need, actual demand pulls
product/service through the value stream

Ver más en [Link]

5. Design Thinking

Esta filosofía considera tan importante el análisis y el raciocinio


como la intuición para resolución de problemas. Ésta gira en
torno a la experiencia de usuario. Para este análisis se integran
equipos multidisciplinarios, que generen tantas ideas como sea
posible.

Finalmente, el objetivo del proceso es aprender a partir de las reacciones del usuario al interactuar con el
producto.

Ver más en [Link]

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 9


aPPROACHES

Design a prototype (or


Clearly articulate the
series of prototypes) to
problem you want to
test all or part of your
solve
solution

Engage in a continuous
short-cycle innovation
Empathize Ideate process to continually
improve your design

Define Prototype

Develop a deep Brainstorm potential


understanding of
the challenge
solution; select and Test
develop your solutions

5.1 Design thinking & Lean Startup & Agile

Muchos entornos buscan establecer un approach personalizado, resultado de la combinación


de Design Thinking, Lean y Agile.

• Design Thinking tiene que ver con cómo exploramos y resolvemos problemas.
• Lean es el framework para poner a prueba nuestras creencias y aprender el camino hacia
los logros que requerimos.
• Agile se enfoca en cómo nos adaptamos a las condiciones cambiantes del software.

Integrate
Develop
and test Demo
Functionality n
Release

Integrate Client’s
and test Feedback
ideas
Develop
Functionality 2 Make
Changes

learn Build
Empathize Ideate
Integrate
and test Agile Development System
Testing

Define Prototype Develop All


Functionality 1 functionalities
complete?
Test YES
Data Product
NO

Measure
Next iteration

6. IBM Garage Method


Es un modelo end-to-end para la transformación digital. Busca ayudar a generar ideas innovadoras y
proporciona prácticas, tecnologías y experiencia que haga falta para convertirlas en valor empresarial.
Ver más en [Link]

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 10


aPPROACHES

Co-cre
ate

Discover

Learn Envision
Co-oporate

Culture

operate Develop

Reason
te
x e cu
- e
Co

6.1 Enterprise Design Thinking

Es el pensamiento de diseño reinventano para la empresa moderna,


constituyéndose en un marco para resolver problemas de los usuarios. El
marco se basa en tres grandes ejes: los principios, the loop y las llaves. En
lugar de definir un proyecto por sus componentes estructurales o requisitos
técnicos, Design Thinking se centra en averiguar cómo una idea puede ayudar
a un usuario final a lograr objetivos específicos.
Ver más en [Link]

Principles
People A focus on Diverse empowered
user outcomes teams
Restless
Reinvention

Practices The Loop


Observe Reflect MAke

Places The keys


Hills Playbacks Sponsor users

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 11


APPROACHES

7. CONCLUSIONES

• El proceso Agile tiene un enfoque iterativo


e incremental que concibe el cambio como
un hecho durante cada ciclo, lo cual da la
posibilidad de modificar los requisitos.

• El approach Lean busca crear el mayor valor


posible con la menor cantidad de recursos,
minimizando el desperdicio.

• El Design Thinking se centra en la


elaboración de ideas y en la experiencia del
usuario para la resolución de problemas y
lograr los objetivos específicos.

Referencias
Para profundizar:

• [Link]

• [Link]

• [Link]

Material producido por la Universidad Peruana de Ciencias Aplicadas. UPC, 2021. 12


©️ UPC. Todos los derechos reservados

Autor: Ángel Augusto Vasquez Nuñez

También podría gustarte