You are on page 1of 49

Application Development Practices

CMU-CS 246

Referenced from Prof.Redley of CMU © 2023, MSc, NGUYEN TRUNG THUAN 1


Application Development
Practices

Using Processes

MSc, NGUYEN TRUNG THUAN


Instructor of DTU

Email: nguyentrungthuan@duytan.edu.vn
Tel: 0905. 558.758

Referenced from Prof.Redley of CMU © 2023, MSc, NGUYEN TRUNG THUAN 2


Contents
1. Why Process is Important
2. What is a Process?
3. What Processes Will I Need?

Referenced from Prof.Redley of CMU 3


© 2023, MSc, NGUYEN TRUNG THUAN
Previous lesson question
◼ The team is build in…?
 TRUST

◼ What is “A results-driven structure”


characteristic?
 Roles & Accountabilities
 Communication
 Monitoring individual performance
& providing feedback

Referenced from Prof.Redley of CMU 4


© 2023, MSc, NGUYEN TRUNG THUAN
Previous lesson question
◼ Two ways of team member?
competencies are?
◼ Technical
◼ Personal
◼ Characteristics of good team leader?
 A consistent message
 Unleashing talent
 A decision making climate
 Ego suppression
 Leaders create leaders

Referenced from Prof.Redley of CMU 5


© 2023, MSc, NGUYEN TRUNG THUAN
Previous lesson question
◼ What are team member’s competitions?
A. Technical
B. Personal
C. Salary
D. A
D. A and
and B
B

Referenced from Prof.Redley of CMU 6


© 2023, MSc, NGUYEN TRUNG THUAN
Previous lesson question
◼ Why do we need to build the teamwork?
A.
A. The
Thesoftware
softwareprojects areare
projects tootoo
large andand
large those
athose a diverse
diverse set and
set of skills of skills
roles and roles
B. Experienced programmers who will teach
those less experienced
C. To do inspection
D. To prevent defects

Referenced from Prof.Redley of CMU 7


© 2023, MSc, NGUYEN TRUNG THUAN
Why Process is Important
◼ What has the biggest impact on
project success and quality?

◼ What processes, standards &


conventions will your team need to be
successful?
Referenced from Prof.Redley of CMU 8
© 2023, MSc, NGUYEN TRUNG THUAN
What is a Process?
A process
◼ example
An of a is a setisof
process practices
the performed
software development
to achieve
lifecycle (SDLC). a given purpose; it may
include
In SDLC, theretools, methods,
are distinct phases materials, and/or
such as planning,
people
design, implementation, testing, deployment, and
◼ While process
maintenance. is often
Each phase described
consists of specificas a leg
activities
andof theproviding
tasks, process-people-technology triad, it
a systematic approach to building
andmay also be
maintaining considered
software the “glue”
applications. that
This process
unifies
ensures that the other
software aspects
projects are managed in a
structured and organized manner, leading to the
development of high-quality and reliable software
products.

Referenced from Prof.Redley of CMU 9


© 2023, MSc, NGUYEN TRUNG THUAN
Why Focus on Process?
◼ Everyone realizes
the importance of
having a
motivated, quality
work force, but
even our finest
people can’t
perform at their
best when the
process is not
understood or
operating “at its
best”

Referenced from Prof.Redley of CMU 10


© 2023, MSc, NGUYEN TRUNG THUAN
Why Focus on Process?
Focusing on processes is crucial for several reasons:
◼ Efficiency
◼ Consistency
◼ Quality Assurance
◼ Risk Mitigation
◼ Continuous Improvement
◼ Team Collaboration
◼ Scalability
◼ Adaptability
◼ Client Satisfaction
◼ Measurable Results
Referenced from Prof.Redley of CMU 11
© 2023, MSc, NGUYEN TRUNG THUAN
Example 1

Referenced from Prof.Redley of CMU 12


© 2023, MSc, NGUYEN TRUNG THUAN
Example 2
◼ http://vhr.vn/quy-trinh-giao-dich-vinhomes-riverside-hoa-anh-dao.html

Referenced from Prof.Redley of CMU 13


© 2023, MSc, NGUYEN TRUNG THUAN
Example 3

Referenced from Prof.Redley of CMU 14


© 2023, MSc, NGUYEN TRUNG THUAN
Process Improvement Premise
◼ “The quality of a product is largely
determined by the quality of the process
that is used to develop and maintain it.”
- Based on Total Quality Management
principles as taught by Shewhart, Juran,
Deming and Humphrey

Referenced from Prof.Redley of CMU 15


© 2023, MSc, NGUYEN TRUNG THUAN
How Do We Define a Process?
◼ Processes do or transform something

◼ Two Examples in Readings:


 ETVX
 Swim Lane

Referenced from Prof.Redley of CMU 16


© 2023, MSc, NGUYEN TRUNG THUAN
How Do We Define a Process?
Defining a process involves outlining a series of
organized and interconnected activities designed to
achieve a particular objective or produce a specific
outcome. It includes:
◼ Identification of Steps
◼ Sequence
◼ Inputs and Outputs
◼ Roles and Responsibilities
◼ Resources
◼ Metrics and Key Performance Indicators (KPIs)
◼ Documentation
◼ Continuous Improvement
Referenced from Prof.Redley of CMU 17
© 2023, MSc, NGUYEN TRUNG THUAN
Process Measures
◼ You can specify where the process
measurements should be taken

Referenced from Prof.Redley of CMU 18


© 2023, MSc, NGUYEN TRUNG THUAN
Process Measures
Examples of process measures include:
◼ Cycle Time
◼ Throughput
◼ Accuracy
◼ Compliance
◼ Error Rate
◼ Resource Utilization
◼ Customer Satisfaction
◼ Cost Efficiency
◼ Adherence to Timeline
◼ Flexibility
Referenced from Prof.Redley of CMU 19
© 2023, MSc, NGUYEN TRUNG THUAN
Black & White Box
◼ Black Box: You can’t see into the process

◼ White Box: You can see into the process


Referenced from Prof.Redley of CMU 20
© 2023, MSc, NGUYEN TRUNG THUAN
Black & White Box
1. Black-box Testing:
 Focuses on testing the functionality of a system
without knowledge of its internal code.
 Testers evaluate inputs and outputs, ensuring the
system behaves as expected.
 Emphasizes external behavior and user perspective.

2. White-box Testing:
 Examines the internal logic and structure of a
system's code.
 Testers have knowledge of the internal workings,
enabling them to design tests based on code paths.
 Emphasizes internal structure, logic, and code
coverage.
Referenced from Prof.Redley of CMU 21
© 2023, MSc, NGUYEN TRUNG THUAN
Entry, Tasks, Validation, eXit

Referenced from Prof.Redley of CMU 22


© 2023, MSc, NGUYEN TRUNG THUAN
The ETVX model in the context of a software testing process
1. Entry:
 Prerequisite: Test environment set up, test cases identified, and test data
prepared.
 Condition: The system build is ready for testing.

2. Tasks:
 Execute test cases based on the testing plan.
 Record the test results, including any observed issues or defects.
 Generate test reports for analysis.

3. Validation:
 Criteria: All identified test cases are executed.
 Methods: Compare actual results with expected results. Log and prioritize any
defects discovered.

4. eXit:
 Criteria: All critical test cases pass without major issues, and defects are
documented.
 Conditions: Test reports are reviewed, and stakeholders approve the testing
results.
 Exit signifies that the testing phase is complete, and the software is deemed
ready for the next stage or release.
Referenced from Prof.Redley of CMU © 2023, MSc, NGUYEN TRUNG THUAN 23
Entry, Tasks, Validation, eXit

Referenced from Prof.Redley of CMU 24


© 2023, MSc, NGUYEN TRUNG THUAN
Entry, Tasks, Validation, eXit

Referenced from Prof.Redley of CMU 25


© 2023, MSc, NGUYEN TRUNG THUAN
Entry, Tasks, Validation, eXit

Referenced from Prof.Redley of CMU 26


© 2023, MSc, NGUYEN TRUNG THUAN
Controls and Constraints
Controls and constraints refer to the mechanisms
and limitations that influence or guide a process or
system:
• Controls: Mechanisms put in place to regulate,
manage, or direct a process. These can include
policies, procedures, or automated systems that
ensure adherence to standards or guidelines.
• Constraints: Limitations or restrictions that
impact the execution of a process. These may
involve resource limitations, time constraints, or
external factors that affect the scope or
outcome of the process.
Referenced from Prof.Redley of CMU 27
© 2023, MSc, NGUYEN TRUNG THUAN
Controls and Constraints

Referenced from Prof.Redley of CMU 28


© 2023, MSc, NGUYEN TRUNG THUAN
Controls and Constraints
◼ Controls
 Designed into the process to produce
adesirable outcome. Examples:
✓ Policies
✓ Error detection and correction processes
◼ Constraints
 A limitation to the process (or
environment) that may impact process
effectiveness and/or efficiency. Examples:
✓ Technical capabilities of team
✓ Available time or resources
✓ Transmission speeds
Referenced from Prof.Redley of CMU 29
© 2023, MSc, NGUYEN TRUNG THUAN
Swim Lane Diagram

Referenced from Prof.Redley of CMU 30


© 2023, MSc, NGUYEN TRUNG THUAN
Development Processes
Development processes are structured methods
for creating products or systems. Common
approaches include the Software
Development Life Cycle (SDLC), Agile,
Waterfall, DevOps, Incremental
Development, Prototyping, Rapid
Application Development (RAD), and
Extreme Programming (XP). Each process
offers unique benefits and is chosen based on
project requirements and goals.
Referenced from Prof.Redley of CMU 31
© 2023, MSc, NGUYEN TRUNG THUAN
Development Processes
◼ Product requirements
◼ Top level architecture, technical approach,
and system design
◼ Component and unit specifications and design
◼ Implementing
 Coding
 Unit and integration testing
 Implementing product changes
◼ Development metrics definition, collection &
analysis

Referenced from Prof.Redley of CMU 32


© 2023, MSc, NGUYEN TRUNG THUAN
Infrastructure Processes
Infrastructure processes refer to the
organized series of activities involved in
planning, building, managing, and
maintaining the foundational components
of an information technology (IT)
environment. These processes are crucial
for ensuring the reliability, efficiency, and
security of IT infrastructure.

Referenced from Prof.Redley of CMU 33


© 2023, MSc, NGUYEN TRUNG THUAN
Infrastructure Processes
Common infrastructure processes include:
◼ Network Configuration and Management
◼ Server Provisioning and Management
◼ Storage Management
◼ Security Management
◼ Backup and Disaster Recovery
◼ Capacity Planning
◼ Patch Management
◼ Optimization
◼ Change Management
◼ Documentation and Knowledge Management
Referenced from Prof.Redley of CMU 34
© 2023, MSc, NGUYEN TRUNG THUAN
Project Management Processes
◼ You’ll also need to consider processes
for:
 Project charter and business case
 Project planning
 Project scheduling
 Project budgeting
◼ Project and Program metrics definition,
collection and analysis
 Project tracking
 Project reporting
◼ Project control
Referenced from Prof.Redley of CMU 35
© 2023, MSc, NGUYEN TRUNG THUAN
Quality Processes
◼ Quality planning
◼ Quality assurance (Defect Prevention)
◼ Quality metrics definition, collection
and analysis
◼ System testing
◼ Usability testing
◼ Performance testing

Referenced from Prof.Redley of CMU 36


© 2023, MSc, NGUYEN TRUNG THUAN
Quality Processes
◼ Regression testing
◼ Inspections

Referenced from Prof.Redley of CMU 37


© 2023, MSc, NGUYEN TRUNG THUAN
Support Processes
◼ System packaging and delivery
◼ User documentation & training
◼ User support, Product returns
◼ Problem logging and initial triage
◼ System upgrades and routine software
maintenance
◼ Support metrics definition, collection
and analysis

Referenced from Prof.Redley of CMU 38


© 2023, MSc, NGUYEN TRUNG THUAN
Along with Process ...
◼ Deliverables (Artifacts): The output of each
process. Some deliverables are for internal use
only, while others are packaged with the product
◼ Standards: The rules by which a process is
implemented. Standard electrical plug in
countries, for example
◼ Policies: An order, typically from senior
management, describing expected behavior by
employees
◼ Roles & Responsibilities: Who is responsible for
what and when
◼ Measurement definition, collection and analysis

Referenced from Prof.Redley of CMU 39


© 2023, MSc, NGUYEN TRUNG THUAN
How Much Process Is Right?
◼ Whatever works for your team!
◼ Optimal, yet minimal
 More process is not necessarily better
◼ Each process must be an enabler for
the team
 If it isn’t, change the process until it is
◼ Each team member must buy in to
each process
 If they don’t, find out why and fix it

Referenced from Prof.Redley of CMU 40


© 2023, MSc, NGUYEN TRUNG THUAN
How Much Process When?
◼ Start with:
 Basic Planning
 Change Management
 Quality
◼ Better:
 Add Continuous Integration
◼ Best:
 Use methodology pieces that work for you

Referenced from Prof.Redley of CMU 41


© 2023, MSc, NGUYEN TRUNG THUAN
Tools
◼ Most of the software development
processes can be automated
◼ Many of the available software
development tools are free (open
source)
◼ Make sure that any tools you acquire
integrate well with existing or planned
processes

Referenced from Prof.Redley of CMU 42


© 2023, MSc, NGUYEN TRUNG THUAN
Methodologies
◼ The documented collection of policies and
processes used by a development team
or organization to practice software
engineering is called its software
development methodology (SDM) or
system development life cycle (SDLC)
◼ You can use a defined methodology to
avoid having to define your own
processes
 Traditional
 Agile

Referenced from Prof.Redley of CMU 43


© 2023, MSc, NGUYEN TRUNG THUAN
Group discussion
◼ What are the differences from
Waterfall process compare to SCrum
process (4 students – 10~20 minutes)

Referenced from Prof.Redley of CMU 44


© 2023, MSc, NGUYEN TRUNG THUAN
Example Change Request Process

Referenced from Prof.Redley of CMU 45


© 2023, MSc, NGUYEN TRUNG THUAN
Example Process
◼ Change Request (CR) State Diagram

Referenced from Prof.Redley of CMU 46


© 2023, MSc, NGUYEN TRUNG THUAN
Summary
◼ You will need some amount of process
as soon as you are no longer working
alone
◼ Methodologies can reduce the time
needed to build an agreed upon set of
processes for the team to use
◼ Change a process if it isn’t working for
your team

Referenced from Prof.Redley of CMU 47


© 2023, MSc, NGUYEN TRUNG THUAN
Video link
◼ https://www.youtube.com/watch?v=la
SrDtYtkXU&list=PLCku-
ULHIQvlLC2gFqeoX-JtbEvmeoDhl
◼ https://www.youtube.com/watch?v=5
A5XCuWMG4o&list=PLCku-
ULHIQvlLC2gFqeoX-
JtbEvmeoDhl&index=2

Referenced from Prof.Redley of CMU 48


© 2023, MSc, NGUYEN TRUNG THUAN
References
◼ Ian Sommerville. Software engineering
update 10th edition. Wesley Computer
Publishing 2018 Page: 43 - 100
◼ https://en.wikipedia.org/wiki/Software
_development_process

Referenced from Prof.Redley of CMU 49


© 2023, MSc, NGUYEN TRUNG THUAN

You might also like