These slides were used at Coffee Jug meetup, we discussed technical initiatives:
- why do we need tech improvements
- how to work with technical improvements
- how to estimate time for implementing that improvement
For who:
- beginners who are inspired to make improvements to their project
- experienced people who wants to get to know more about estimation techniques
Relevance
Sometimes proactive beginners face a case when they have a desire to provide something new to the project, improve something but angry Tech Leads don't allow all those changes. We discussed whether Tech Leads allows nothing to change and how to increase chances for technical initiative to be implemented.
Sometimes teams give non accurate estimate and face situations when deadline is met, but piece of work is not done. We discussed how it is possible to improve accuracy of estimates
Technical improvements. Reasons. Methods. Estimations. CJ
1. How to work with
technical improvements
Reasons
Methods
Estimations
2. About me
● Java Software Engineer at Levi9
● Master Degree in Software Engineering NTUU KPI
● Experience with at project in Healthcare, FinTech,
Media/Marketing, Office Process Automation
● Like mentoring and help others to learn and grow, have
Java Kindergarten
Random fact:
● All the windowsills at home are lined with plants
2
4. 4
Rules and Abbreviations
• 3 blocks with short breaks
• Ask questions after a block of information
• Be active when there are questions for the audience
• Fill in the form I share after 1st block
• Be open to share your feedback later
What abbreviations might be on slides?
• TI = Technical Initiative (Idea)
• S = Service
• T = Team
• VS = Value Stream / Tribe
13. 13
• What services are there?
• How many services are there?
• How do they relate to each other?
• Is it easy to make changes with that structure?
Is it easy to promote idea of
improvement?
Project –>
Architecture ->
• Size
• Product
• Organizational structure and management
14. 14
• Project size = functionality + services to support
+ people + client support
• Small project -> easier
• Large project –> more complicated
Project size
15. 15
Products and Their Support
● 1 single product or a few different products?
Small separated parts -> easier
● Is it just a product (box) or you have production? Does someone
dependent on your service?
A few products:
● Are these products related to each other?
Yes —> more complicated
No —> less complicated
● Is their stack similar to other services in the product?
● How are they bounded?
16. 16
• Company policies
• How many teams at the whole project
• How they communicate to each other?
• Who make a final decision?
Organizational Structure and
Management
17. 17
• Project size
• Products
• Architecture
• Deployment
• People organizational structure
Summary. What influences?
22. 22
Tech Lead / Principal decided that we need to decrease cost
and start use Azure instead of AWS
Who should be involved?
Question:
Is there difference in complexity in according
with different project setups?
24. 24
Task: Migration to new user id approach
You have a product that integrates with core service of a client. So users
have ids in your system (internal) and in a customer system (external).
TI: migrates to support only internal ones.
Question: Global or Inner-Team?
25. 25
● TI – awesome idea, how to solve, improve or optimize something
● Any person from the team can be an initiator
● Complexity of promotion of the idea depends on
project size
products
architecture
deployment
organization structure
● There are 2 types of initiatives: global and inner-team
Summary
30. 30
• Timeline: 2 sprints (3 weeks)
• What should be done:
job that removes by ids old reminders,
add a new index in a reminder table
• Release: after the next one
What should be done? Estimate
31. 31
What are we having?
This should be easy engineer
3 weeks
Real estimate
5 months (Breaking change
release)
32. 32
What was not considered?
Breaking
changes
1
Changed
in DB
structure
2
Testing
3
33. 33
How does it influence team?
Deadline
is very
soon
1
No
proper
testing
2
Changes
in DB of
the client
3
34. 34
Case 1:
● You are a developer in a team that is a part of VS
● You got an info about such an initiative
What to start from?
35. 35
Case 2:
● You have an idea how to improve process
● How to make it doable
What to start from?
36. 36
1 - Understand the purpose
Problem Benefits Cons
Is it worth
Extra
questions
37. 37
2 - Identify policies
Is it secure? Is it allowed?
How to release
and support it?
38. 38
3 - Define if the service is affected
Internal
investigation
Is it applicable?
How many
‘places’ are
affected?
39. 39
4 - Define priorities
What are we
doing now?
Is there
timelines?
How much is it
important?
40. 5 - Technical plan (high-level)
Project
complexity
1
Project / team
dependencies
2
Involved
team-
members
3
Splitting on
the tasks
roughly
4
41. 41
Summary (1-5)
Implementor Author
Step 1 - Purpose Understand it Provide meaningful description
Step 2 – Identify policies Double-check policies Check policies
Step 3 – Define if service is
affected
Check Check own part, explain how to
check
Step 4 – Define priorities Check if it correlates with current
plan
Provide info how it is important +
inquire high level PO’s plans
Step 5 – Technical plan Detailed plan inside the team High-level plan for teams
42. 42
6 – Estimate (why)
Stakeholders
Time
Effort
Money -> Budget
Team
What to do and how long
No daunting deadline
45. What determines an accuracy of estimate?
Experience
of team /
team
member
1
Team
awareness
2
Team
capacity
3
Tech debt
4
46. 46
Before start of working on technical initiative it is required to analyze it:
• purpose
• policies
• if it is applicable
• priorities
• technical plan
Estimation
• Time is more meaningful for the team
• Depends on: experience, team awareness, capacity, tech debt
Summary
49. III. Methods for estimation
49
How to consider everything and give timeline
50. 50
• Relies on an expert’s ‘gut feeling’ to estimate project
• Collaboration with other team members, consultants
• Biases, such as overconfidence, that could skew your data.
The best choice if evaluating risk is a priority for you
Expert Judgement
52. 52
Top-down. Pros and cons
1 - No time consuming
2 – Works at the very beginning of
the project
3 - Might be done by a person with
high-level knowledge
1 - Not a best choice for a technical
people, who will implement that
2 - Needs historical info or info
about similar projects/tasks
3 - Least accurate
54. 54
The best choice when you have no experience in such kind of TIs
Bottom-up. Pros and cons
1 - Time consuming
2 – Involving team
members, who has hands-
on knowledge
1 - Low level estimation
2 - Involving all team
members
3 - Enough accurate
55. 55
• Based on previous experience
• Compares similar past projects
• Adjust difference between past projects and present projects
• Only rough estimation
• Based on previous projects
Analogues and Parametric
56. 56
The best choice when you have very limited data
Analogues. Pros and cons
1 – Relies on previous
experience or projects
2 – Not accurate
3 – Not a good option for non-
initial stage of the project
1 – No time consuming
2 – Good option when you
have no much data
57. 57
What to do with lack of experience?
External
consultation
Google PoC
Investigation
58. 58
Team with … developers
(Junior/Middle/Senior) and … QAs
can finish implementation of this
initiative in … weeks/months
Summary of estimate
60. 60
Are team members aware of such a technology?
Is it important to get to know extra information?
TESTING + IMPLEMENTATION + RISK = ESTIMATION (SPs)
Ticket refinements
65. 65
• Technical initiatives are good instrument for high product quality
• Anyone can start the process of improvement
• Don’t worry if it is not easy to promote your idea, just choose the algorithm
regarding your organizational structure
• Inner-team initiatives might be easier handled
• Before implementing technical initiative it is required to analyze it
Summary
66. 66
Plan of TI analyzation
Understand the
purpose
Identify policies
Define if the
service is affected
Define priorities Define tech plan Estimate
67. 67
• Estimate in time is more meaningful and it depends on experience, team
awareness, capacity, tech debt
• There are a few useful method for estimations: Top-down, Bottom-up,
Analogues and Parametric
• As a result, detailed technical plan should be created: tickets, refinements,
plannings
• Don’t forget to pick-up that planned work
Summary
68. 68
Final Truth
Not to prove you
are x10 engineer
Not a commitment
Information for
PMs/POs
Informed
guesstimate
Remember nothing
goes well