A system development lifecycle is the process whereby the plan, build, testing and deployment is understood in light of an information system. The general approach taken to software development for the company I work for would be described as the Waterfall Lifecycle. This approach demonstrates a sequence of stages that cascade downwards, like the waterfall effect. The principle behind this is that each step should be completed in chronological order, before moving on to the next step. The Order of Activities Flowchart below clarifies the waterfall lifecycle approach that is adopted within my departmental service.
Figure 1 – The Order of Activities Flowchart (sourced from my employers operating model )
The benefits of our company following the waterfall lifecycle approach is that there is a profound control around each stage of the project, which makes it easier to manage – with easier goals, aims and objectives. As a result, this approach can be useful to manager cost change and implementation, especially when when change requirements are identified through testing. A great approach to the business for when the solution is well understood and unlikely to change.
However, there are drawbacks. Limitations include a high impact on the project cost and schedule, should there be poor estimations made, which is a possibility when circumstances and objectives are assessed. Also, there is less of an emphasis on customer collaboration. For example, the only opportunity clients can engage within this approach is through the requirements engineering stage. On long term projects this can lead to a lack of customer buy in, particularly when stakeholders in management change.
The two illustrations below sum up the demand for IT personnel and the nature of roles within my departmental service.
Although a Waterfall approach is adopted within my company, it is evident that a Dynamic Systems Development Method (DSDM) approach prevails. DSDM is a proven framework for Agile project management – helping to deliver business value. DSDM recognises that people working together effectively is the key to the success of a project, and by assigning clear roles and responsibilities to each person in a project we can organise the best solution; providing that these teams (and people within the teams) take on the responsibility for their empowerment.
Roles & Responsibilities
As the DSDM alien baby diagram suggests, the Orange entities identify roles representing business interests . Similarly, the descriptions of roles within the company that I work for include the:
- Business Sponsor- This role is the most senior project-level business role. This person is responsible for the Business Case and project budget throughout. Within my organisation, the business sponsor has the title of ‘Chief Information Officer’
- Business Visionary or Improvement Champion(In my case)- This is a senior project-level business role held by an individual with a clear vision. The Business Visionary provides the team with strategic direction and ensures that the solution delivered will enable the benefits described in the business case to be achieved. Ensuring the business readiness and change is communicated effectively through to the consultation stage, engagement stages, testing and implementation
- Business Ambassador(s)- This role acts as the key representative of the solution development team and decision maker for the business
- Business Advisor(s)- This role holds a business subject matter expert. The advisor(s) provide a specific, and often specialist input to solution development or solution testing
- Business/Process Analyst(s)- Are both active in supporting the project level roles and fully integrated with the solution development team. They develop the requirements and benefits. Facilitating the expectation of the business to the members of the solutions development team by communicating the needs and wants of the business
- Business Testers – Test the solution, making sure it works as desired from the end user i.e. a student user who intends to access a student system web portal
The green entities identify roles representing Solution development. These roles are responsible for the day to day work required to build the solution:
- Technical coordinator- Is the projects technical authority who ensures the solution design is technically coherent and meets the desired technical standards. They ascertain the same perspective as the Business Visionary from the business point of view
- Technical Advisor/Solution Advisor- Supplies specialist domain design and advice on subject matter
- Solution developer- Translates the business requirements with the technical aspects to create Solution Increments that meets the needs of the business as a whole
- Service Transition Manager- Ensures effective transition from project to service and support. Including technical and business readiness
- Service Manager(s)- Run and improves the delivered solution. I.e a solution can include but not be limited to the following: IT Applications Support, Faculty Operations, Service Delivery, Server Management, Remote Access, Systems Maintenance
- Solution Tester- Performing testing throughout the project in accordance with the agreed strategy (including both functional and non functional requirements)
The grey entities identify roles with specific process interests. Providing assistance and guidance to the project on an ad hoc basis throughout the lifecycle. Roles include:
- Workshop/ Improvement Facilitator – Provides neutral organisational workshops to help meet a predetermined objective within a timeframe
- DSDM/ Governance Coach – The appointed member of staff or DSDM official would play a key role in the design, authority, methodology and standards of the wider organisation in which they work. Advising members of staff.
The Blue entities identify roles representing management interests. Roles include (but not limited to):
- Project Manager- Managing the working environment in which the solution is evolving. This entails leaving detailed planning of the actual delivery of the product(s) to the members of the solutions development team
- Team Leader- Leads the delivery team, or a specific workstream to ensure it functions as a whole and meets its objectives. Usually part taking in the fulfillment of another role i.e. Solution Developer/Tester.