How do you keep control of your software development?

by Donald Lowe

January 14, 2018

Many businesses struggle with combining the delivery of software projects with smaller jobs

With the increasing use of computers and specialised software programmes more and more businesses are finding they need to get involved in some form of software development. Many businesses are frustrated by lower than expected productivity of their software development teams or suppliers.

Why are non-software development companies having to build their own software? The answer is simple. Businesses need to become more and more effective to remain competitive. They need to automate repetitive work and use the internet to expand their customer reach. Each and every business has their own processes, some of these are similar to other businesses, many processes are unique to an individual business or type of business. As a result, managers often find they need to develop or customise their software in order to give their business an advantage in the market.

So if you feel you are facing this problem you are not on your own, you are a member in a fairly large club, that has members in virtually every country around the world.

Are these software development problems familiar to you?

  • There is a large backlog of issues that need to be dealt with by the software development team.
  • Deliveries are normally late and full of defects.
  • The development team is working a lot of overtime and costs are out of control.
  • Quite often when a delivery is made, your staff do not get what they need and were expecting.

unhappy customer that is frustrated with their software solutions never working

How do problems in software development affect other areas of the business?

It will come as no surprise that problems with the software development will also have many knock-on effects across the company.

  • Is your finance department screaming about cost overruns in the development team?
  • Does it seem each release costs more, takes longer, and the business value in the release is less?
  • Do your management teams need to move faster to capitalise on commercial opportunities, but are being held up by poor delivery?
  • As an owner or CEO, are you concerned about the impact that missed milestones have on market position and company value?
  • Is the marketing team complaining that they cannot get their campaigns running?
  • Conflicts between departments to get their development work prioritised.
  • Are staff complaining that they have to enter the same data multiple times in different systems?
  • Do you have processes that should be automated but are not?
  • Are staff wasting time doing repetitive work manually?
  • Do you have to employ more staff or pay overtime to get work done, that could be automated?
  • Are your weekly management meetings turning into an outlet of pent-up frustrations and recriminations?

Is it time to change the status-quo and start delivering great results?

Are you looking for a way to make those painful meetings a thing of the past?

A future where:

  • You know that all those small jobs in the backlog will be done, developed and delivered in a reasonable time frame.
  • You are confident that individual projects can be started and delivered within the budget and timescales agreed.
  • Making a major change in the business digital systems may be hard work, but you are confident that they will be done effectively and within the budget and time limits that you can afford.
How useful will it be for you and your senior managers to have full control over the software development, while still being able to take on all the other important engagements and activities?

What value would an effective and efficient software development department be to your company? How will it impact your staff when they know they can ask for new capability in the software they use and know that it will be delivered in a reasonable time frame? What will be the benefit to your customers? How will your bottom line improve by reducing cost overruns? Will improvements enable you to increase revenue generation?

happy customer now that the software always works

Laying the foundation for delivering quality defect free software on time and in budget

There are many factors that affect software development productivity. Let us start with laying the foundation, creating a management structure that facilitates communication and accountability across the organisation. We have used this to great affect with our partners enabling them to have a clear overview and full control on the work that needs to be done.
software portfolio overview working together with maintenance and continuous enhancements, project and programme work streams
The structure we use and recommend divides software development into three classifications:
1. Maintenance & Continuous Enhancement Work Stream (Small jobs)
2. Project Work Stream (Medium Size Jobs)
3. Programme (Large jobs comprising of two or more projects)

Software Portfolio Management

Software portfolio management enables you to prioritise the combination of software development initiatives to get the most value out of your resources in the time available. Prioritising and scheduling the work based on business value and the ability of the team to deliver will show you benefits can be measured directly in:

  • Financial benefits to the business.
  • Greater control with reduced time wasted on following up on work.
  • Improved communication.
  • Improved long term as well as short term planning.
  • Happier staff.
These benefits are achieved through using three distinct types of work streams. Each work stream is based on the cost & level of management needed to successfully deliver working code and new capability to the business.

Continuous Enhancements & Maintenance Work Stream

Forbytes Continuous Enhancements and Maintenance work stream overview for portfolio management software development
This work stream is used to prioritise and manage all the smaller and lower cost jobs that need to be carried out by the software development team. Each work item requires relatively few people, maybe as few as two people (end user and a developer) to define, design and deliver in the finished product. Due to the nature of this work, senior management does not need to get involved in the detail of the work to be done.

Continuous enhancements can be defined as any improvement or maintenance work that will take less than 4 weeks to design, develop and deliver and comes in at a relatively low cost.

Project Work Stream

Forbytes Project Work stream overview for Portfolio Management independent projects PIM Change integration platform change software development
Projects will take longer and require more effort to define, design, develop and deliver. The successful delivery of a project will at a minimum involve people from one of the operational departments and the software development experts. The roles can cover up to seven different roles at a minimum and include but is not limited to:

1. Product owner
2. Business analysis
3. Project manager
4. UI/UX expert
5. QA/Tester
6. Backend Developer(s)
7. Frontend Developer(s)

A software project will normally take between one to six months from start to finish. A CEO or business owner may delegate the decision making for a project to the relevant department head that has requested the project.

Programme Work Stream

Forbytes programme management overvire for portfolio management work stream ERP system change warehouse management system webshop software development
The programme work stream is extremely useful for major change initiatives within the business. A programme is normally initiated to make changes that directly impact the future of the business. Programmes consist of two or more projects that may be implemented either in parallel or sequentially. Due to the impact on the business a CEO / business owner will require at a minimum a weekly update on progress of the programme and its individual projects.

Some of the benefits for you if you adopt portfolio management

The combination of using the three delivery structures within portfolio management allows senior management to use their valuable time to their greatest advantage.

  • You can tailor and delegate the decision making process based on complexity, cost and your need to be involved.
  • Short and long term control of your development pipeline and how to achieve maximum impact against strategic objectives.
  • Assign accountability appropriately.
  • Optimise the productivity of your business teams by making sure they get the digital tools they need to do their work.
  • Improve communication within your organisation.
  • Deliver defect free solutions.
  • Focus on doing the right jobs in the right sequence at the right time.
  • Reduce waste in both effort and money.
  • Reduce risk.

Learn more about these and other software development topics to improve software delivery

We will follow up on this article with more detailed information on each of the topics mentioned here:

  • Late January we will look at working with the Software Maintenance & Continuous Enhancements work stream.
  • Mid February will be the time to take a more detailed look at the Project work stream.

In addition to these topics we will blog about metrics, quality control, risk management and other important topics in the future.

If you need information on any topics relating to improving the management of software development, feel free to contact me via our contact form and I will get back to you.