Site Loader

Since the software requirements were not explicitly stated, I
believe the most appropriate software process model and software engineering
method to use to accomplish the project are Agile and Scrum. Agile is widely applicable
to most projects and highly adaptable to changes. Scrum, based on Agile
principles, promotes fast iterations of work and suits small experienced teams.
To ensure quality, Test Driven Development and Continuous Integration are
essential practices as well.The Scrum team will have the following composition assuming
the “seven developers” do not include myself. I will be the Scrum master and my
main focus will be facilitating each step of the Scrum cycle. One member will
be the designated product owner, who understands the business logics, creates
the task backlog and prioritizes the tasks based on stakeholder needs. The remaining
six members will form a multidisciplinary team. Although each member will have
a unique skill set, the team itself will be cross-functional; everyone should
have knowledge of another’s domain so that no one will be the bottleneck. As the Scrum master, I will guide my team on making the most
out of the Scrum methodology. The development process will begin with a short
period of requirement analysis and system design. For each sprint cycle, I will
conduct the sprint planning, during which the team will set a reasonable milestone.
Each milestone will consist of tasks from the backlog and the progress of the
tasks will be tracked by a burndown chart. The milestone should be met by the
end of the sprint, followed by a demo and a build for the stakeholder. In addition to Scrum, I strongly suggest the team practice Continuous
Integration. The developers will frequently push their changes to the shared
SCM and each push will be verified by automated integration tests. These tests
give the developer immediate feedback on integration issues, so the developer
can fix them accordingly. The more frequent the integrations, the less backtracking
is needed to locate these issues. Practicing CI ensures that the source code is
never broken and prevents integration problems at an early stage. To further facilitate the development process, I also strongly
recommend Test Driven Development. Specifically, a Scrum team members will be
writing acceptance tests; these are automated tests that pass when the system behaviors
achieve the acceptable level. The software developers will code until the tests
pass, then refactor to improve code quality as needed. TDD allows each
developer to focus on the tasks at hand and receive immediate feedback. A
common pitfall of Scrum is the team is tempted to trade quality for speed; this
problem can be solved by conducting aggressive unit and regression testing and ensuring
high code coverage. Testing both before and after implementation detects bugs
early and improves the developer’s focus. A major potential problem with using Scrum is scope creep.
Unlike the Waterfall model, Scrum allows the requirements to change; stakeholders
are likely to demand more functionalities and increase the project scope. As
the Scrum master, I will dissuade such anti-pattern and state a definite project
scope in the early stage.

In conclusion, the Agile model and Scrum methodology are the
most appropriate to accomplish the project. Along with Test Driven Development and
Continuous Integration, they ensure the team’s adaptability to change, speed of
development and quality of work. 

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

Post Author: admin

x

Hi!
I'm Myrtle!

Would you like to get a custom essay? How about receiving a customized one?

Check it out