SCRUM Methodology
Adaptive methodologies
SCRUM
SCRUM is an Agile methodology that is most often used for software development projects. This methodology is influenced by empirical investigations and adaptive feedback loops. In this methodology, real world results are focused upon rather than the speculative measures. SCRUM methodology divides the development project time into small time sprints that last for a week or two. It provides a set of roles and responsibilities and rules for meetings. There are three major roles in SCRUM including Product owner, Scrum master and the project team. If this methodology would be used for the development project of Free Feet Socks Limited then the people with these roles would have following responsibilities:
Role |
Responsibilities |
Product Owner |
· Define and communicate project vision and priorities to the software development team · Answer all the questions that the software development team has · Create a balance between the team members to get them involved in the development process |
Scrum Master |
· Facilitate the project team to achieve development goals · Help project team to eliminate any issues that is faced in development · Advise the product owner on taking steps to maximize ROI |
Project Team |
· The team would have 7 members including two programmers, one software engineer, one QA expert, two testers, and one User Experience Designer · Teams would have the freedom to decide how to achieve goals of sprints. |
Advantages
If the SCRUM methodology is used for the development of the software project for Free Feet Socks Limited, then the project would have following advantages:
- The time utilized in development and the money used for development would be saved
- The new developments of the project can be easily coded and tested in different iterations
- The project progress is frequently updated which gives clear visibility
- As development is done in sprints that are small in duration and involves fast feedback so coping with the changes done in the systems would be easier
- As methodology facilitates daily meetings, it would also be easier to assess the productivity of individual team members
- A quality software would be developed within a short span of time
- The overhead costs of management would be low with self-controlled approach of team performance management
Disadvantages
There can also be some disadvantages for Free Feet Socks Limited’s software development project if they use SCRUM methodology such as:
- The project would have definite end date and thus, if any of the decision makers of FFSL including Alan Masters, Nils Lofgren or Steven Smith come up with new ideas for feature development it would lead to scope creep.
- As this uses fasts processes, the team has to be experienced in SCRUM development and as the company’s existing staff is new to digital or automated technologies or such development projects, new staff may have to be hired or the existing team has to be trained on SCRUM methodology to make the development effective. This would add to the cost to the company.
- Because of tight deadlines and daily reporting structures, the work pressure on the development team would be high which can frustrate them
Extreme Programming
Extreme programming is another Agile methodology that uses principles including customer involvement, integrative development, and effective team communication that act as pillar for the success of the methodology. XP utilizes iterative cycles of development that last for a week each
Advantages
If the XP methodology is used for the development of the software project for Free Feet Socks Limited, then the project would have following advantages:
- It would save the time needed for realization of the requirement of the development project
- As there is less documentation required, the company would save on administrative costs
- The methodology is simple and thus, it would be easier to develop codes such that the company would have less challenges in development
- AS this methodology would lead all the people in the team to work from same location, the communication would be easy and strong(Pierce, 2016).
Disadvantages
There can also be some disadvantages for Free Feet Socks Limited’s software development project if they use XP methodology such as:
- The methodology focuses more on coding rather than on designing
- It would not provide measures for quality assurance such that bugs are efficiently eliminated
Unified Process Development
This software development methodology explores who does what, when it is done and how project goals can be reached. It in an incremental and iterative methodology and utilizes use cases, component based architecture, and unified language for modelling. Unified process considers four aspects of software development as most important including product, people, project, and process. Use cases define certain functionality and are the artefacts of requirements. Using multiple use cases, a use case model is designed which gives the foundation for the development process.
Advantages
If the UP methodology is used for the development of the software project for Free Feet Socks Limited, then the project would have following advantages:
- Use cases would capture business value to the software development project
- As the development plan would reflect upon what people do, it would easier for the team to understand it
Disadvantages
There can also be some disadvantages for Free Feet Socks Limited’s software development project if they use UP methodology such as:
- The use cases my not define the complete requirement of Free Fee Stock
- End users would not be involved directly and thus, company may miss out of some requirements.
A recommendation of the appropriate methodology can be given based on current project requirements and constraints of the company. The requirements of the current project include:
- Development of a software that allows sales people to record the orders in handheld devices that are integrated with the back end systems of the company
- Dealers who are sold the bulk orders would be approved by management upon seeing the order details
- The software interface must provide forms for recording customer details including Name, Business number, Address, Telephone, Email, Application date, Discount level, Sales area, and Date last visited
Constraints of the project and the company are:
- The purchasing model for managing supplies cannot be modelled
- Party planners would have separate responsibilities to manage parties and would not be the part of the system
- The staff does not have the knowledge of IT systems and their development
- The company has only a limited budget in which the project has to be executed
- The current systems are manual and hence data migration would be challenging and time consuming
- As the company needs to hire people from outside for development project with limited budget, the development needs to happen fast
Considering the requirements and constraints of the project, SCRUM methodology is recommended for the following reasons:
- It would save on cost and time for the company
- Development team would be self-controlled and thus, effective development would happen without the need of tight control
- Fast feedback would ensure that all stakeholder needs are sufficiently incorporated(Qi, 2013).
Question 3: Event Table
Event |
Event Type |
Trigger |
Source |
Activity |
System Response or Output |
Destination |
Customer login |
Login |
Customer order |
Customer |
Data entry |
Data storage |
Customer Database |
Sales Reports |
Report generation |
Review by management |
Sales people |
Running report generation query |
Sales report |
Management user screen |
Potential Customer Login |
Login |
Customer visit |
Customer |
Data entry |
Data Storage |
Potential customer database |
Order management |
Order processing |
Customer order |
Customer |
Take order including details of products and quantities ordered |
Data storage and forwarding for approval |
Email to senior management for approval |
Accounting details update |
Accounting |
Customer and supplier payments |
Customer Supplier |
Update accounts payable and receivable automatically upon entering the payment taken or given details |
Updating of accounting database |
Accounting system update |
The table above shows events that would happen in the human computer interaction and would reciprocate into the features of the new developed system
Question 4: Domain Model Class Diagram
Question 5: Design class diagram
Question 6: Use Case Diagram
Use Case |
Create customer |
Scenario |
Creation of new customer |
Triggering Event |
Company wishes to add a new customer within the system |
Description |
Allows customer to register through company portal |
Actors |
Customer |
Related Use Case |
Not applicable |
Stakeholders |
Customer |
Pre-Condition criterias |
Not applicable |
Post-Condition criterias |
An entirely new customer account would be created |
Activity Flow |
|
Actor |
System |
1) Customer would begin by clicking on the ‘Register as a supplier’ link given on the portal. 3) Customer would then fill in all the required details on the form and click on submit. |
2) The portal displays the form with different fields: Name, address, phone number, email along with the payment terms. 5) System would display a unique order number for the customer that has been created newly. |
Alternative |
5.1 If the customer fills in incorrect details or fails to enter the mandatory fields then an error message would be shown with respect to the error. |
References
Issa. (2015). Usability and Human Computer Interaction (HCI) . Springer.
Pierce, W. (2016). Disadvantages and Advantages of Extreme Programming. Atlaz .
Qi, X. (2013). Xiaojun QiThe Software Process. Dgital CS.