Shaper, deal with it!okulewiczm/downloads/io/lectures/SE1_3_Soft… · I am a Shaper, deal with it!...
Transcript of Shaper, deal with it!okulewiczm/downloads/io/lectures/SE1_3_Soft… · I am a Shaper, deal with it!...
Previously on Software Engineering
• I am a Shaper, deal with it!• Ask “Why?” not “How much?”
Michał Okulewicz Software Engineering
Previously on Software Engineering
• I am a Shaper, deal with it!• Ask “Why?” not “How much?”
Michał Okulewicz Software Engineering
Previously on Software Engineering
• I am a Shaper, deal with it!• Ask “Why?” not “How much?”
Michał Okulewicz Software Engineering
Software Engineering:Can we please start programming already?
Michał Okulewicz
Wydział Matematyki i Nauk InformacyjnychPolitechnika Warszawska
Michał Okulewicz Software Engineering
Example of a project statement
Requirements:• I want to perform experiments in a simulated project
environment• I want to be able to play teams of software agents from
different vendors against each other• I want to verify hypothesis about the optimal type of team,
given project complexity and risks• I want to asses a psychometric profile of a person playing the
game (without having additional human players)
Payment:• Positive marks from SE1 and SE2
Michał Okulewicz Software Engineering
Example of a project statement
Requirements:• I want to perform experiments in a simulated project
environment• I want to be able to play teams of software agents from
different vendors against each other• I want to verify hypothesis about the optimal type of team,
given project complexity and risks• I want to asses a psychometric profile of a person playing the
game (without having additional human players)
Payment:• Positive marks from SE1 and SE2
Michał Okulewicz Software Engineering
Possible answer
When the project scope isdefined well-enough to
estimate time, and thereforecost of the project.
Michał Okulewicz Software Engineering
Possible answer
When the project scope isdefined well-enough to
estimate time, and thereforecost of the project.
Michał Okulewicz Software Engineering
More questions
1. How can we discover scope?2. How can we estimate time?
Michał Okulewicz Software Engineering
More questions
1. How can we discover scope?2. How can we estimate time?
Michał Okulewicz Software Engineering
More questions
1. How can we discover scope?2. How can we estimate time?
Michał Okulewicz Software Engineering
Not (very) helpful answers
1. Using business analysis methodsand tools (by asking “Why?” andmodeling systems)
2. You can’t (but nevertheless youshould try)
Michał Okulewicz Software Engineering
Not (very) helpful answers
1. Using business analysis methodsand tools (by asking “Why?” andmodeling systems)
2. You can’t (but nevertheless youshould try)
Michał Okulewicz Software Engineering
Not (very) helpful answers
1. Using business analysis methodsand tools (by asking “Why?” andmodeling systems)
2. You can’t (but nevertheless youshould try)
Michał Okulewicz Software Engineering
Not (very) helpful answers
1. Using business analysis methodsand tools (by asking “Why?” andmodeling systems)
2. You can’t (but nevertheless youshould try)
Michał Okulewicz Software Engineering
Not (very) helpful answers
1. Using business analysis methodsand tools (by asking “Why?” andmodeling systems)
2. You can’t (but nevertheless youshould try)
Michał Okulewicz Software Engineering
Choose proper Software Development Framework
Project:• Well-defined?• Repeatable?• Part of a
research?• Internal or
external?
Client:• Naive or
responsible?• Mature or a
start-up?• Technically
aware?
Development team:• Experienced?• Motivated?• Consisting of
experts?
Michał Okulewicz Software Engineering
Choose proper Software Development Framework
Project:• Well-defined?• Repeatable?• Part of a
research?• Internal or
external?
Client:• Naive or
responsible?• Mature or a
start-up?• Technically
aware?
Development team:• Experienced?• Motivated?• Consisting of
experts?
Michał Okulewicz Software Engineering
Choose proper Software Development Framework
Project:• Well-defined?• Repeatable?• Part of a
research?• Internal or
external?
Client:• Naive or
responsible?• Mature or a
start-up?• Technically
aware?
Development team:• Experienced?• Motivated?• Consisting of
experts?
Michał Okulewicz Software Engineering
Choose proper Software Development Framework
Project:• Well-defined?• Repeatable?• Part of a
research?• Internal or
external?
Client:• Naive or
responsible?• Mature or a
start-up?• Technically
aware?
Development team:• Experienced?• Motivated?• Consisting of
experts?
Michał Okulewicz Software Engineering
Software Development Framework
• How to communicate?• How to divide project into tasks?• How to deal with risks and requirements?• How to assign tasks?• How to verify tasks completion?
Michał Okulewicz Software Engineering
Software Development Framework
• How to communicate?• How to divide project into tasks?• How to deal with risks and requirements?• How to assign tasks?• How to verify tasks completion?
Michał Okulewicz Software Engineering
Software Development Framework
• How to communicate?• How to divide project into tasks?• How to deal with risks and requirements?• How to assign tasks?• How to verify tasks completion?
Michał Okulewicz Software Engineering
Software Development Framework
• How to communicate?• How to divide project into tasks?• How to deal with risks and requirements?• How to assign tasks?• How to verify tasks completion?
Michał Okulewicz Software Engineering
Software Development Framework
• How to communicate?• How to divide project into tasks?• How to deal with risks and requirements?• How to assign tasks?• How to verify tasks completion?
Michał Okulewicz Software Engineering
Software Development Framework
• How to communicate?• How to divide project into tasks?• How to deal with risks and requirements?• How to assign tasks?• How to verify tasks completion?
Michał Okulewicz Software Engineering
Rational Unified Process
Elements:• Roles (who?)• Work products
(what?)• Tasks (how?)
Engineeringdisciplines:
• Businessmodeling
• Requirements• Analysis and
design• Implementation• Test• Deployment
Supportingdisciplines:
• Configurationand changemanagement
• Projectmanagement
• (Work)Environment
Michał Okulewicz Software Engineering
Rational Unified Process
Elements:• Roles (who?)• Work products
(what?)• Tasks (how?)
Engineeringdisciplines:
• Businessmodeling
• Requirements• Analysis and
design• Implementation• Test• Deployment
Supportingdisciplines:
• Configurationand changemanagement
• Projectmanagement
• (Work)Environment
Michał Okulewicz Software Engineering
Rational Unified Process
Elements:• Roles (who?)• Work products
(what?)• Tasks (how?)
Engineeringdisciplines:
• Businessmodeling
• Requirements• Analysis and
design• Implementation• Test• Deployment
Supportingdisciplines:• Configuration
and changemanagement
• Projectmanagement
• (Work)Environment
Michał Okulewicz Software Engineering
Rational Unified Process
Elements:• Roles (who?)• Work products
(what?)• Tasks (how?)
Engineeringdisciplines:
• Businessmodeling
• Requirements• Analysis and
design• Implementation• Test• Deployment
Supportingdisciplines:• Configuration
and changemanagement
• Projectmanagement
• (Work)Environment
Michał Okulewicz Software Engineering
Breaking news: geeks solved management problems!
Forbes magazineon Agile methods
Michał Okulewicz Software Engineering
Agile Manifesto
We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come tovalue:
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
That is, while there is value in the items on the right, we value theitems on the left more.
http://agilemanifesto.org/
Michał Okulewicz Software Engineering
Agile Manifesto
We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come tovalue:
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
That is, while there is value in the items on the right, we value theitems on the left more.
http://agilemanifesto.org/
Michał Okulewicz Software Engineering
Agile Manifesto
We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come tovalue:
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
That is, while there is value in the items on the right, we value theitems on the left more.
http://agilemanifesto.org/
Michał Okulewicz Software Engineering
Agile Manifesto
We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come tovalue:
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
That is, while there is value in the items on the right, we value theitems on the left more.
http://agilemanifesto.org/
Michał Okulewicz Software Engineering
Agile Manifesto
We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come tovalue:
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
That is, while there is value in the items on the right, we value theitems on the left more.
http://agilemanifesto.org/
Michał Okulewicz Software Engineering
Agile Manifesto
We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come tovalue:
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
That is, while there is value in the items on the right, we value theitems on the left more.
http://agilemanifesto.org/
Michał Okulewicz Software Engineering
Agile Manifesto
We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come tovalue:
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
That is, while there is value in the items on the right, we value theitems on the left more.
http://agilemanifesto.org/
Michał Okulewicz Software Engineering
Further reading
• https://www.agilebusiness.org/content/introduction-0• https://www.tutorialspoint.com/sdlc/sdlc_spiral_model.htm• https://www.versionone.com/agile-101/agile-methodologies/
Michał Okulewicz Software Engineering