SlideShare a Scribd company logo
Software Engineering
WEEK 2
Sibel Kuzgun Akın
What is software engineering?

Software engineering is a discipline that
integrates methods, tools and procedures
for the development of software.

A number of different paradigms

A series of generic phases in common:
− Requirements analysis, design,
development, testing, documentation,
maintenance
Methodologies

Waterfall

Prototyping

Agile software development

Extreme programming

Scrum

KANBAN

Lean software development

Minimum viable product
https://toggl.com/developer-methods-infographic
Waterfall Model

Recommended for you

What is waterfall
What is waterfallWhat is waterfall
What is waterfall

The Waterfall Model is a linear sequential software development process where each phase must be completed before the next can begin. It has six phases: requirements, analysis, design, coding, testing, and maintenance. The advantages are that it is simple, easy to manage each phase, and works well for small projects with fixed requirements. The disadvantages are that it is inflexible, does not allow for overlapping phases, and changes later in the process are costly. The Waterfall Model is best for projects with stable requirements, clear specifications, and available expertise throughout the process.

waterfallsoftware development life cycle
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models

Agile Development | Agile Process Models Here you are going to know What is Agile Development & What are Agile Process Models for the development of Software Product. What are different types of Agile Development, steps involve in Agile Development, XP, Scrum, Traditional Process Models with full text and animated description. Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software... For more knowledge watch full video... Video URL: https://youtu.be/3Lxnn0O3xaM YouTube Channel URL: https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg Google+ Page URL: https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425 My Website Link: http://appsdisaster.blogspot.com/ If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to us.

agile developmentiterative developmentxp coding
functional testing
functional testing functional testing
functional testing

Functional testing is a type of software testing that validates software functions or features based on requirements specifications. It involves testing correct and incorrect inputs to check expected behaviors and outputs. There are different types of functional testing including unit testing, integration testing, system testing, and acceptance testing. Testers write test cases based on requirements and specifications to test the functionality of software under different conditions.

functional testingmanual testing
Waterfall Model
Pros

Easy to understand and
functional

Simple enough to
handle as model is rigid

Saves significant
amount of time

Allows for easy testing
and analysis
Cons

Only matches precise needs

Not applicable for
maintenance projects

Does not allow editing in the
testing phase

No option to know possible
outcome of a project

Not excellent for long and
ongoing projects
The traditional method: simple, a linear flow
Waterfall Model
Rapid Prototyping
Prototyping Software
Pros

Gives clear idea about the
functional process of the
software

Reduces the risk of failure
in a software functionality

Assists well in
requirement gathering and
the overall analysis

Reduced time and cost

Improved and increased
user involvement
Cons

Insufficient analysis: Don't
forget the complete project.

User confusion of prototype
and finished system

Excessive development time
of the prototype

Expense of implementing the
prototyping

Developer or user
attachement to prototype

Recommended for you

Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1

Testing software is conducted to ensure the system meets user needs and requirements. The primary objectives of testing are to verify that the right system was built according to specifications and that it was built correctly. Testing helps instill user confidence, ensures functionality and performance, and identifies any issues where the system does not meet specifications. Different types of testing include unit, integration, system, and user acceptance testing, which are done at various stages of the software development life cycle.

Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt

Testing involves finding errors in a program. The goal is to assume a program contains errors and test to find as many as possible. Different testing techniques include white box testing by developers and black box testing by testers. Testing levels include unit, integration, system, and user acceptance testing. Developers and testers have different goals - developers want code to work while testers try to make code fail. Good development practices from a tester's view include doing own acceptance tests, fixing bugs, writing helpful error messages, and not artificially adding bugs. Good relationships between project managers, developers and testers help ensure quality.

What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model

There you can find about definition of agile model.Working of agile model.You can also find where to use agile model.Examples of agile model is also given here.

agile software developmentagileagile model
Prototyping
Prototype is an incomplete version of the software
program being developed.
The software designer and implementer can get
valuable feedback from the users early in the
project.
How to create a prototype?

Draw the screens using a resource editor: Visual C++

Use a code generator or a report tool.

Frameworks such as Bootstrap, Foundation, and
AngularJS may be used for web projects.

Create easy to implement parts of the program, reuse
code from the early projects.
Which type of prototyping?
Rapid - Throw away

The prototype will be
used to get feedback
from the users and then
it will be thrown away.

The real software will be
written from scratch.
Evolutionary

Composing software
systems based on the
reuse of components,
the use of software
templates and on an
architectural template.

Continuous evolution of
system capabilities in
rapid response to
changing user needs
and technology .
Prototyping is suitable for...

Very effective in analysis and design of
online systems, i.e. Web projects.

Transcation processing applications.

Good for designing human-computer
interfaces, i.e. Windows programming.
Agile software development

Recommended for you

Sdlc
SdlcSdlc
Sdlc

The document discusses the Software Development Life Cycle (SDLC), including its objectives, common phases and models. The key models described are waterfall, prototyping, spiral, RAD and agile. Waterfall is the classical sequential model but is inflexible. Prototyping and spiral address changing requirements through iterative cycles. RAD focuses on rapid development through reuse, workshops and early user testing. Agile methods emphasize speed, reduced formal processes and adaptability. The conclusion recommends RAD for mashup projects due to its support for iterative requirements changes and modular development.

project
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance

The document discusses software quality assurance (SQA) and defines key terms related to quality. It describes SQA as encompassing quality management, software engineering processes, formal reviews, testing strategies, documentation control, and compliance with standards. Specific SQA activities mentioned include developing an SQA plan, participating in process development, auditing work products, and ensuring deviations are addressed. The document also discusses software reviews, inspections, reliability, and the reliability specification process.

software quality assurance
Waterfall model
Waterfall modelWaterfall model
Waterfall model

The document discusses the waterfall model of software development. It describes the five phases of the waterfall model as requirements gathering and analysis, design, coding, testing, and maintenance. It provides details on the activities in each phase, including documenting requirements, designing logical modules, writing code, testing software, and maintaining the system. The waterfall model is advantageous for small projects but inflexible if requirements change, as it is a sequential process where each phase must be completed before the next.

Manifesto for Agile Software
Development
We are uncovering better ways of developing software
by doing it and helping others do it. Through this work
we have come to value:

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 the items on the left more.
© 2001, the Agile Manifesto authors
This declaration may be freely copied in any form, but only in its entirety through this notice.
Agile Software Development
Principles
1.Customer satisfaction by early and continuous delivery of
valuable software
2.Welcome changing requirements, even in late development
3.Working software is delivered frequently (weeks rather than
months)
4.Close, daily cooperation between business people and
developers
5.Projects are built around motivated individuals, who should
be trusted
6.Face-to-face conversation is the best form of
communication (co-location)
Agile Software Development
Principles
7.Working software is the primary measure of progress
8.Sustainable development, able to maintain a constant pace
9.Continuous attention to technical excellence and good
design
10.Simplicity—the art of maximizing the amount of work not
done—is essential
11.Best architectures, requirements, and designs emerge
from self-organizing teams
12.Regularly, the team reflects on how to become more
effective, and adjusts accordingly
Extreme Programming

Agile software development methodology.

Frequent "releases" in short development
cycles, which is intended to improve
productivity and introduce checkpoints at which
new customer requirements can be adopted.

Recommended for you

Automation testing
Automation testingAutomation testing
Automation testing

This document provides an overview and agenda for a presentation on automation testing using IBM Rational Functional Tester. It discusses what automation testing is, why it is useful, and when it should be implemented. It also addresses common myths about automation testing and provides tips for successful automation. Finally, it covers features of IBM Rational Functional Tester, including how to set up a test environment and record scripts to automate testing.

Agile metrics
Agile metricsAgile metrics
Agile metrics

An overview about various agile metrics - why to use them, what to consider when using metrics and various examples of suggested metrics

metricsagileburn down
A short history of Agile software development
A short history of Agile software developmentA short history of Agile software development
A short history of Agile software development

My 'Short History of Agile Software Development' presentation at the Innovation Campus, University of Wollongong. I only had 20 minutes to speak, so I did an overview of the origins of 'Software Engineering' ('68 NATO conference) through to some new and different approaches to software. Along the way I talked about the 'New New Product Development Game', Scrum, Extreme Programming, the Agile Manifesto and some thoughts about what the future holds.

software as a servicescrumagile
Extreme Programming

Programming in pairs or doing extensive code review,

Unit testing of all code,

Avoiding programming of features until they are
actually needed,

A flat management structure, code simplicity and
clarity,

Expecting changes in the customer's requirements as
time passes and the problem is better understood,
and frequent communication with the customer and
among programmers.
Extreme Programming
Iterative vs. Waterfall

One of the differences between agile
software development methods and
waterfall is the approach to quality and
testing.

In the waterfall model, there is always a
separate testing phase after a build phase;
however, in agile software development
testing is completed in the same iteration
as programming.
Scrum

It is an agile method / framework for software
development.

It is designed for teams of 3 - 9 developers

They break their work into actions that can be
completed within fixed duration cycles (called
"sprints"),

track progress (backlog) ,

re-plan in daily 15-minute stand-up meetings,

collaborate to deliver workable software every
sprint.

Recommended for you

Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model

The document discusses several software development life cycle (SDLC) models: - The waterfall model is a linear and sequential approach with distinct phases for requirements, design, implementation, testing, and deployment. It works well for projects with stable requirements. - The V-shaped model emphasizes verification and validation testing at each phase. It is suited for projects requiring high reliability. - Evolutionary prototyping involves building prototypes early and getting user feedback in iterations to refine requirements. It helps clarify unstable requirements. - Rapid application development (RAD) emphasizes user involvement and productivity tools to reduce cycle times. It is suited when requirements are reasonably well known. - Incremental development delivers partial systems in increments to get early benefits while allowing

Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies

This document provides an overview of agile methodologies and Scrum. It defines predictive and adaptive models, describing Waterfall as predictive and Agile as adaptive. It outlines key principles of Agile development, pros and cons, and describes common Agile methods like XP and Scrum. Scrum is described as considering both managerial and development aspects. Key Scrum roles, events, and artifacts like Product Backlog, Sprint Backlog and Increment are defined. Resources for learning more about Agile and Scrum are provided.

agile software developmentproject managmentsoftware development
extreme Programming
extreme Programmingextreme Programming
extreme Programming

As a user, I want to register for an account so that I can access the system.

Scrum
Scrum roles

Scrum master: Works with and coaches
the developers.
− The scrum master ensures that the Scrum
framework is followed.

Developers

Product owner: Voice of the customer
− He/she is accountable for ensuring that the
team delivers value to the business.
− Responsible from the product backlog
− Prioritize user requirements
Scrum
Scrum is a feedback-driven empirical approach

Transparency

Inspection

Adaptation
This method is suitable for coping with
changing user requirements.
Scrum video

Framework:
https://www.scruminc.com/scrum-framework/

The sprint:
https://www.scruminc.com/sprint/

Timeboxing:
https://www.scruminc.com/what-is-timeboxing/

Recommended for you

Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering

Agile development focuses on effective communication, customer collaboration, and incremental delivery of working software. The key principles of agile development according to the Agile Alliance include satisfying customers, welcoming changing requirements, frequent delivery, collaboration between business and development teams, and self-organizing teams. Extreme Programming (XP) is an agile process model that emphasizes planning with user stories, simple design, pair programming, unit testing, and frequent integration and testing.

other process models of agile development and toolagility and agile process modelextreme programming
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated

The document provides an overview of quality assurance and testing practices for agile projects. It discusses traditional and agile testing approaches, defines roles like testers and developers in agile teams, and outlines a test strategy including test planning, automation, and metrics. Key aspects of agile testing covered are testing throughout each sprint, the importance of collaboration, and ensuring quality is "baked in" through a whole team approach.

software qualityagile test strategytest strategy
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles

Agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change. The Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications.

software developmentagile methodologiessoftware delivery
Scrum
http://www.agitma.nl/dilbert-saves-the-agile-day/
Lean Software Development
Application of lean manufacturing principles
to software development:
1.Eliminate waste
2.Amplify learning
3.Decide as late as possible
4.Deliver as fast as possible
5.Empower the team
6.Build integrity in
7.See the whole
Kanban

Kanban is a method for visualizing the flow
of work, in order to balance demand with
available capacity and spot bottlenecks.

Work items are visualized to give
participants a view of progress and
process, from start to finish.

Team members pull work as capacity
permits, rather than work being pushed into
the process when requested.
Kanban
By Andy Carmichael - Own work, CC BY-SA 4.0,
https://commons.wikimedia.org/w/index.php?curid=55448101

Recommended for you

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering

This lecture provides introduction to basic concepts of software engineering especially life cycle models, with there advantages and disadvantages.

introduction to software engineeringtypes of process modelsintroduction to agile
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams

The document discusses different programming team methodologies including: - System development life cycle (SDLC), which is used for large projects and includes waterfall models. It takes time but ensures high quality. - Agile methodology, designed for small projects, combines methods for faster development that changes with customer needs. - Extreme programming allows close communication between developers and customers so the software can change rapidly based on customer feedback. Overall agile methodologies seem to have advantages over SDLC and extreme programming by allowing faster development that can change with customer desires.

differentmethodologiesused
Incremental model
Incremental modelIncremental model
Incremental model

The document provides information on various software versions used for engineering drawings, documents, technical illustrations, web browsing and document viewing. It lists applications such as AutoCAD, CorelDRAW, Microsoft Office, Netscape Navigator and Acrobat software. It also provides a link for an up-to-date list of software versions.

Minimum Viable Product
Minimum Viable Product

A minimum viable product (MVP) is a
product with just enough features to satisfy
early customers, and to provide feedback
for future product development.

Viable means “you can sell it”.

ROI: Return of Investment

MVP has the maximum ROI against risks.

MVP is an agile pattern.
Minimum Viable Product

You Ain’t Gonna Need It

Keep It Simple Stupid (KISS)

Test the water first
What do you want?

Recommended for you

Software development process models
Software development process modelsSoftware development process models
Software development process models

Software development process models Rapid Application Development (RAD) Model Evolutionary Process Models Spiral Model THE FORMAL METHODS MODEL Specialized Process Models The Concurrent Development Model

software engineeringsoftware process models
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle

The document discusses several software development process models including waterfall, iterative development, prototyping, RAD, spiral, RUP, and agile processes. The waterfall model is a linear sequential process while iterative development allows for incremental improvements. Prototyping allows users to provide early feedback. RAD combines waterfall and prototyping and emphasizes rapid development. Spiral model iterates through risk analysis, development, and planning phases. RUP is object-oriented and divided into cycles. Agile processes emphasize working software, incremental delivery, flexibility, and customer involvement.

Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management

The document discusses different types of software processes and models used in software engineering. It defines software and differentiates it from programs. It then explains key concepts in software engineering including the waterfall model, prototyping model, incremental/iterative model, and spiral model. For each model it provides an overview and discusses their advantages and limitations.

Minimum Viable Product

Cheap, fast but not always good.

The version of a new product that brings
back the maximum amount of validated
learning about your customers with the
least effort.
Minimum Lovable Product

The version of a new product that brings
back the maximum amount of love from
your early tribe members with the least
effort.
Minimum Lovable Product
“It is better to build something that a small
number of users love, than a large number
of users like.”
Sam Altman – Y Coordinator
MLP tactics
1. Build sh!t that matters
2. F-O-C-U-S
3. Add constraints: Timeboxing
4. Solve a real pain point
5. Rise above the functional
6. Hire a designer
“Design is not just what it looks like and feels like,
design is how it works.” Steve Jobs
7. Get your users hooked
8. Build your tribe: Community
9. Make it remarkable
10. Be strategic
Remember to go beyond the viable.
Minimum Lovable Product
https://medium.com/the-happy-startup-school/beyond-mvp-10-steps-to-make-your-product-minimum-loveable-51800164ae0c

Recommended for you

Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources

The document provides an overview of Agile development methods. It discusses what Agile is, why it is important, and how difficult it can be to implement. Specifically, it defines Agile as an iterative approach that emphasizes adaptation, incremental delivery, and collaboration. It then summarizes the Scrum framework, noting its core roles, meetings, and iterative process for completing work in short cycles.

scrumagile
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx

This document provides an overview of software development life cycle (SDLC) models and their comparison. It discusses several SDLC models including waterfall, V-shaped, iterative, prototyping, RAD, spiral and agile. Each model is described in terms of its phases, advantages and disadvantages. The document also presents related work from other scholars and states that while agile was not fully extreme programming, using Scrum principles resulted in return on investment and lower costs. It proposes future work to identify knowledge sharing procedures and user-centered SDLC models that overcome limitations of existing approaches.

fguiikkokkkkhhhgggfddfggggged
Scrum in IT Industry Part1
Scrum in IT Industry Part1Scrum in IT Industry Part1
Scrum in IT Industry Part1

This document provides an overview of scrum as an agile framework for IT projects. It first defines what a project is and discusses different software development life cycles (SDLC) models like waterfall, V-shaped, prototyping, spiral, iterative, and agile. It then focuses on agile development, describing the agile manifesto, principles, and iron triangle. Finally, it introduces scrum as a common agile method and notes that scrum will be discussed in more detail in part 2 of the document.

projectproject managementagile

More Related Content

What's hot

Agile Methodology ppt
Agile Methodology pptAgile Methodology ppt
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
HND Assignment Help
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
Gurban Daniel
 
What is waterfall
What is waterfallWhat is waterfall
What is waterfall
Abdullah Al Rumy
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
Ahsan Rahim
 
functional testing
functional testing functional testing
functional testing
bharathanche
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
Rathna Priya
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
zoomers
 
Sdlc
SdlcSdlc
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
BHARGAV VISANI
 
Automation testing
Automation testingAutomation testing
Automation testing
Biswajit Pratihari
 
Agile metrics
Agile metricsAgile metrics
Agile metrics
Sebastian Radics
 
A short history of Agile software development
A short history of Agile software developmentA short history of Agile software development
A short history of Agile software development
Kane Mar
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
J.T.A.JONES
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
elvinefendi
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
Bilal Shah
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
Rupesh Vaishnav
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
Tharinda Liyanage
 

What's hot (20)

Agile Methodology ppt
Agile Methodology pptAgile Methodology ppt
Agile Methodology ppt
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
What is waterfall
What is waterfallWhat is waterfall
What is waterfall
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
functional testing
functional testing functional testing
functional testing
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
 
Sdlc
SdlcSdlc
Sdlc
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Agile metrics
Agile metricsAgile metrics
Agile metrics
 
A short history of Agile software development
A short history of Agile software developmentA short history of Agile software development
A short history of Agile software development
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 

Similar to Introduction to Software Engineering

Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
Orchestrate Mortgage and Title Solutions, LLC
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
Nicole Gomez
 
Incremental model
Incremental modelIncremental model
Incremental model
Sajid Ali Laghari
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
Muhammed Afsal Villan
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
sathyakamsundher30
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
swatisinghal
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
Anwar Sadat
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
BinyamBekele3
 
Scrum in IT Industry Part1
Scrum in IT Industry Part1Scrum in IT Industry Part1
Scrum in IT Industry Part1
JayeshPatil149
 
Computer1
Computer1Computer1
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
sunilkumar_
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
KaiEnTee1
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
Riant Soft
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
Cuneiform Consulting Pvt Ltd.
 
Agile model in software testing
Agile model in software testingAgile model in software testing
Agile model in software testing
pooja deshmukh
 
Lect7
Lect7Lect7
Lect7
Lect7Lect7
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
bizpresenter
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
Afrasiyab Haider
 

Similar to Introduction to Software Engineering (20)

Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
Scrum in IT Industry Part1
Scrum in IT Industry Part1Scrum in IT Industry Part1
Scrum in IT Industry Part1
 
Computer1
Computer1Computer1
Computer1
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
 
Agile model in software testing
Agile model in software testingAgile model in software testing
Agile model in software testing
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 

More from Sibel Kuzgun AKIN

Requirements Analysis
Requirements AnalysisRequirements Analysis
Requirements Analysis
Sibel Kuzgun AKIN
 
Cost Estimation
Cost EstimationCost Estimation
Cost Estimation
Sibel Kuzgun AKIN
 
User Interface and User Experience
User Interface and User ExperienceUser Interface and User Experience
User Interface and User Experience
Sibel Kuzgun AKIN
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Sibel Kuzgun AKIN
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Sibel Kuzgun AKIN
 
Testing Software
Testing SoftwareTesting Software
Testing Software
Sibel Kuzgun AKIN
 
Normal Formlar
Normal FormlarNormal Formlar
Normal Formlar
Sibel Kuzgun AKIN
 
ER Şemaları
ER ŞemalarıER Şemaları
ER Şemaları
Sibel Kuzgun AKIN
 
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Sibel Kuzgun AKIN
 
Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)
Sibel Kuzgun AKIN
 
Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)
Sibel Kuzgun AKIN
 

More from Sibel Kuzgun AKIN (11)

Requirements Analysis
Requirements AnalysisRequirements Analysis
Requirements Analysis
 
Cost Estimation
Cost EstimationCost Estimation
Cost Estimation
 
User Interface and User Experience
User Interface and User ExperienceUser Interface and User Experience
User Interface and User Experience
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Normal Formlar
Normal FormlarNormal Formlar
Normal Formlar
 
ER Şemaları
ER ŞemalarıER Şemaları
ER Şemaları
 
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
 
Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)
 
Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)
 

Recently uploaded

WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
sofiafernandezon
 
Break data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud ConnectorsBreak data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud Connectors
confluent
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
taskroupseo
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
e-Definers Technology
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
ssuser2b426d1
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
Mitchell Marsh
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
SSTech System
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
sudsdeep
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
sudsdeep
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
Hironori Washizaki
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
Mitchell Marsh
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
karim wahed
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 

Recently uploaded (20)

WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
 
Break data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud ConnectorsBreak data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud Connectors
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 

Introduction to Software Engineering

  • 2. What is software engineering?  Software engineering is a discipline that integrates methods, tools and procedures for the development of software.  A number of different paradigms  A series of generic phases in common: − Requirements analysis, design, development, testing, documentation, maintenance
  • 3. Methodologies  Waterfall  Prototyping  Agile software development  Extreme programming  Scrum  KANBAN  Lean software development  Minimum viable product https://toggl.com/developer-methods-infographic
  • 5. Waterfall Model Pros  Easy to understand and functional  Simple enough to handle as model is rigid  Saves significant amount of time  Allows for easy testing and analysis Cons  Only matches precise needs  Not applicable for maintenance projects  Does not allow editing in the testing phase  No option to know possible outcome of a project  Not excellent for long and ongoing projects The traditional method: simple, a linear flow
  • 8. Prototyping Software Pros  Gives clear idea about the functional process of the software  Reduces the risk of failure in a software functionality  Assists well in requirement gathering and the overall analysis  Reduced time and cost  Improved and increased user involvement Cons  Insufficient analysis: Don't forget the complete project.  User confusion of prototype and finished system  Excessive development time of the prototype  Expense of implementing the prototyping  Developer or user attachement to prototype
  • 9. Prototyping Prototype is an incomplete version of the software program being developed. The software designer and implementer can get valuable feedback from the users early in the project. How to create a prototype?  Draw the screens using a resource editor: Visual C++  Use a code generator or a report tool.  Frameworks such as Bootstrap, Foundation, and AngularJS may be used for web projects.  Create easy to implement parts of the program, reuse code from the early projects.
  • 10. Which type of prototyping? Rapid - Throw away  The prototype will be used to get feedback from the users and then it will be thrown away.  The real software will be written from scratch. Evolutionary  Composing software systems based on the reuse of components, the use of software templates and on an architectural template.  Continuous evolution of system capabilities in rapid response to changing user needs and technology .
  • 11. Prototyping is suitable for...  Very effective in analysis and design of online systems, i.e. Web projects.  Transcation processing applications.  Good for designing human-computer interfaces, i.e. Windows programming.
  • 13. Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:  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 the items on the left more. © 2001, the Agile Manifesto authors This declaration may be freely copied in any form, but only in its entirety through this notice.
  • 14. Agile Software Development Principles 1.Customer satisfaction by early and continuous delivery of valuable software 2.Welcome changing requirements, even in late development 3.Working software is delivered frequently (weeks rather than months) 4.Close, daily cooperation between business people and developers 5.Projects are built around motivated individuals, who should be trusted 6.Face-to-face conversation is the best form of communication (co-location)
  • 15. Agile Software Development Principles 7.Working software is the primary measure of progress 8.Sustainable development, able to maintain a constant pace 9.Continuous attention to technical excellence and good design 10.Simplicity—the art of maximizing the amount of work not done—is essential 11.Best architectures, requirements, and designs emerge from self-organizing teams 12.Regularly, the team reflects on how to become more effective, and adjusts accordingly
  • 16. Extreme Programming  Agile software development methodology.  Frequent "releases" in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.
  • 17. Extreme Programming  Programming in pairs or doing extensive code review,  Unit testing of all code,  Avoiding programming of features until they are actually needed,  A flat management structure, code simplicity and clarity,  Expecting changes in the customer's requirements as time passes and the problem is better understood, and frequent communication with the customer and among programmers.
  • 19. Iterative vs. Waterfall  One of the differences between agile software development methods and waterfall is the approach to quality and testing.  In the waterfall model, there is always a separate testing phase after a build phase; however, in agile software development testing is completed in the same iteration as programming.
  • 20. Scrum  It is an agile method / framework for software development.  It is designed for teams of 3 - 9 developers  They break their work into actions that can be completed within fixed duration cycles (called "sprints"),  track progress (backlog) ,  re-plan in daily 15-minute stand-up meetings,  collaborate to deliver workable software every sprint.
  • 21. Scrum
  • 22. Scrum roles  Scrum master: Works with and coaches the developers. − The scrum master ensures that the Scrum framework is followed.  Developers  Product owner: Voice of the customer − He/she is accountable for ensuring that the team delivers value to the business. − Responsible from the product backlog − Prioritize user requirements
  • 23. Scrum Scrum is a feedback-driven empirical approach  Transparency  Inspection  Adaptation This method is suitable for coping with changing user requirements.
  • 26. Lean Software Development Application of lean manufacturing principles to software development: 1.Eliminate waste 2.Amplify learning 3.Decide as late as possible 4.Deliver as fast as possible 5.Empower the team 6.Build integrity in 7.See the whole
  • 27. Kanban  Kanban is a method for visualizing the flow of work, in order to balance demand with available capacity and spot bottlenecks.  Work items are visualized to give participants a view of progress and process, from start to finish.  Team members pull work as capacity permits, rather than work being pushed into the process when requested.
  • 28. Kanban By Andy Carmichael - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55448101
  • 30. Minimum Viable Product  A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development.  Viable means “you can sell it”.  ROI: Return of Investment  MVP has the maximum ROI against risks.  MVP is an agile pattern.
  • 31. Minimum Viable Product  You Ain’t Gonna Need It  Keep It Simple Stupid (KISS)  Test the water first
  • 32. What do you want?
  • 33. Minimum Viable Product  Cheap, fast but not always good.  The version of a new product that brings back the maximum amount of validated learning about your customers with the least effort. Minimum Lovable Product  The version of a new product that brings back the maximum amount of love from your early tribe members with the least effort.
  • 34. Minimum Lovable Product “It is better to build something that a small number of users love, than a large number of users like.” Sam Altman – Y Coordinator
  • 35. MLP tactics 1. Build sh!t that matters 2. F-O-C-U-S 3. Add constraints: Timeboxing 4. Solve a real pain point 5. Rise above the functional 6. Hire a designer “Design is not just what it looks like and feels like, design is how it works.” Steve Jobs 7. Get your users hooked 8. Build your tribe: Community 9. Make it remarkable 10. Be strategic Remember to go beyond the viable.