Completing projects on time and under budget is required for success in any profession.
That is why this question submitted by a software developer on how to complete assigned projects or tasks is a must read.
If you need help with a Question or Challenge, be sure to submit your question as a comment on this page and I will answer it fully just as I am answering this reader’s question below!
If you enjoy reading this post, please be sure to … Share this Post with Friends
Here is the Reader’s Question
I am a software developer. I like to solve problems.
I like to identify tasks that are done in complex processes and simplify them. So, I decided that I would follow my passion with software development because i understand software development is about solving problems.
I love programming. It gives me joy. But the problem I have is that I start applications and don’t finish them.
I found out that I have a pattern of starting applications and after the GUI or design stage, I tend to leave them and start something else when i get to a point that i can’t solve.
I also found out that I tend to leave and start new ones because I feel I could do better with the
As a result of these, I have a pile of unfinished applications that are products of really good ideas.
This problem is almost costing my job.
How To Complete What You Start Or Stop Doing Things Halfway
Software Developers often run into this challenge when they underestimate the complexity of their programming assignments or tasks or go about the software development in an unstructured manner.
Here are some tips on how to avoid that …
Plan Your Programming Tasks
Start by listing the types of tasks that you will be performing. These tasks will depend on the type of application that you are building but will generally include database design & development, user interface design & development and some custom business logic.
Your list of tasks will also include business analysis / requirements documentation, software testing / QA review and support / maintenance tasks.
Assign a duration or time to each task as part of your estimation and planning process.
This exercise will help you estimate the amount of time you will need to complete the application.
Design your Application Before Coding
Design your databases, including the table relationships, primary / foreign keys first.
Then proceed to the GUI. You don’t have to build the GUI yet, just list out all the screens that will be needed first and then the purpose of each screen and the fields that are needed on the screen.
Finally, give some thought to your business logic.
If you are programming with a modern, object oriented language like Microsoft.NET (C#, ASP.NET, Visual Basic.NET), you will have to organize your code into classes with properties, methods and events.
A common mistake is to start coding the application logic without considering the organization, purpose or relationship between the classes in the application.
This mistake is sometimes due to the assumption that planning, designing or architecting the classes used in the application can be done on the fly … don’t make that mistake 🙂
This exercise will help you estimate the complexity of your project.
Follow An Agile Software Development Process
Cowboy Coders are no longer heroes. Agile Software Developers Are King.
Learn how to code in an agile, iterative fashion and you will improve dramatically on completing your programming tasks or projects.
The beauty of agile programming is that it allows you to build working versions of your software all the time.
Because your employer receives working or updated versions of your software frequently, they will want to share their feedback or excitement which motivates you towards completing the next working version.
Breaking up a task into smaller pieces which are more easily accomplished is key to successfully completing your coding projects because that is how we get naturally get things done!
Finally, note that handling complexity in coding is key to successful application development.
Completing what you start is achieved by first planning your programming tasks, designing your application on paper and coding in an iterative, agile manner.
The lesson learnt here is that completing projects or tasks requires wearing both project management and business analysis hat!