How do you keep control of your software development?
Delivering software projects and keeping up with the backlog
Many businesses are finding that they need to get involved in some form of software development but are frustrated by lower than expected productivity of their software development teams or suppliers.
They are starting to find that deliveries are late and full of defects. The development team is working overtime and costs are out of control and they can’t deal with the large backlog of issues that has developed.
How problems in software development affect other areas
Problems with the software development will also have many knock-on effects across the company. Your finance department screams about cost overruns and each release seems to cost more, take longer and the business value in the release is less. If you are being held up by poor delivery, you can’t capitalise on commercial opportunities. It might even have a negative effect on your market position and company value. Are your weekly management meetings turning into an outlet of pent-up frustrations and recriminations? What you need is to gain control over your software project.
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 timeframe. Where you can be confident that individual projects can be delivered within the budget.
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? Will improvements enable you to increase revenue generation?
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 effect with our partners enabling them to have a clear overview and full control on the work that needs to be done.
Software Portfolio Management
Software portfolio management enables you to prioritise development initiatives to get the most value out of your resources. Prioritising and scheduling the work based on business value and the ability of the team to deliver, will show you benefits that can be measured directly in:
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.
The structure we use and recommend divides software development into three classifications:
- 1Maintenance & Continuous Enhancement Work Stream (small jobs)
- 2Project Work Stream (medium size jobs)
- 3Programme (large jobs comprising of two or more projects)
Continuous Enhancements and Maintenance Work Stream
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
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 six different roles at a minimumand include (but is not limited to):
- 1Product owner
- 2Business analysis
- 3Project management
- 4UI/UX expert/Tester
- 5Backend developer(s)
- 6Frontend developer(s)
A software project will normally take between one to six months fromstart to finish. A CEO or business owner may delegate the decision making for a project to the relevant department head.
Programme Work Stream
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.
Benefits of software 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.
You have short and long-term control of your development pipeline and how to achieve maximum impact against strategic objectives. It is easy to assign accountability and improve communication.
Other advantages are:
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:
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.