Ten things you should consider when making software development estimations

  1. The learning curve. It includes three things: understanding the requirement in detail, validating your understanding, and learning more about the subject. A developer is not a business expert and needs to know the business to understand the requirements.
  2. A developer doesn’t sit on his/her desk and starts coding just like plugging a laptop. Before starting coding, a software developer needs to define what the data structure is, what are the data types, where each field comes, what happens when a user does XYZ action. This step can be called Technical Design, and it is a necessary step.
  3. Testing. Development doesn’t mean testing in a lot of the situations, but it’s impossible to develop something based on the requirements if you never checked what you produced.
  4. Documentation. Depending on the project and technology, this could be minutes or days.
  5. Merges. I think any developer spent a least one day in merging an old branch, which in theory is a maximum of 1-hour work.
  6. Deployment in multiple environments. A developer code locally most of the time, he/she needs to deploy the deliverables on the development, staging, and production server. Even with automated deployment, this requires some effort.
  7. Bug fixing. Everyone wants a bug-free solution. There is the expectation that the technical team is fixing the bugs.
  8. Code refactoring is the natural process of cleaning and simplifying the code of specific functionality. The refactoring process can bring increased performance, faster troubleshooting, shorter maintenance times. It is essential to consider it in the development of multiple features.
  9. Communication. We need to communicate with our colleagues, our clients, align ourselves as a team on a daily bases. That’s all part of the development process.
  10. Business Validation. From showing the functionality to the managers / Product Owner to validating that the development meets their requirements, it is part of the validation process.

👩🏻‍🔧Orli.ai — Scrum bot for Discord 🎯Agile Coach📍Lille, France, 😱NEW Agile video every Tue: Subcribe to my YouTube channel: shorturl.at/lnxG9

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

10 Essential Data Science Packages for Python

10 Essential Data Science packages for Python

Scaling Machine Learning Models with Kubernetes and Google Cloud Platform — Part 2

Marketplace V2 Upgrade: Auctions + Instant Buy + Degrees of Exclusivity.

Paving the Way for Networking Workloads in Kubernetes

Revision 6.4: DASH File Format Specification and File Intercommunication Architecture.

Light Probes in Unity

Why Development Is the Most Meaningful Work You’d Ever Find

Person thinking


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Anca Onuta

Anca Onuta

👩🏻‍🔧Orli.ai — Scrum bot for Discord 🎯Agile Coach📍Lille, France, 😱NEW Agile video every Tue: Subcribe to my YouTube channel: shorturl.at/lnxG9

More from Medium

How to reduce your Technical Debt footprint

Will Scrum be effective for Remote Software Development?

Fully Remote

Things that we talk about Agile Coaching