Custom Software Services Using Scrum Methodology
As a leading custom software services company, we leverage Scrum and Agile software development methodologies to maximize
productivity and visibility, so you receive exactly what you need and expect from your software solution.
Scrum is a lightweight but powerful framework that promotes a team-centric approach and emphasizes communication and
Iterative Project Cycle
A Scrum project is broken up into iterations called Sprints. Each sprint is 2 to 6 weeks in duration, and ends with a
demonstrable increment of the product being delivered. A day of work within the sprint is referred to as the Daily
Scrum. These iterations proceed until enough features have been completed to perform a Release of the product.
Scrum Project Roles
A Scrum project has 3 primary roles that overlap the traditional roles of project manager, developer, customer, and others.
The Product Owner represents the business stakeholders’ interests, manages the product backlog, and ensures the required
functionality is being delivered. The ScrumMaster works with the team to keep it productive, detect and remove impediments,
and resolve conflicts. The Scrum Team is the cross-functional team that performs the work.
Sprint Planning Meeting. This occurs at the beginning of each Sprint, is usually at least 2 hours
long, and involves the entire Team, including the Product Owner. It helps determine which backlog items will be worked on
during the current Sprint, and breaks the items down into estimable Tasks.
The Daily Scrum Meeting. This brief 10-15 minute meeting starts the day. Each team member relates
what he or she worked on the previous day, the current day’s plans, and whether there are any impediments. If issues arise
during the Daily Scrum, the ScrumMaster works to help resolve them, often by scheduling a separate Working Meeting.
Sprint Demo. This meeting is held at the end of the Sprint, to demonstrate the newly developed functionality. Ideally,
it includes business stakeholders in addition to the Product Owner and the Team.
Retrospective. The Team holds this meeting to review the Sprint that just passed. It’s similar to
a lessons-learned meeting or project postmortem, except that it occurs after every iteration. This enables our software
experts to continually learn from and improve on past performance.
The Dashboard is a central repository that ‘radiates’ up-to-date information about the project, such as the Project
Backlog, Sprint Tracking and Burndown Reports. It can be implemented using Microsoft Team Foundation Server, VersionOne,
Microsoft SharePoint, a Wiki, or a physical whiteboard stationed in a shared space. It provides complete cross-team visibility
so any stakeholder can easily visualize the current project state.
Durkin Consulting utilizes the 4 + 1 View Model, which is a means of modeling software systems using 5 concurrent views, each of
which addresses a different concern:
The Logical View models functionality. The Process View shows business processes, concurrency and data flow. The Physical View
models system topology, and the Implementation View displays the software architecture’s technical details.
Each of the 4 preceding views relates back to the Scenarios View (a.k.a. Use Case View). The Use Case View is the main set of
scenarios that describe how the system interacts with internal and external users and processes, called Actors. Use Cases describe
the business cases, which form the basis for developing the system.
Requirements Gathering and Design
Durkin Consulting uses communication-centric design methods, such as poker planning meetings, paper prototypes and story cards
as first steps when gathering requirements. This engages stakeholders and collects information quickly and efficiently.
Complex business requirements are then translated into Use Cases.
User interface wireframes are developed using tools such as SketchFlow, Axure, or Pencil. The annotated wireframes are then used
as the primary design documentation for the UI.
Architectural design is performed code-first using development tools, including Visual Studio or Microsoft Expression Blend.
This allows a prototype of the system architecture to be built at the same time as the specification. Object models and diagrams
are generated from the code as needed, and the prototype is used as a concept proof for the proposed architecture.
Our custom software specialists employ a disciplined, methodology-driven approach to software development. Proven principles of
relational database theory, enterprise security, and enterprise architecture patterns form the foundation for this practice.
These are combined with a strong focus on communication and adherence to the following agile principles:
Iterative Release Planning and Development. Projects are planned and delivered in iterative steps, with each step ending in a
functioning product that can be demonstrated and tested.
High-Risk, High-Value Features Are Developed First. This risk-driven approach is borrowed from the Rational Unified Process.
It ensures that risks are identified and mitigated early in the project, which increases the probability of delivering on time
and within budget.
Continuous Integration (CI). Developers integrate their code with the other developers’ from the start. Everyone has equal access
to the source code, and daily check-ins are mandatory. Builds are automated and run at every check-in.
Test-Driven Development (TDD). Automated unit tests are written before or at the same time as the code. Loose coupling and design
patterns keep code testable and maintainable.
Continuous Knowledge Transfer. Our custom software experts take a proactive approach to knowledge transfer because we want our
clients to understand our code, so you can continue to use it during maintenance. This is accomplished through regular code
review meetings with your IT staff.
Contact Us for a Free Quote
To discuss your needs and get a free quote, simply contact us.