For an organisation that develops software systems in-house, our challenge is to improve the way software is conceived, designed, constructed and deployed – in other words, improving the
Software Development Process.
A process is simply a series of actions that achieve a goal. A software development process is therefore a series of actions that lead to the modification or creation of software. A good software development process should define the way in which an organisation:
-
Manages initial requirements and changes to requirements
-
Manages changes to software
-
Designs and builds software components
-
Releases prototypes and finished software
-
Communicates software specifications and designs
-
Tests software
-
Assembles and maintains software development teams
-
Manages projects
-
Reviews and refines its software development process.
So can one software development process be used across all our projects? Well, no – because each project is different. A large, formal software development process would stifle smaller projects while complex projects may career out of control with a lightweight, informal process. Additionally, different companies and cultures require different approaches to the act of developing software. We have found that implementing a rigid, comprehensive software development process achieves the following:
-
Great looking process manuals that no-one reads
-
Projects that take longer than they should
-
Projects that produce irrelevant documentation
-
Frustrated developers and customers.
Conversely, implementing a lightweight software development process will lead to ambiguity and confusion – and will ultimately fail. Our challenge therefore, is to implement a software development process that is right for the organisation, and which can be customised for each project. A process that provides a set of best practices and guidelines with the flexibility to adapt to different project attributes.
At ExpertEase, we specialise in enhancing the way an organisation develops software in-house. Here’s how we might go about this:
-
Review the organisation’s current software development capability
-
Make recommendations for change
-
Communicate high-level concepts to all development teams
-
Select a project to review process effectiveness. For a project:
-
Review project attributes and communicate development strategy for the project
-
Mentor team members in new techniques
-
Deliver software
-
Review the effectiveness of the software development process and learn how to do it better
At ExpertEase, our experts have worked within many projects guiding teams and enhancing an organisation’s software development capability. We are not radicals – we steadily and gradually introduce change.
Ultimately, we will
help your organisation implement the highest quality software systems on time, and within agreed budgets – time after time.