Improving Effort Estimation in Agile Software Development ProjectsGedi Siuskus
A key principle in agile software development is to manage changing user needs at different phases of the software project development cycle. It splits the development into smaller iterations (sprints) to keep both developers and customers focused on one of them at the time. By planning and working on small consecutive iterations agile teams reduce uncertainty of changing user needs. However this approach has its drawbacks too. It becomes hard for agile team to plan and estimate the whole project in advance accurately as not much information is available. Therefore agile project planning turns into guesstimation of the effort required. It is based on available information about the system requirements and resources available. This paper proposes a method to improve the agile effort guesstimation by applying functional analysis to size user stories. A number of user stories from a media company are obtained to conduct the case study. The COSMIC method is used to size the user stories in functional points. Next those measurements are later applied to calculate the final project effort. The case study concludes that COSMIC user requirements sizing method can improve effort estimation and benefit agile teams in planning projects.
Keywords: agile, effort estimation, user story, function points, COSMIC.
Improving Effort Estimation in Agile Software Development ProjectsGedi Siuskus
A key principle in agile software development is to manage changing user needs at different phases of the software project development cycle. It splits the development into smaller iterations (sprints) to keep both developers and customers focused on one of them at the time. By planning and working on small consecutive iterations agile teams reduce uncertainty of changing user needs. However this approach has its drawbacks too. It becomes hard for agile team to plan and estimate the whole project in advance accurately as not much information is available. Therefore agile project planning turns into guesstimation of the effort required. It is based on available information about the system requirements and resources available. This paper proposes a method to improve the agile effort guesstimation by applying functional analysis to size user stories. A number of user stories from a media company are obtained to conduct the case study. The COSMIC method is used to size the user stories in functional points. Next those measurements are later applied to calculate the final project effort. The case study concludes that COSMIC user requirements sizing method can improve effort estimation and benefit agile teams in planning projects.
Keywords: agile, effort estimation, user story, function points, COSMIC.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
Ignou MCA 6th Semester Synopsis file. This is a proposal file for MCA 6th semester. The project name is Project Management System. It is real world working scenario use by IT companies.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
Ignou MCA 6th Semester Synopsis file. This is a proposal file for MCA 6th semester. The project name is Project Management System. It is real world working scenario use by IT companies.
Explore our comprehensive data analysis project presentation on predicting product ad campaign performance. Learn how data-driven insights can optimize your marketing strategies and enhance campaign effectiveness. Perfect for professionals and students looking to understand the power of data analysis in advertising. for more details visit: https://bostoninstituteofanalytics.org/data-science-and-artificial-intelligence/
Show drafts
volume_up
Empowering the Data Analytics Ecosystem: A Laser Focus on Value
The data analytics ecosystem thrives when every component functions at its peak, unlocking the true potential of data. Here's a laser focus on key areas for an empowered ecosystem:
1. Democratize Access, Not Data:
Granular Access Controls: Provide users with self-service tools tailored to their specific needs, preventing data overload and misuse.
Data Catalogs: Implement robust data catalogs for easy discovery and understanding of available data sources.
2. Foster Collaboration with Clear Roles:
Data Mesh Architecture: Break down data silos by creating a distributed data ownership model with clear ownership and responsibilities.
Collaborative Workspaces: Utilize interactive platforms where data scientists, analysts, and domain experts can work seamlessly together.
3. Leverage Advanced Analytics Strategically:
AI-powered Automation: Automate repetitive tasks like data cleaning and feature engineering, freeing up data talent for higher-level analysis.
Right-Tool Selection: Strategically choose the most effective advanced analytics techniques (e.g., AI, ML) based on specific business problems.
4. Prioritize Data Quality with Automation:
Automated Data Validation: Implement automated data quality checks to identify and rectify errors at the source, minimizing downstream issues.
Data Lineage Tracking: Track the flow of data throughout the ecosystem, ensuring transparency and facilitating root cause analysis for errors.
5. Cultivate a Data-Driven Mindset:
Metrics-Driven Performance Management: Align KPIs and performance metrics with data-driven insights to ensure actionable decision making.
Data Storytelling Workshops: Equip stakeholders with the skills to translate complex data findings into compelling narratives that drive action.
Benefits of a Precise Ecosystem:
Sharpened Focus: Precise access and clear roles ensure everyone works with the most relevant data, maximizing efficiency.
Actionable Insights: Strategic analytics and automated quality checks lead to more reliable and actionable data insights.
Continuous Improvement: Data-driven performance management fosters a culture of learning and continuous improvement.
Sustainable Growth: Empowered by data, organizations can make informed decisions to drive sustainable growth and innovation.
By focusing on these precise actions, organizations can create an empowered data analytics ecosystem that delivers real value by driving data-driven decisions and maximizing the return on their data investment.
Opendatabay - Open Data Marketplace.pptxOpendatabay
Opendatabay.com unlocks the power of data for everyone. Open Data Marketplace fosters a collaborative hub for data enthusiasts to explore, share, and contribute to a vast collection of datasets.
First ever open hub for data enthusiasts to collaborate and innovate. A platform to explore, share, and contribute to a vast collection of datasets. Through robust quality control and innovative technologies like blockchain verification, opendatabay ensures the authenticity and reliability of datasets, empowering users to make data-driven decisions with confidence. Leverage cutting-edge AI technologies to enhance the data exploration, analysis, and discovery experience.
From intelligent search and recommendations to automated data productisation and quotation, Opendatabay AI-driven features streamline the data workflow. Finding the data you need shouldn't be a complex. Opendatabay simplifies the data acquisition process with an intuitive interface and robust search tools. Effortlessly explore, discover, and access the data you need, allowing you to focus on extracting valuable insights. Opendatabay breaks new ground with a dedicated, AI-generated, synthetic datasets.
Leverage these privacy-preserving datasets for training and testing AI models without compromising sensitive information. Opendatabay prioritizes transparency by providing detailed metadata, provenance information, and usage guidelines for each dataset, ensuring users have a comprehensive understanding of the data they're working with. By leveraging a powerful combination of distributed ledger technology and rigorous third-party audits Opendatabay ensures the authenticity and reliability of every dataset. Security is at the core of Opendatabay. Marketplace implements stringent security measures, including encryption, access controls, and regular vulnerability assessments, to safeguard your data and protect your privacy.
As Europe's leading economic powerhouse and the fourth-largest hashtag#economy globally, Germany stands at the forefront of innovation and industrial might. Renowned for its precision engineering and high-tech sectors, Germany's economic structure is heavily supported by a robust service industry, accounting for approximately 68% of its GDP. This economic clout and strategic geopolitical stance position Germany as a focal point in the global cyber threat landscape.
In the face of escalating global tensions, particularly those emanating from geopolitical disputes with nations like hashtag#Russia and hashtag#China, hashtag#Germany has witnessed a significant uptick in targeted cyber operations. Our analysis indicates a marked increase in hashtag#cyberattack sophistication aimed at critical infrastructure and key industrial sectors. These attacks range from ransomware campaigns to hashtag#AdvancedPersistentThreats (hashtag#APTs), threatening national security and business integrity.
🔑 Key findings include:
🔍 Increased frequency and complexity of cyber threats.
🔍 Escalation of state-sponsored and criminally motivated cyber operations.
🔍 Active dark web exchanges of malicious tools and tactics.
Our comprehensive report delves into these challenges, using a blend of open-source and proprietary data collection techniques. By monitoring activity on critical networks and analyzing attack patterns, our team provides a detailed overview of the threats facing German entities.
This report aims to equip stakeholders across public and private sectors with the knowledge to enhance their defensive strategies, reduce exposure to cyber risks, and reinforce Germany's resilience against cyber threats.
1. •1
Learning Resource
On
Software Project Management
Chapter-3
Step Wise Approach for Planning Software Projects
Prepared By:
Kunal Anand
Assistant Professor, SCE
KIIT, DU, Bhubaneswar-24
2/6/2023
2. •2
‘Step Wise’ - aspirations
• Practicality
– tries to answer the question ‘what do I do now?’
• Scalability
– useful for small project as well as large
• Range of application
• Accepted techniques
– e.g., borrowed from PRINCE etc
2/6/2023 School of Computer Engineering
3. •3
‘Step Wise’ - an overview
2/6/2023 School of Computer Engineering
4. contd..
• Select project There must be some process by which the
project to be executed was selected.
• Identify project objectives: It is important that at the outset
the main stakeholders are all aware of the precise objectives of
the project.
• Identify project infrastructure This may not be a significant
step where you are working on an in-house project in a very
familiar environment. However, where the project is being
carried out for external clients then you may need to
investigate the characteristics of the environment in which the
project is to be carried out.
2/6/2023 School of Computer Engineering •4
5. contd..
• Analyse project characteristics: Different types of project
will need different technical and management approaches.
– For example, a project to implement control software
embedded in industrial equipment will need a different set
of methods than a project to implement a business
information system. A multimedia application would again
need a different set of activities. (This is not to say that
there could not be considerable overlaps in the approaches).
• Identify products and activities: With software projects, it is
best to start by listing the products, both deliverable and
intermediate, to be created. The activities needed to create the
products can then be identified.
• Estimate effort for activity: For each activity, the effort, time
and cost needs to be determined.
2/6/2023 School of Computer Engineering •5
6. contd..
• Identify activity risks: Having assessed the amount of effort and
the elapsed time for a project, the reasons why these might vary
during the actual execution of the project need to be considered.
Where there is a very high risk of additional effort/time being
needed then actions to reduce this risk may be formulated.
• Allocate resources With software projects, these resources will
mainly be staff, but could be equipment etc.
• Review/publicize: It is no good having a plan if no one knows about
it.
• Execute Plan: The actual implementation of the plan.
• Lower-level planning Not all of a project, especially when it is
large, can be planned in detail at the outset. Not all the information
needed to plan the later stages will be available at the beginning: for
example: software development cannot be broken down into precise
sub-tasks with realistic target times until more is known about what
the overall design of the system is known.
2/6/2023 School of Computer Engineering •6
7. •7
A project scenario: Brightmouth College Payroll
• College currently has payroll processing carried out by a
services company
• This is very expensive and does not allow detailed analysis of
personnel data to be carried out
• Decision made to bring payroll ‘in-house’ by acquiring an
‘off-the-shelf’ application
• The use of the off-the-shelf system will require a new, internal,
payroll office to be set up
• There will be a need to develop some software ‘add-ons’: one
will take payroll data and combine it with time-table data to
calculate the staff costs for each course run in the college
• The project manager is Brigette.
2/6/2023 School of Computer Engineering
8. •8
Step 1: Establish project scope and objectives
1.1 Identify objectives and measures of effectiveness
– ‘how do we know if we have succeeded?’
1.2 Establish a project authority
– ‘who is the boss?’
1.3 Identify all stakeholders in the project and their interests
– ‘who will be affected/involved in the project?’
1.4 Modify objectives in the light of stakeholder analysi
• ‘do we need to do things to win over stakeholders?’
1.5 Establish methods of communication with all parties
– ‘how do we keep in contact?’
2/6/2023 School of Computer Engineering
9. •9
Back to the scenario
• Project authority
- Brigette finds she has two different clients for the new
system: the finance department and the personnel office.
A vice principal agrees to be official client, and monthly
meetings are chaired by the VP and attended by Brigette
and the heads of finance and personnel
- These meetings would also help overcome
communication barriers
– Stakeholders
– For example, personnel office would supply details of
new staff, leavers and changes (e.g. promotions)
– To motivate co-operation Brigette might ensure new
payroll system produces reports that are useful to
personnel staff
2/6/2023 School of Computer Engineering
10. •10
Step 2: Establish project infrastructure
2.1 Establish link between project and any strategic plan
– ‘why did they want the project?’
2.2 Identify installation standards and procedures
– ‘what standards do we have to follow?’
(change control and configuration management
standards, quality standards and procedure manuals,
measurement)
2.3. Identify project team organization
– ‘where do I fit in?’
(SW developers, business analyst, business-to-customer
web application group, database group)
2/6/2023 School of Computer Engineering
11. •11
Step 3: Analysis of project characteristics
3.1 Distinguish the project as either objective or product-based.
– Is there more than one way of achieving success?
3.2 Analyze other project characteristics (including quality-based
ones)
• what is different about this project?
3.3 Identify high level project risks
– ‘what could go wrong?’
– ‘what can we do to stop it?’
3.4 Consider user requirements concerning implementation
3.5 Select general life cycle approach
– waterfall? Increments? Prototypes?
3.6 Review overall resource estimates
– ‘does all this increase the cost?’
2/6/2023 School of Computer Engineering
12. •12
Back to the scenario
• Objectives vs. products
– An objective-based approach has been adopted
• Information based or Embedded; Critical or non-critical?
– Payroll system is an information-based project. Again, it is
not a critical one.
• Some risks
– There may not be an off-the-shelf package that caters for
the way payroll is processed at Brightmouth College
• Answer?
– Brigette decides to obtain details of how main candidate
packages work as soon as possible; also, agreement that, if
necessary, processes will be changed to fit in with new
system.
2/6/2023 School of Computer Engineering
13. •1
3
Step 4: Identify project products and activities
• Here we follow the PRINCE approach of firstly identifying the
products to be created.
• These products could be deliverables that will eventually be
handed over to the customer, or intermediate products such as
specifications and design documents, that are produced along
the way.
2/6/2023 School of Computer Engineering
14. contd..
• In Payroll system scenario:
– one set of products will relate to the products needed to
produce one or more invitations to tender (ITTs) to
supply the hardware and software needed to operate the
new payroll application.
– In order to allow the most suitable configuration to be
identified, the number of transactions and the size of the
database needed will have to be identified – volume
figures.
– To set up an appropriate network attached to secure printers
and servers, a layout of the proposed office will need to be
created.
2/6/2023 School of Computer Engineering •14
15. contd..
– A user requirement will need to be produced which
describes the existing system, identifies additional
requirements (such as the need to be able to access database
details in order to produce one-off queries and reports)
– some test data and expected results which further
illuminate the details of the requirements. This test data
could form the basis of user acceptance tests.
– A list of potential suppliers to whom ITTs could be sent
will be needed, and the actual ITT itself which will, among
other things, explain how the proposals of potential
suppliers are to be submitted.
2/6/2023 School of Computer Engineering •15
16. •16
Products
–
2/6/2023 School of Computer Engineering
• The result of an activity
• Could be (among other things)
• physical thing (‘installed pc’),
• a document (‘logical data structure’)
• a person (‘trained user’)
• a new version of an old product (‘updated software’)
• The following are NOT normally products:
• activities (e.g., ‘training’)
• events (e.g., ‘interviews completed’)
• resources and actors (e.g., ‘software developer’) - may be
exceptions to this
• Products CAN BE deliverable or intermediate
17. •17
Product Description (PD)
• Product Identity – the idea
• Description - what is it?
• Derivation - what is it based on?
• Composition - what does it contain?
• Format – how it looks like
• Relevant standards
• Quality criteria whether the product is acceptable
2/6/2023 School of Computer Engineering
18. • What would be the product breakdown structure of the
deliverables of the vendor who would develop the
Brightmouth College payroll software by customizing one
of its existing products?
•1
8
Exercise
2/6/2023 School of Computer Engineering
19. • 4.2 document generic product flows
❑ A program design must be created before the program
can be written and program specification must exist.
❑ The relationships can be portrayed in a Product Flow
Diagram (PFD).
❑ Flow on the diagram to be from top to bottom and left
to right.
❑ User requirement is an oval.
•19
2/6/2023 School of Computer Engineering
20. contd..
•20
PFD for a software development task
2/6/2023 School of Computer Engineering
21. • Draw up a possible Product Flow Diagram (PFD) based
on Product Breakdown Structure (PBS) to identify some
of the products of Brightmouth payroll project based on the
information gathered. This is to be presented to potential
supplier of the hardware as a part of an ‘invitation to the
tender’.
The volume of figures are the number of employees for
whom the records will have to be maintained.
•21
Exercise
2/6/2023 School of Computer Engineering
23. •23
contd..
4.3 Recognize product instances
– The PBS and PFD will probably have identified generic products
e.g., ‘software modules’
– It might be possible to identify specific instances e.g., ‘module
A’, ‘module B’ …
– But in many cases, this will have to be left to later, more
detailed, planning
4.4. Produce ideal activity network
– Identify the activities needed to create each product in the PFD
– More than one activity might be needed to create a single
product
– Hint: Identify activities by verb + noun but avoid ‘produce…’
(too vague)
– Draw up activity network
2/6/2023 School of Computer Engineering
25. 4.5 Add check-points if needed
• An activity will start as soon as the preceding ones are
completed.
• Sometimes as per need, divide the project into stages
and introduce a check point activities.
• Check point ensures the preceding activities together
are complete and compatible.
• This may delay work on some elements of the project.
• There should be a trade-off between efficiency and
quality.
•25
contd..
2/6/2023 School of Computer Engineering
26. •26
contd..
Design
module A
Design
module B
Design
system
Design
module C
Code
module A
Code
module B
Code
module C
Test
system
Design
module A
Design
module B
Design
system
Design
module C
Code
module A
Code
module B
Code
module C
Test
system
Check-point
put in a
check point
2/6/2023 School of Computer Engineering
27. •27
Step 5: Estimate effort for each activity
5.1 Carry out bottom-up estimates
– distinguish carefully between effort and elapsed time
– Effort is the total number of staff-hours (or days etc)
needed to complete a task.
– Elapsed time is the calendar time between the time task
starts and when it ends.
– (Ex: 2 persons work for 2 days; the effort is 4 staff-hours,
but the elapsed time is 2 days.)
5.2. Revise plan to create controllable activities
– break up very long activities into a series of smaller ones
– bundle up very short activities (create check lists?)
– Ex: If an activity involving system testing is to take 12
weeks, it is difficult after six weeks to judge whether 50%
work is completed.)
2/6/2023 School of Computer Engineering
28. •28
Step 6: Identify Activity Risks
6.1 Identify and quantify risks for activities
– Damage, if risk occurs (measure in time lost or money)
– Likelihood, if risk occurring (most likely estimate)
6.2 Plan risk reduction and contingency measures
– risk reduction: activity, to stop risk occurring
– contingency plans specify actions to be taken if risk
materializes e.g., use a contract staff if a project
member is not available or sick.
6.3 Adjust overall plans and estimates to take account of
risks
– e.g., add new activities which reduce risks associated
with other activities
2/6/2023 School of Computer Engineering
29. •29
Step 7: Allocate resources
7.1 Identify and allocate resources to activities
• staff available for the project are identified and are
provisionally allocated to tasks
7.2 Revise plans and estimates to consider resource
constraints
– e.g., staff not being available until a later date
– non-project activities
2/6/2023 School of Computer Engineering
30. •30
Gantt charts
Obtain user
requirements
Plan office layouts
Week
commencing
5 12 19 26
MARCH APRIL
9 16
Analyse existing
system
2
Draft and issue ITT
Business analyst
Systems assistant
Business
analyst
Premises office
LT = lead tester
TA = testing assistant
Survey potential
suppliers
Generate test cases
Calculate volumes
Business analyst
Finance assistant
Systems assistant
ITT = Inf. Tech. transfer
2/6/2023 School of Computer Engineering
31. •31
Design module A
Design module B
Device integration
test cases
Test and integrate
software
Specify overall
system
Code module A
Code module B
January February March April May
Jane
Jane
Fred
Fred
Avril
Avril
John
Gantt chart showing the staff will carry out tasks
2/6/2023 School of Computer Engineering
32. •3
2
Step 8: Review/publicize plan
8.1 Review quality aspects of project plan
– ensure the quality criteria has been ensured before
completion of the project.
8.2 Document plan and obtain agreement
Step 9 and 10: Execute plan and create lower-level plans
2/6/2023 School of Computer Engineering