SlideShare a Scribd company logo
1 of 7
Download to read offline
****** Teamwork [Mcconnell] ********************************************************************
Software uses of Teamwork
• Developing and reviewing the project's requirements
• Developing the project's architecture and the design
guidelines that will be used by the whole project
• Defining aspects of the technical environment that will be
used on the project (including the programming languages,
compilers, source-code libraries, code generators, editors,
and version-control tools)
• Developing coding standards that will be used by the
whole project
• Coordinating work on related pieces of a project (including
defining interfaces between subsystems, modules, and
classes)
• Designing difficult parts of the system
• Reviewing individual developers' designs and code
• Debugging difficult parts of the system
• Testing of requirements, design, and code
• Auditing a project's progress
• Maintaining software once it has been built (including
responding to maintenance requests and making
emergency fixes)
Importance to Rapid Development
Small projects can get away with not addressing teamwork issues, but they will benefit from addressing them. Large
projects are group efforts, and characteristics of the groups play an important role in those projects' success, Managers who are
concerned about rapid development would be better off to assign developers based on their abilities to contribute to a cohesive
team first and only then based on their individual capabilities.
Creating a high performance team
Teams need common, shared vision or goals to help them build trust and keep the team focused. Having agreement on
project vision also help to streamline decision making on smaller issues. To have a motivating effect, the vision also needs to be
elevating. The teams needs to be presented with challenging work. As team members work together toward their common vision,
they begin to feel a sense of team identity. For a team to have a results-driven structure, roles must be clear and everyone must
be accountable for their work at all times; team must have an effective communication system; should have means of monitoring
individual performance and providing feedback; and decisions must be based on facts rather than on subjective opinions. Team
members need to be chosen based on who has the competencies that are currently needed. On an effective team, members have
a mix of skills, play different roles and commit to the team. Team members rely on each other’s individual strengths, they look for
ways to become dependent on other team members. Cohesive teams need to stay in communication with each other constantly.
Effective teams have the sense that they are free to do whatever is necessary without interference, having sense of autonomy.
They also need to feel empowered to take whatever actions are needed to succeed. Regarding the team’s size, if the project requires
more than 10 members, if should be broken into multiple teams. For single-project teams, if it can stay together across several
projects, it can expand the size as long as the team shared a deep-rooted culture. Most productive teams are enjoyable, people like
to be productive, they naturally spend more time doing things that they enjoy and what makes a team jell is adopting a group sense
of humor. A cohesive team creates an “us” and the manager is in the sticky position of being not completely “us” and not completely
“them”.
Why teams fail
• Lack of common vision
• Lack of identity
• Lack of recognition
• Productivity roadblocks
• Ineffective communication
• Lack of trust
• Problem personnel
Long term teambuilding
Reasons to keep teams together permanently:
 Higher productivity
 Lower startup costs
 Lower risk of personnel problems
 Less turnover
 Idleness question
****** Team Structure [Mcconnell] *******************************************************************
Consideration in organizing a team is to determine the team’s broad objective. According to Larson & LaFasto: Problem
resolution, Creativity and Tactical execution. The structure that’s more appropriate depends on the team’s objective. The
characteristic that is most important for the kind of team should be emphasized: for problem resolution team, emphasize trust; for
creativity team, emphasize autonomy; and for tactical-execution team, emphasize clarity.
Additional Team-Design features are:
 Clear roles and accountabilities
 Monitoring individual performance and providing
feedback
 Effective communication
 Fact-based decision making
*There’s no such thing as a single best ‘rapid-development team structure’ because the most effective structure depends on the
context.
Team models
Business team: Composed of a tech lead and other equal developers.
Chief-programmer team: is organized around chief programmer who is an expert programmer. The other team members have
other, specialized roles, such as librarian, which support the chief programmer in his primary task of designing and coding the sw.
Skunkworks team: group of talented, creative product developers, working in a facility freed of organization’s normal bureaucratic
restrictions, turns them on the loose to develop and innovate.
Feature team: Small, dynamically formed team that develops a small activity. Multiple minds are always applied to each design
decision and also multiple design options are always evaluated before one is chosen
Search-and-Rescue team: focused on solving a specific problem.
Swat team: each member is highly skilled with a particular tool or practice, trains extensively to be prepared when crisis hits they
can work as a unit.
Professional athletic team: carefully selected people w/very specialized roles
Theater team: “director” assigns roles to others
*Large teams pose special problems of communication and coordination.
Managers and technical leads
Technical lead is responsible for the technical work and for a single team. The manager is responsible for the
nontechnical direction of the team and responsible for 2 or more projects.
******** Configuration Management Principles and Practices – [Kirk Kandt] **************************
A CMS includes a set of policies, practices, and tools that help and organization maintain software configurations. Its
primary purpose is to maintain the integrity of the sw artifacts of an organization. * is the discipline of controlling the
evolution of complex systems
Principles
• Protect critical data and other resources
• Monitor and control sw development procedures and
processes
• Automate processes and procedures when cost effective
• Provide value to customers
• Sw artifacts should have high quality
• Sw systems should be reliable
• Assure that products provide only necessary features, or
those having high value
• Sw systems should be maintainable
• Use critical resources efficiently
• Minimize development effort
Practices. They support the previous ten principles.
Management Practices
• Maintain a unique read-only copy of each release
• Control the creation, modification, and deletion of sw
artifacts following a defined procedure
• Create a formal approval process for requesting and
approving changes
• Use change packages
• Use shared build processes and tools
• A version manifest should describe each sw release
• Segregate derived artifacts from source artifacts
Quality Practices
• All artifacts should be under configuration control
• Use a change control board
• Build sw on a regular, preferably daily, basis, followed
by immediate invocations of regression test suites
• Document identified sw defects
• Sw artifacts that comprise a release should adhere to
defined acceptance criteria
• Each sw release should be regression tested before
the test organization receives it
• Apply defect repairs to every applicable release or
ongoing development effort
Protection Practices
• Use a software system to perform configuration
management functions
• Repositories should exist on reliable physical storage
elements
•Configuration management repositories should be
periodically backed-up to non-volatile storage and
purged of redundant or useless information
• Test and confirm the backup process
Tools Practices
• Check code in often
• Configuration management tools should provide
patch utilities
• Do not work outside of managed workspace
• Do not share workspaces
• When developing sw on a branch other than the
primary development branch, regularly synchronize
development with the development branch.
Capabilities. Used to analyze and compare various products
Version Control >> maintain a collection of versioned artifacts.
Configuration Control >> maintain collections of aggregated artifacts that form larger systems and subsystems.
Model Control >> Provide a domain model for sw artifacts.
Build Control >> construct derived artifacts from source artifacts
Change Control > handle all types of change requests and monitor them to closure.
Deployment Control >> automatically deploy sw to customers or notify them when appropriate releases are available
for deployment
Process Control >> automate the workflow of the sw development process and to ensure that practitioners of an
organization follow the desired software process
Security Control >> ensure that users of the configuration management tool perform the operations that they have
been granted and no more
User Interface Control >> provide a Graphical User Interface (GUI) to users that enhance their productivity and overall
experience
****** SW Configuration Management in Agile Methods – [Koskela 2003] *************************
Software configuration management (SCM) is a method of controlling the software development and modifications of
software systems and products during their entire life cycle.
Agile methods focus on generating early releases of
working products and on delivering business value
immediately from the beginning of a project.
SCM differs from general CM: First, software is easier
and faster to change than hardware, and second, SCM
can potentially be more automated.
Configuration identification is a process where a system is divided into uniquely identifiable components, called
configuration items, it consists of selecting the CI’s and recording their functional and physical characteristics and
technical documentation. Examples of CIs are project plan, specifications, design documents, source codes, test plans,
test data, executables, tools and SCM plan.
Per configuration phase, a project baseline is a
document that has been formally reviewed and serves
as basis for further development.
Configuration control > after the configuration items of
the system have been identified, the control of the
changes comes to place. Baseline have important role in
managing change. They can only be changed going
through formal change control procedures as the ones
in the following image. A change request can results
from new features or enhancements.
Configuration status accounting consists of recording and reporting the information needed to manage a configuration
effectively, including a listing of approved configuration identification, the status of proposed changes to the
configuration and implementation status of approved changes.
The purpose of Configuration audits is to ensure that the software product has been built according to specified
requirements, to determine whether all the items identified as a part of CI are present in the product baseline, and
whether defined SCM activities are being properly applied and controlled. A representative from management, the QA
department, or the customer usually performs such audits.
The main purpose of the SCM plan is to answer questions as:
who is going to do that, when, where, and how. It serves as a
guideline
Automating manual SCM tasks provides more time to do the
actual development work, leading to improved speed and
productivity.
SCM common tools: Version Control (manage different
versions of congifuration objects that are created during the
sw eng process); Workspace management (prevent users
from interfering with one another’s work); Concurrency
control (files are not locked when checking them out, and
there may be simultaneous modifications to the same files by
multiple users, a locking mechanism comes into use); System
building (combine needed file versions and compile them to
create the app); Press control and support (mechanism to help
reality conform to the model).
In agile methods, working software is delivered early
and often. It is valued more than comprehensive
documentation, and therefore documentation can be
added later when there is time.
1. Adaptive Software Development
Offers an agile and adaptive approach to high-speed and high-change software projects.
It encourages incremental, iterative development, with constant prototyping. Lifecycle used is a dynamic speculate-
collaborate-learn lifecycle. Disadvantage > ASDs practices are difficult to identify because of continuous adaptation.
2. Agile Modeling
Practice-based methodology for effective modeling and documentation of software-based systems. It is not a complete
software process, the focus is primarily on effective modeling and documentation.
3. Crystal Family Methodologies
Focuses on individuals’ talents and emphasizes that every team should utilize a process uniquely tailored to itself.
Process and tools are secondary. Based on 2 rules: incremental development and self-adaptation.
4. Dynamic Systems Development Method
It is a framework of controls supplemented by guidance on how to apply those controls. Provides a user-centred,
iterative and incremental way of developing applications systems that serves the needs of the business.
5. Extreme Programming
For teams developing software subject to rapidly changing requirements. It is characterized by short development
cycles, incremental planning, continuous feedback, reliance on communication, and evolutionary design.
6. Feature Driven Development
Focused on delivering frequent, tangible, and working results. Doesn’t cover the entire sw dev process, it rather focuses
on the design and building phases.
7. Internet-Speed Development
Focused on moving the product quickly to market. The quality depends on how important it is to customers and how
good the devs are.
8. Pragmatic Programming
Set of programming best practices. It does not include process, phases, distinct roles or work products, It contains tips
that cover most programming practicalities.
9. Scrum
Management and control process that focuses on building software that meets business needs. Teams are fully
autonomous and guided by their knowledge and experience, rather than formerly defined project plans. Leaves the
power of decision to the devs.

More Related Content

What's hot

Top success factors for successful agile delivery
Top success factors for successful agile deliveryTop success factors for successful agile delivery
Top success factors for successful agile deliveryWipro
 
Amy.stapleton
Amy.stapletonAmy.stapleton
Amy.stapletonNASAPMC
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spmPrakash Poudel
 
Scrum referencecard
Scrum referencecardScrum referencecard
Scrum referencecardSuresh Kumar
 
Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Artemisa Yescas Engler
 
Agile projects are for delivering packaged software too
Agile projects are for delivering packaged software tooAgile projects are for delivering packaged software too
Agile projects are for delivering packaged software tooDavid Harmer
 
Scrum an extension pattern language for hyperproductive software development
Scrum an extension pattern language  for hyperproductive software developmentScrum an extension pattern language  for hyperproductive software development
Scrum an extension pattern language for hyperproductive software developmentShiraz316
 
What is Scrum
What is Scrum What is Scrum
What is Scrum Ayo Apampa
 
[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Stu...
[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Stu...[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Stu...
[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Stu...Strongstep - Innovation in software quality
 
Scrum introduction
Scrum introductionScrum introduction
Scrum introductionSteve Zhang
 
System development life cycle (sdlc)
System development life cycle (sdlc)System development life cycle (sdlc)
System development life cycle (sdlc)Mukund Trivedi
 
Agile Processes - Scrum
Agile Processes - ScrumAgile Processes - Scrum
Agile Processes - ScrumSoumya De
 
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM frameworkLviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM frameworkLviv Startup Club
 

What's hot (20)

Top success factors for successful agile delivery
Top success factors for successful agile deliveryTop success factors for successful agile delivery
Top success factors for successful agile delivery
 
Amy.stapleton
Amy.stapletonAmy.stapleton
Amy.stapleton
 
Agile
AgileAgile
Agile
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spm
 
Scrum referencecard
Scrum referencecardScrum referencecard
Scrum referencecard
 
Systems overview sdlc
Systems overview sdlcSystems overview sdlc
Systems overview sdlc
 
Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum
 
Agile projects
Agile projectsAgile projects
Agile projects
 
Agile projects are for delivering packaged software too
Agile projects are for delivering packaged software tooAgile projects are for delivering packaged software too
Agile projects are for delivering packaged software too
 
Scrum an extension pattern language for hyperproductive software development
Scrum an extension pattern language  for hyperproductive software developmentScrum an extension pattern language  for hyperproductive software development
Scrum an extension pattern language for hyperproductive software development
 
System development methodologies
System development methodologiesSystem development methodologies
System development methodologies
 
What is Scrum
What is Scrum What is Scrum
What is Scrum
 
Cobol agile
Cobol agileCobol agile
Cobol agile
 
[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Stu...
[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Stu...[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Stu...
[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Stu...
 
Scrum introduction
Scrum introductionScrum introduction
Scrum introduction
 
System development life cycle (sdlc)
System development life cycle (sdlc)System development life cycle (sdlc)
System development life cycle (sdlc)
 
Testing & Scrum
Testing & ScrumTesting & Scrum
Testing & Scrum
 
Agile management.pptx
Agile management.pptxAgile management.pptx
Agile management.pptx
 
Agile Processes - Scrum
Agile Processes - ScrumAgile Processes - Scrum
Agile Processes - Scrum
 
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM frameworkLviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
 

Viewers also liked

Trunk and branches for database configuration management
Trunk and branches for database configuration managementTrunk and branches for database configuration management
Trunk and branches for database configuration managementscmsupport
 
Devops & Configuration management tools
Devops & Configuration management toolsDevops & Configuration management tools
Devops & Configuration management toolsSonu Meena
 
Change Management
Change ManagementChange Management
Change Managementramikanso
 
Adse configuration management in the supply chain v1 final
Adse configuration management in the supply chain v1 finalAdse configuration management in the supply chain v1 final
Adse configuration management in the supply chain v1 finalDick Terleth
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementguy_davis
 
PMP Prep 3 - Project Integration Management
PMP Prep 3 - Project Integration ManagementPMP Prep 3 - Project Integration Management
PMP Prep 3 - Project Integration ManagementAndrew Mikityuk
 
Alphabet
AlphabetAlphabet
Alphabetdikz86
 
Configuration Management
Configuration Management Configuration Management
Configuration Management hdicapitalarea
 

Viewers also liked (10)

Trunk and branches for database configuration management
Trunk and branches for database configuration managementTrunk and branches for database configuration management
Trunk and branches for database configuration management
 
Devops & Configuration management tools
Devops & Configuration management toolsDevops & Configuration management tools
Devops & Configuration management tools
 
Change Management
Change ManagementChange Management
Change Management
 
Adse configuration management in the supply chain v1 final
Adse configuration management in the supply chain v1 finalAdse configuration management in the supply chain v1 final
Adse configuration management in the supply chain v1 final
 
1 itil v3 overview ver1.8
1 itil v3 overview ver1.81 itil v3 overview ver1.8
1 itil v3 overview ver1.8
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
PMP Prep 3 - Project Integration Management
PMP Prep 3 - Project Integration ManagementPMP Prep 3 - Project Integration Management
PMP Prep 3 - Project Integration Management
 
Alphabet
AlphabetAlphabet
Alphabet
 
Configuration Management
Configuration Management Configuration Management
Configuration Management
 

Similar to Reading Summary - Teamwork + Team Structure + Configuration Management

Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxDevnath13
 
Scrum-Agile : An Introduction
Scrum-Agile : An IntroductionScrum-Agile : An Introduction
Scrum-Agile : An IntroductionGlobal SQA
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewBule Hora University
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Raj vardhan
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 
20220923 - Vaidas Adomauskas - LeSS conference 2022.pptx
20220923 - Vaidas Adomauskas - LeSS conference 2022.pptx20220923 - Vaidas Adomauskas - LeSS conference 2022.pptx
20220923 - Vaidas Adomauskas - LeSS conference 2022.pptxVaidas Adomauskas
 
Chapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptxChapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptxBule Hora University
 
Software Development The Agile Way
Software Development The Agile WaySoftware Development The Agile Way
Software Development The Agile WayShahzad
 
Agile Project Management – SCRUM Methodology
Agile Project Management – SCRUM MethodologyAgile Project Management – SCRUM Methodology
Agile Project Management – SCRUM MethodologyMarios Evripidou
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentAmr E. Mohamed
 
Seminar on Crystal Clear
Seminar on Crystal ClearSeminar on Crystal Clear
Seminar on Crystal ClearPaolo Farina
 
20221013 - Vaidas Adomauskas - Agile Tour Vilnius 2022.pptx
20221013 - Vaidas Adomauskas - Agile Tour Vilnius 2022.pptx20221013 - Vaidas Adomauskas - Agile Tour Vilnius 2022.pptx
20221013 - Vaidas Adomauskas - Agile Tour Vilnius 2022.pptxVaidas Adomauskas
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013Mahmoud Samara
 
Lean and Kanban-based Software Development
Lean and Kanban-based Software DevelopmentLean and Kanban-based Software Development
Lean and Kanban-based Software DevelopmentTathagat Varma
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashedlivgeni
 

Similar to Reading Summary - Teamwork + Team Structure + Configuration Management (20)

Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptx
 
Lecture 5
Lecture 5 Lecture 5
Lecture 5
 
Scrum-Agile : An Introduction
Scrum-Agile : An IntroductionScrum-Agile : An Introduction
Scrum-Agile : An Introduction
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overview
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 
20220923 - Vaidas Adomauskas - LeSS conference 2022.pptx
20220923 - Vaidas Adomauskas - LeSS conference 2022.pptx20220923 - Vaidas Adomauskas - LeSS conference 2022.pptx
20220923 - Vaidas Adomauskas - LeSS conference 2022.pptx
 
Chapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptxChapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptx
 
Software Development The Agile Way
Software Development The Agile WaySoftware Development The Agile Way
Software Development The Agile Way
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
3-SE Agility and Process-2.pptx
3-SE Agility and Process-2.pptx3-SE Agility and Process-2.pptx
3-SE Agility and Process-2.pptx
 
Agile Project Management – SCRUM Methodology
Agile Project Management – SCRUM MethodologyAgile Project Management – SCRUM Methodology
Agile Project Management – SCRUM Methodology
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software Development
 
Seminar on Crystal Clear
Seminar on Crystal ClearSeminar on Crystal Clear
Seminar on Crystal Clear
 
20221013 - Vaidas Adomauskas - Agile Tour Vilnius 2022.pptx
20221013 - Vaidas Adomauskas - Agile Tour Vilnius 2022.pptx20221013 - Vaidas Adomauskas - Agile Tour Vilnius 2022.pptx
20221013 - Vaidas Adomauskas - Agile Tour Vilnius 2022.pptx
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013
 
Lean and Kanban-based Software Development
Lean and Kanban-based Software DevelopmentLean and Kanban-based Software Development
Lean and Kanban-based Software Development
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 

More from Artemisa Yescas Engler

Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraMaestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraArtemisa Yescas Engler
 
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Artemisa Yescas Engler
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingArtemisa Yescas Engler
 
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsReading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsArtemisa Yescas Engler
 
Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...Artemisa Yescas Engler
 
Reading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationReading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationArtemisa Yescas Engler
 
Reading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsReading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsArtemisa Yescas Engler
 

More from Artemisa Yescas Engler (8)

Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraMaestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
 
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
 
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsReading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
 
Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...
 
Reading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationReading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous Integration
 
Reading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsReading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles Models
 
About Node.js
About Node.jsAbout Node.js
About Node.js
 

Recently uploaded

Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

Reading Summary - Teamwork + Team Structure + Configuration Management

  • 1. ****** Teamwork [Mcconnell] ******************************************************************** Software uses of Teamwork • Developing and reviewing the project's requirements • Developing the project's architecture and the design guidelines that will be used by the whole project • Defining aspects of the technical environment that will be used on the project (including the programming languages, compilers, source-code libraries, code generators, editors, and version-control tools) • Developing coding standards that will be used by the whole project • Coordinating work on related pieces of a project (including defining interfaces between subsystems, modules, and classes) • Designing difficult parts of the system • Reviewing individual developers' designs and code • Debugging difficult parts of the system • Testing of requirements, design, and code • Auditing a project's progress • Maintaining software once it has been built (including responding to maintenance requests and making emergency fixes) Importance to Rapid Development Small projects can get away with not addressing teamwork issues, but they will benefit from addressing them. Large projects are group efforts, and characteristics of the groups play an important role in those projects' success, Managers who are concerned about rapid development would be better off to assign developers based on their abilities to contribute to a cohesive team first and only then based on their individual capabilities. Creating a high performance team Teams need common, shared vision or goals to help them build trust and keep the team focused. Having agreement on project vision also help to streamline decision making on smaller issues. To have a motivating effect, the vision also needs to be elevating. The teams needs to be presented with challenging work. As team members work together toward their common vision, they begin to feel a sense of team identity. For a team to have a results-driven structure, roles must be clear and everyone must be accountable for their work at all times; team must have an effective communication system; should have means of monitoring individual performance and providing feedback; and decisions must be based on facts rather than on subjective opinions. Team members need to be chosen based on who has the competencies that are currently needed. On an effective team, members have a mix of skills, play different roles and commit to the team. Team members rely on each other’s individual strengths, they look for ways to become dependent on other team members. Cohesive teams need to stay in communication with each other constantly. Effective teams have the sense that they are free to do whatever is necessary without interference, having sense of autonomy. They also need to feel empowered to take whatever actions are needed to succeed. Regarding the team’s size, if the project requires more than 10 members, if should be broken into multiple teams. For single-project teams, if it can stay together across several projects, it can expand the size as long as the team shared a deep-rooted culture. Most productive teams are enjoyable, people like to be productive, they naturally spend more time doing things that they enjoy and what makes a team jell is adopting a group sense of humor. A cohesive team creates an “us” and the manager is in the sticky position of being not completely “us” and not completely “them”. Why teams fail • Lack of common vision • Lack of identity • Lack of recognition • Productivity roadblocks • Ineffective communication • Lack of trust • Problem personnel Long term teambuilding Reasons to keep teams together permanently:  Higher productivity  Lower startup costs  Lower risk of personnel problems  Less turnover  Idleness question
  • 2. ****** Team Structure [Mcconnell] ******************************************************************* Consideration in organizing a team is to determine the team’s broad objective. According to Larson & LaFasto: Problem resolution, Creativity and Tactical execution. The structure that’s more appropriate depends on the team’s objective. The characteristic that is most important for the kind of team should be emphasized: for problem resolution team, emphasize trust; for creativity team, emphasize autonomy; and for tactical-execution team, emphasize clarity. Additional Team-Design features are:  Clear roles and accountabilities  Monitoring individual performance and providing feedback  Effective communication  Fact-based decision making *There’s no such thing as a single best ‘rapid-development team structure’ because the most effective structure depends on the context. Team models Business team: Composed of a tech lead and other equal developers. Chief-programmer team: is organized around chief programmer who is an expert programmer. The other team members have other, specialized roles, such as librarian, which support the chief programmer in his primary task of designing and coding the sw. Skunkworks team: group of talented, creative product developers, working in a facility freed of organization’s normal bureaucratic restrictions, turns them on the loose to develop and innovate. Feature team: Small, dynamically formed team that develops a small activity. Multiple minds are always applied to each design decision and also multiple design options are always evaluated before one is chosen Search-and-Rescue team: focused on solving a specific problem. Swat team: each member is highly skilled with a particular tool or practice, trains extensively to be prepared when crisis hits they can work as a unit. Professional athletic team: carefully selected people w/very specialized roles Theater team: “director” assigns roles to others *Large teams pose special problems of communication and coordination. Managers and technical leads Technical lead is responsible for the technical work and for a single team. The manager is responsible for the nontechnical direction of the team and responsible for 2 or more projects. ******** Configuration Management Principles and Practices – [Kirk Kandt] ************************** A CMS includes a set of policies, practices, and tools that help and organization maintain software configurations. Its primary purpose is to maintain the integrity of the sw artifacts of an organization. * is the discipline of controlling the evolution of complex systems Principles • Protect critical data and other resources • Monitor and control sw development procedures and processes • Automate processes and procedures when cost effective • Provide value to customers • Sw artifacts should have high quality • Sw systems should be reliable • Assure that products provide only necessary features, or those having high value • Sw systems should be maintainable • Use critical resources efficiently • Minimize development effort
  • 3. Practices. They support the previous ten principles. Management Practices • Maintain a unique read-only copy of each release • Control the creation, modification, and deletion of sw artifacts following a defined procedure • Create a formal approval process for requesting and approving changes • Use change packages • Use shared build processes and tools • A version manifest should describe each sw release • Segregate derived artifacts from source artifacts Quality Practices • All artifacts should be under configuration control • Use a change control board • Build sw on a regular, preferably daily, basis, followed by immediate invocations of regression test suites • Document identified sw defects • Sw artifacts that comprise a release should adhere to defined acceptance criteria • Each sw release should be regression tested before the test organization receives it • Apply defect repairs to every applicable release or ongoing development effort Protection Practices • Use a software system to perform configuration management functions • Repositories should exist on reliable physical storage elements •Configuration management repositories should be periodically backed-up to non-volatile storage and purged of redundant or useless information • Test and confirm the backup process Tools Practices • Check code in often • Configuration management tools should provide patch utilities • Do not work outside of managed workspace • Do not share workspaces • When developing sw on a branch other than the primary development branch, regularly synchronize development with the development branch. Capabilities. Used to analyze and compare various products Version Control >> maintain a collection of versioned artifacts. Configuration Control >> maintain collections of aggregated artifacts that form larger systems and subsystems. Model Control >> Provide a domain model for sw artifacts. Build Control >> construct derived artifacts from source artifacts Change Control > handle all types of change requests and monitor them to closure. Deployment Control >> automatically deploy sw to customers or notify them when appropriate releases are available for deployment Process Control >> automate the workflow of the sw development process and to ensure that practitioners of an organization follow the desired software process Security Control >> ensure that users of the configuration management tool perform the operations that they have been granted and no more User Interface Control >> provide a Graphical User Interface (GUI) to users that enhance their productivity and overall experience
  • 4. ****** SW Configuration Management in Agile Methods – [Koskela 2003] ************************* Software configuration management (SCM) is a method of controlling the software development and modifications of software systems and products during their entire life cycle. Agile methods focus on generating early releases of working products and on delivering business value immediately from the beginning of a project. SCM differs from general CM: First, software is easier and faster to change than hardware, and second, SCM can potentially be more automated. Configuration identification is a process where a system is divided into uniquely identifiable components, called configuration items, it consists of selecting the CI’s and recording their functional and physical characteristics and technical documentation. Examples of CIs are project plan, specifications, design documents, source codes, test plans, test data, executables, tools and SCM plan. Per configuration phase, a project baseline is a document that has been formally reviewed and serves as basis for further development. Configuration control > after the configuration items of the system have been identified, the control of the changes comes to place. Baseline have important role in managing change. They can only be changed going through formal change control procedures as the ones in the following image. A change request can results from new features or enhancements. Configuration status accounting consists of recording and reporting the information needed to manage a configuration effectively, including a listing of approved configuration identification, the status of proposed changes to the configuration and implementation status of approved changes. The purpose of Configuration audits is to ensure that the software product has been built according to specified requirements, to determine whether all the items identified as a part of CI are present in the product baseline, and whether defined SCM activities are being properly applied and controlled. A representative from management, the QA department, or the customer usually performs such audits.
  • 5. The main purpose of the SCM plan is to answer questions as: who is going to do that, when, where, and how. It serves as a guideline Automating manual SCM tasks provides more time to do the actual development work, leading to improved speed and productivity. SCM common tools: Version Control (manage different versions of congifuration objects that are created during the sw eng process); Workspace management (prevent users from interfering with one another’s work); Concurrency control (files are not locked when checking them out, and there may be simultaneous modifications to the same files by multiple users, a locking mechanism comes into use); System building (combine needed file versions and compile them to create the app); Press control and support (mechanism to help reality conform to the model).
  • 6. In agile methods, working software is delivered early and often. It is valued more than comprehensive documentation, and therefore documentation can be added later when there is time. 1. Adaptive Software Development Offers an agile and adaptive approach to high-speed and high-change software projects. It encourages incremental, iterative development, with constant prototyping. Lifecycle used is a dynamic speculate- collaborate-learn lifecycle. Disadvantage > ASDs practices are difficult to identify because of continuous adaptation. 2. Agile Modeling Practice-based methodology for effective modeling and documentation of software-based systems. It is not a complete software process, the focus is primarily on effective modeling and documentation. 3. Crystal Family Methodologies Focuses on individuals’ talents and emphasizes that every team should utilize a process uniquely tailored to itself. Process and tools are secondary. Based on 2 rules: incremental development and self-adaptation. 4. Dynamic Systems Development Method It is a framework of controls supplemented by guidance on how to apply those controls. Provides a user-centred, iterative and incremental way of developing applications systems that serves the needs of the business. 5. Extreme Programming For teams developing software subject to rapidly changing requirements. It is characterized by short development cycles, incremental planning, continuous feedback, reliance on communication, and evolutionary design. 6. Feature Driven Development Focused on delivering frequent, tangible, and working results. Doesn’t cover the entire sw dev process, it rather focuses on the design and building phases. 7. Internet-Speed Development Focused on moving the product quickly to market. The quality depends on how important it is to customers and how good the devs are.
  • 7. 8. Pragmatic Programming Set of programming best practices. It does not include process, phases, distinct roles or work products, It contains tips that cover most programming practicalities. 9. Scrum Management and control process that focuses on building software that meets business needs. Teams are fully autonomous and guided by their knowledge and experience, rather than formerly defined project plans. Leaves the power of decision to the devs.