When you look back at a project and you think about what you could have done differently, you should write these down and look at them before you start the next project so you don't do the same again.
In this post I share some of the lessons I've learned in my career when delivering software.

1. Don't over promise and under deliver.

If there is a chance you are going to miss a deadline, you should let your boss or the client know as soon as possible. If they know in advance, they will appreciate the warning and may be able to agree a new deadline. If the deadline can't be moved you may be able to get extra resource to help. This is far easier and less stressful when you know in advance rather than too close to the deadline.

2. Spend more time in the planning phase.

People dive in to writing code too soon on a lot of projects because they are eager to get going. You should make sure you have all of the requirements, functional spec and diagrams completed and signed off before you write any code. Learn more about this in my other post 7 vital steps for delivering a successful software project.

3. Allow more time for testing.

When a project is overrunning, one of the first casualties is usually testing. This is bad because it is harder to fix bugs in a live project than when it is in the development/test environment. Set aside plenty of time for testing and fixing the bugs found in the testing.

4. Keep track of how long things take.

When it comes to quoting for jobs you will struggle to estimate how long it will take unless you have recorded it for similar jobs. One step further would be to track how many pomodoros it takes to complete a task. Learn more about this in my post about The Pomodoro Technique®.

5. Avoid shiny toy syndrome.

When deciding what technology to use for a specific project you need to avoid choosing something just because it is new and you are looking forward to trying it out. Make sure you do your research and use the right tool for the job. If the right tool turns out to be the shiny new tool then great, otherwise you will probably find the quickest and most appropriate one is probably the one you've used many times before.

If you have any lessons you have learned, please add them in the comments.

Want to thank me?

If I've helped you out and you want to thank me, why not buy me a coffee?

Buy me a coffee

About the author

Paul Seal

Umbraco MVP and .NET Web Developer from Derby (UK) who specialises in building Content Management System (CMS) websites using MVC with Umbraco as a framework. Paul is passionate about web development and programming as a whole. Apart from when he's with his wife and son, if he's not writing code, he's thinking about it or listening to a podcast about it.

Related Posts

Great Developers are Curious

In this post I talk to you about being curious as a developer and why i think it is an important ski…

Read Post

The importance of writing a good question before you ask for help online

This post explains the importance of writing a good question before you ask for help online

Read Post

Boosting your career by creating a personal brand

In this post I share the content of the talk I did at the Umbraco UK Festival 2018 about how to boos…

Read Post

5 things a developer should do before asking for help

In this post I give you my opinions and experience about when I think you should ask for help and wi…

Read Post