As a general framework, RangstrupIT structures its work around Scrum. It is important to understand that Scrum is not a methodology, but rather a framework, meaning that it provides structures within which methodologies and processes can be applied. Scrum is an agile approach to software development, where the team focuses on delivering changes in iterations (also called Sprints). When each sprint is delivered, the overall wants and needs for the software are reassessed based on priorities, ideas, deadlines, strategies and all other evolving and changing factors that influence the customers thoughts on how the final product should look.
Within the confines of Scrum, it is possible to apply a wide range of tools (processes, methods, and structures). RangstrupIT do not believe that the tools to be chosen for a project can be specified from a fixed template. After decades of experience supporting all kinds of customers, from blue chip clients to large public institutions to small start-ups, we have found that there is no one best way to approach the management of a project. Rather, one needs to look at the factors that will affect the project to find out which tools need to be applied.
The main factors that RangstrupIT generally look at to establish the process needs are:
- The experience and knowledge of the customer’s involved people. There is a tremendous difference between supporting a client who has deep technical and domain knowledge within the project scope to a customer who has never been involved in a software project before.
- The skills of the involved developers and project managers from our side. When a developer or project manager has extensive knowledge of the project domain then they will often be able to take decisions as they develop rather than be hampered by needing to bring questions and issues to a broader forum each time.
- The size and complexity of the project, the target audience, how critical the system is to a company’s operations, and the availability of workarounds should the system fail.
- The number of “constants” of the project. If e.g. a software solution is working up against a web service that it cannot make changes in, then there is a constant that minimizes the risk of change and thus the the need for process tools.
- The number of decision makers on a project and their ability to agree. A project is generally a lot more efficient if all decisions are made by one person; but of course it may then instead suffer with regards to lacking business input.
- The inclusion of a “surgeon” on the project. A “surgeon” is a project manager from RangstrupIT who will be involved in every meeting and involved in every decision throughout the software. The need for a project to have one – and only one – main surgeon is something RangstrupIT believes in “religiously”. Often we see projects where parts of the project management responsibilities are spread out on multiple people. The result is always the same; lack of stringent planning, lack of holistic decisions, interfaces that do not play well together, clash of priorities, misunderstandings, delays, and a project that gets a lot more expensive than it needs to be. If a surgeon is not included on a project, the need for process tools increases dramatically.
- Another interesting factor – that companies typically forget when doing offshore outsourcing – is that the cost of testers and developers are a lot cheaper than when doing a project in e.g. Denmark. This actually changes the equation of the cost/benefit calculations dramatically. Typically companies come with a budget for a project, but this budget never takes into consideration the actual costs of involving their own organization, people, and assets. An experienced tester can typically find 10x more bugs in the same time as it takes an inexperienced user. And typically the inexperienced user is a lot more expensive in real hourly costs than that of an offshore tester.
RangstrupIT has an extensive toolbox that can be applied to any project to the extent that it provides cost/benefits to the client. We are further so used to using the preferred systems and processes of our customers, that changes to the tools applied to a project will seldom constitute any delay. The toolbox that RangstrupIT offer our customers include:
- Scrum tools: Sprint processes, poker planning, burn-down charts, retrospectives, user story management, task management, backlog management, etc.
- Newsletter: A weekly report to stakeholders that keeps them up to date on how well the project is going based on various KPIs.
- Build strategy: The setup of a nightly build environment including automated tests.
- Functional and technical guidelines and tools: TDD, UML2.0, performance tests, security tests, code analysis, code/peer reviews, User Experience / Heuristics, etc.
- Testing environment: Standards for testing in regard to unit tests, automated tests, and test cases. This includes test plans, functional testing, compatibility testing, load testing, performance testing, regression testing, and usability testing.
- Bug, task and issue tracking: Various tools exist – one of our favorites is TargetProcess.