Scrum is a development tool that is used to develop and sustain complex products. It is a frame work in which teams are able to undertake complex and dynamic problems, while creatively and productively creating and delivering products that have the highest possible value
Scrums is a framework used to develop and sustain products that are complex in nature.
Scrum is based on empirical processes control theory, it asserts that knowledge is derived from experience and making decision from what has already been ascertained. Applying an iterative and incremental approach makes it possible to optimize, predict and control risk, three pillars which uphold ever implementation of empirical process control: transparency adaptation and inspection.
As a team we applied this definition of Scrum by developing tasks that would be segmented into different task that would allow to apply iterative processes in order to reach a common goal, as Scrum is also comprised of events, roles artifacts, and the rules the allow them to work together such, The project schedule below shows an implementation of an task procedures that enables iterative approaches applications which plays the role of events planned to take places as seen in figure 1 below, when the tasks are broken down it makes it possible to apply various approached iteratively to be able to achieve specific objectives.
Figure 1
Transparency
Transparency is as important in Scrum where processes are required to be visible to those who have the responsibilities of the outcomes, transparency calls for those aspects to be defines using a common standard so observer are able to share a common understanding of what is seen. In this particular project the information provided by the clients, was to design computer software that is able to
a) Gather user information and
b) Provide a link to the user with like-minded people
With these goals in mind, every task that each one executed allowed us to work towards a common goal, understanding what the requirements were so that no member of the team worked on tasks that were not clear in regard to the final goals of the project, using scram in this manner we were able to implement transparency. In a person-focused fashion. The software was to be given access to user information in the format of database and the output should to be packaged in a clear and sensible way for the centacare workers to refer to.
Rules are developed to be able to have clearly laid out definition that makes it possible to be able to under a projects, the rules of this specific project were developed by finding out the main purpose of the project, which was to develop/design a software that gathers information that needs to be collected by the Centacare community. The scope of this project was first to identify the needs and requirements to design a proper software that would meet the client’s requests. The completion of requirement collection phase, led the team to identify and establish the project’s goals and objectives. The main objective of our project was to create a software product that gathers the information and accessed databases.
Inspection
Inspection is a Scrum feature that allowed us to be able to lay out we could analyze our progress without the inspection process itself becoming a challenge or a hindrance of the progress of the project, to implement this effectively our team made it possible to meet for two hours every week to assess our targets and determined that every team member meets the and the goals being set are being achieved. The phases of this project included:
Requirements refinement.
Agree on a language.
Design sprint
Design iteration.
Evaluation.
Adaptation
As the product manager I applied the Adaptation feature derived from Scrum whereby if I determined that the processes being undertaken by the team would deviates towards unacceptable limits, and the results of the processes would be unacceptable, or determined that the material being processed should be adjusted, I implemented adjustments soonest possible to mitigate further deviation. The primary goal of the team was to deliver a satisfactory product by the end of the completion of production. Our team determined that to increase the productivity of the design, Spiral Model was established to be suitable to be applied to minimize risk of shortcomings and defects. Spiral Model concept focused on iteration to guarantee the efficiency of product (Boehm, 1988).
As scrum does prescribe four forms events for adaptation and inspection, derived from the scrum events management we implemented the following steps for each deign sprint (phase 3) are:
Narrow down the problem.
Identify user requirements.
Propose a general concept, to get clients approval.
Work on the concept and develop the prototype.
Show it to client to check if that is what they want.
The project was estimated to last 9 weeks starting from 14th March 2016 to 2nd June 2016. The team will work 10 hours a week from Monday to Friday except on Australian public holidays.
Design, layout and specification.
Build system prototype.
Design of software.
Development deductions.
Installation and verification of the product.
Scrum Approach
Scrum in itself is not a technique or a process but a framework that allows applications of various processed and techniques. The project took place in five stages namely requirement collection & Analysis, Design, Software Development, Installation, System Testing and Closure.
The requirements and analysis phase focused on identifying the client desire and target, use of product determining values of the system.
The design phase followed an iterative approach where initial prototype designs would be delivered and consequently
The software development phase involved creating the user interface.
The testing phase will brought about checking the system for any bugs and/ or defects
The closure of the project will include testing and training client of how to use the system.
Scrum Teams
The scrum process is comprised of scrum teams, and with them comes the associated roles. Scrum teams are comprised of the Scrum master, Product Owner and the development team these teams are self-organizing and are cross-functional. Self-organizing teams are able to choose the best means to accomplish their tasks, rather than being influenced by external parties. Cross functional teams are capable of achieving the work without depending on others who are not part of the team, this approach provides much more flexibility productivity and creativity. With this in mind our team was able to establish our team, with the small number of members available in the team, it is was hard to distribute work between them as they all have other obligations. This might have put a great pressure on members and lead to defects and shortcomings. Time limitations lead the team to design an efficient product and implement all the required functions. Lack of communications with clients would cause misunderstandings to collect a comprehensive details on what they really need. Clients were not able to meet the team on the second week to explain in-depth their requirements and desire. Moreover, clients’ inadequate knowledge in IT’s field derived them to experiences difficulties while describing and explaining their desired product. This project adopted the scrum methodology to accomplish, which means that no specific task or category of tasks is pre-assigned to any team member. The project was divided into self-contained items and members were able to pick the ones they deem accomplishable. However, general tasks could be classified by the role of the team based on the scrum methodology (Agile42, 2016):
The Product Owner
Coordinated and negotiated with the clients and team members
User requirements formation and management
Product backlog
Scrum Master
Scrum management
Ensure the team follows the right method
Impediments tackling
Scrum Development Team
Sprint plan, design, conduct, and backlog (Each sprint lasts for 2-4 days and within each at least 10 story points should be finished.)
UI/UX design
Database design
Prototype implementation
Programming
Documentation work
In regard to the size of the team and the agile methodology, tasks were not strictly allocated following the task division above. Each member had to undertake more work to accomplish the project.
Scrum Rules
As stated rules are very important in implementing scrum, various important rules of operation were implemented including, role allocation, communication escalation procedures.
Rules in role allocation
Generally each member could approximately ¼ of the whole tasks. Exceptions would apply since difficulty should be considered.
Tasks were droppable within the first 2 days. If task dropping occurred outside of the 2-day limit, scrum master (or other members if scrum master do such thing) will make sure the matter being raised in peer evaluation process. Therefore all members were to be careful in choosing the tasks.
Each member is expected to hold accountable for the quality of their own tasks.
All tasks need to be finished at least before each sprint.
Communication rules
Team members were assumed to meet at least for 2 hours a week beside the two meetings during the course classes. Presence at these meetings was valued as the very basic participation, therefore for the members who couldn’t make it to the meeting without a legitimate reason; their mark would be affected negatively in the stage of peer evaluation.
The team was to ensure that:
Ensure that attendance at these meetings took priority over other commitments.
Not be late for meetings unless unavoidable.
Ensure that we prepared appropriately for each meeting.
Ensure that we properly participated in all meetings
Additional meeting times would be set accordingly to each week’s progress.
Online platforms have were resorted to on occassions outside of meetings:
Facebook group post for project status updating.
Facebook messages for casual exchanges.
Google drive for document management.
Google doc for collective document editing.
Scrum board for task and progress management.
Communicating with the client
Updates would be provided to the clients via e-mail or phone calls at least once a week, meanwhile, clients would be given access to scrum board for progress supervising. Clients were expected to provide feedback in time.
Escalation procedures With clients:
Conflict with clients mainly refers to client absence. Under circumstances when clients were unable to be reached when all possible contact methods had been tried and the project is not making any progress because of it, the team will approach course coordinator for a solution.
Escalation procedures among members:
Parties involved in the conflicts were obligated to inform the whole team when they find the matter being irresolvable. Progress of the project should not be held back due to relationship exacerbation or constant disagreement over a single subject.
Escalation procedures for non-personal conflicts:
After being informed of the matter, all the neutral members would vote to decide whose decision benefits the team the most. If votes reach a tie, client should be reached for settlement.
Escalation procedures For personal conflicts:
The following procedures needed to be followed:
Sit down and get the members with disputes to talk about the issue to the whole team.
All the bystander members were expected to be open-minded and to listen fairly to them without judging.
Discuss the issue in conflict between team members and try our best to resolve it.
Respect other members’ different ideas or views and always bear the cause of our team in mind and make every effort to work with each team member as a team.
Members in conflict could designate together a neutral third-party as the mediator and help them talk to each other if they do not want to have a face-to-face talk.
Allow them to work with ones they find comfortable with if the conflict cannot be solved.
Cited works
Agile42. (2016). Scrum Roles. Retrieved 13 March, 2016, from http://www.agile42.com/en/agile-info-center/scrum-roles/
Boehm B, 1988,"A Spiral Model of Software Development and Enhancement", IEEE Computer, IEEE, 21(5):61-72
Boehm B, 1988,"A Spiral Model of Software Development and Enhancement", IEEE Computer, [Image] IEEE, 21(5):61-72.