Software development has taken many forms these days and each and every day a new form of software development and maintenance are emerging and all the organizations are striving a lot to cope up with the changes in the software development methodologies. In general there are different ranges of software development methodologies and they are chosen as per the requirements and the range of software being developed. The traditional way of executing software includes different tasks like requirements gathering, analyzing the requirements, design, coding and implementation, testing and finally maintaining the project and these steps are the core requirements of the traditional waterfall model.
Waterfall model is the widely used and the traditional way of software development methodology which includes all these steps and was more popular since decades. Later there are different software development methodologies introduced across the literature and all of them are discussed in the literature review section of this document and among them prototype modeling is another important software development model. Prototype software development model includes developing a rough prototype before deploying the actual application and this includes the feedback from the product owner and thus if any changes are required they can change at the prototype level itself.
Thus choosing any type of software development methodologies includes many steps that need to be considered and the key among them is to handle the changes that occur with respect to the requirements from the end users side. Among these software development methodologies, the key limitation is that if anything need to be changed, all the initial stages of the software development cycle need to be altered and thus a lot of time and cost are incurred in this process. To get rid of all these situation, Agile software development methodologies came in to picture and since then a lot of reputation and popularity has gained towards the implementation of the Agile software methodologies.
The key advantage with the Agile methodologies is that the updates and communication strategies are followed in a well defined streamlined manner. Regular meeting with the Agile team is possible with the implementation of the Agile framework and there are many roles and responsibilities towards the Agile team and the key roles used across the Agile methodology are also discussed in the critical analysis part of this document and they are Scrum master, product owner and the team.
All these roles have their own process metrics and responsibilities towards executing the software development and testing and the key role among these roles is the SCRUM master. Scrum master holds the key responsibilities towards controlling and managing the team and should provide the proper inputs to the team with respect to their work and user stories. In general a user story can be defined as the user requirement and all the requirements are categorized in to different user stories and the corresponding story points are defined against the deadlines and estimates towards the project metrics for user stories that were defined.
The main aim of this project is to evaluate the importance of Agile and Scrum methodologies and understand the benefits of these methodologies when compared to the traditional software development methodologies. To precede with this research a qualitative research methodology is used and the required primary source of information is gathered from three software organizations from UK and they are as given in the research methodology chapter of this project.
Project managers are considered as the key respondents to gather the primary source of information and a questionnaire is prepared to analysis the views and opinions of the project managers with respect to Agile and Scrum methodologies across their software development process. All the three project managers are interviewed with respect to Agile Scrum methodology implementation and all the findings are given in the document and as per the analysis it is clear that most of the project managers prefer the Agile methodologies and the key findings are as given below.
Project managers are comfortable with the implementation of Agile methodologies and the key software development process is streamlined when compared to the traditional software development methodologies. Most of the project managers are interested towards the Agile SCRUM methodology and the key benefits with this methodology is that, a regular updates are escalated towards the project team, project managers, product owner and other stakeholders.
SCRUM methodology is widely adopted by most of the companies and the main reason behind this is that the companies can save lot time and money while adopting the SCRUM methodology and a perfect time line is followed across the project delivery using the SCRUM methodology and the key backlogs are eliminated with the implementation of this methodology. The sprint meetings are the key aspects in the SCRUM methodology and the important things like deliverables and updates to the next sprint meetings are decided in this schedule and the iteration duration varies from company to company and each company strives a lot to complete the desired deliverables decided in the previous sprint meetings.
The optimal team size is around 3 to 7 members across any organization and the size of the Agile team and the decision towards the team size depends purely on the project requirement and also it depends on the time available with the deliverables. The product owners are also involved in the key decisions in building the team size to complete the project and pass all the sprints on time and user stories are created against the user requirements document and these stories define the actual requirements based on the high level documentation provided by the end users.
Sprint meetings are really important analyzing the updates and queries from the developers and testing team side and the required targets are set across these sprint meetings and sprint meetings are required for the team and other key roles across the SCRUM to discuss all the issues and progress done during the successive sprint meetings. Product owner can give the required suggestions to the development team and make them clear with respect to the user stories and project managers are forbidden in giving more work to the team during the sprint meetings and has limited role towards the sprint meetings.
Future work
Apart from the research done towards analyzing the importance of Agile and Scrum methodology in terms of project managers, there is some scope to improve the research and they are as listed below
- Number of respondents can be increased and the low level employees like team members and team leaders can also be interviewed regarding the SCRUM methodology
- Agile methodologies like Extreme programming can also be covered under the qualitative research and the primary information can also be gathered in this context
- A more detailed analysis of the Scrum methodology can be covered in the questionnaire prepared in future.