5 Ways to Keep Your Software Development Projects Successful!

5 Ways to Keep Your Software Development Projects Successful!

There are so many software development projects which seem doomed from the beginning.  How does this happen?  Why does it happen over and over again?  While software is extremely complicated and managing developers is a very unique skill set, there are some simple concepts that you can follow to help insure that your development efforts will turn out well.

    1. Completely understand the business request.
      While it seems very simple and straight forward, many development efforts fail because the IT group, or developers, will do exactly what the business is asking for.  If development does not take the time to understand the end result and core business need, then they can not do a decent job in creating a successful system.  By understanding the business need, development can offer alternatives, or perhaps a quicker more simple method for accomplishing the desired task. The business will know what they need the system to give them, but they do not always know the best path to get there.   Development must understand and deliver on that path.
    2. Know where the project is heading in the future.
      So many times I have heard developers mention that if they had known the system would be required to do this now they would have programmed everything so much differently.  Systems evolve and grow.  They also become exponentially more complicated the longer they exist.  Knowing what is coming next is hugely important.   Discuss with the business where this system is headed.  What are their goals for the upcoming year or in the long term.   Will the scale of the user base substantially change?  Will the system ever become externally facing?   All of these items should be brought up.   The business very often does not think to share these items with IT.  Sometimes the business has not completely thought them through.   Letting people know that it is important to understand not only the present, but the future of the project, gets them thinking, and gets you the answers you need.
    3. Manage the initial scope of the project.
      With new development there is always the desire to have the system do too much.  Before a system is in production there are a lot of unknowns.  Will the system be used by the user base as we believe it will?   Did we create the core functions well enough to cover our basic needs?  Is the system performing quickly?  Do we need any additional changes to infrastructure?  These are core questions which are not truly answered until the system is launched, or at least in beta testing.   When we spend an unusually long period of time building screen after screen that we think that the users are going to want, we increase the risk of getting it all wrong.  Focus on the core needs of the users.  Get the system created and in production.   It may not meet every need of the business from day one, but it will be online and moving the business forward quicker.  Once you are live, you will find that the user base is letting you know what the important next features are quicker than you would have ever otherwise known.
    4. Create quick iterations of the system
      Once your system is live, prioritize the next launches based not only on what you already had planned, but also incorporating user feedback.   Make these iterations quick and short.  If you are an Agile shop you will most likely be working in 2 week sprints.   If you are a traditional shop you can still use the same principles of Agile to make sure that you are working in quick fashion to add small manageable feature sets at a time.  Listening to the users and choosing the biggest pain points first helps build trust and a bond between IT and the user base.  Creating a long list of features and working them into a six month project that may get delayed just frustrates the user base and creates distrust in development.
    5. Be sure you are prepared for production.
      A very common mistake in development is to not properly prepare the user base for deployment.  Be sure that you have proper training and documentation in place before the system is rolled out.   All too often documentation is saved for "later".   Many times later never actually happens.   Users are forced to learn on the fly.   This interrupts the normal day to day business and once again creates distrust between the users and IT.  Also, be sure that any necessary back up plans are in place.   There is nothing worse than rolling out a system that users love, and then having it crash on you.  Be sure that your system is incorporated into your disaster recovery plan and that there is a backup in place.

All of the items listed above require perhaps one of the most important qualities of any successful development project, communication.  Remember to ask questions and stay in constant contact with your business sponsor.  Understand the business, and help them to understand your process.  In my 20+ year career, this has created trust and success over and over again.

Follow me on my blog at innovate.rubenbuell.com

For consulting or to discuss IT opportunities contact me at [email protected]

要查看或添加评论,请登录

社区洞察

其他会员也浏览了