1. Project setup
A good project starts with a good idea. It leads people with common values and expectations on a sometimes very precise, sometimes less clearly defined path to achieve a profitable goal.
Our know-how is very valuable on the way from the project idea to the project start. In the project setup we do the "homework", which guarantees a smooth kick-off. Besides the contract between the partners, the most important result of this step is the project proposal.
- Big picture: vision and concept
- Project charter: values and rules of the game
- Business case: costs and benefits
- Choice of method: Waterfall Method or Agile Method
- Scope of delivery: objects and modules
- Release and project plan: dates and contents
- Project organization: organization chart and responsibilities/functions
2. Project organization
Performance, deadline and cost targets have one thing in common: If everything is well organized you’ve won half the battle. Once the structures are clear and the roles and responsibilities correctly distributed, nothing stands in the way of a successful project.
A tip from BSI: prevent hyper specialization
It is good if every subtask is fulfilled by an expert. It is even better when everyone has an eye for the big picture. So take a coffee break across team boundaries - and don't just talk to each other when you have questions or problems.
3. Project phases
What is to be done when, how, where and by whom? Everything at the right time in the right way and by the right people. A clear structure is crucial for the progress of complex projects. And in the end also for success.
- Specification of the elements (process/function): The project team forms modules (topic groups) for the written specification, which are processed and approved step by step. Often the specification also includes a prototype, which is developed parallel to the document and visualizes it.
- Development and module tests (implementation): It's showtime: BSI takes care of the implementation. If a standard product is used, we parameterize and/or extend it. If it is not an adaptation, we develop new software.
- Implementation and release (integration): After implementation, the software is installed, linked to other systems and tested intensively. Data is migrated on a test basis. As a rule and depending on the infrastructure, we already introduce users to the software in this phase with reduced training.
- Rollout and performance review: Rollout is a quick process. It is prepared in detail and only takes a few weeks. So that the interaction of software and organization runs like clockwork, the launch of the software is planned and executed exactly according to the script.
- Acceptance and start of the warranty period: The software is officially handed over to the customer. The maintenance and warranty period begins, while the BSI still fulfils open points from the acceptance protocol.
The software does not yet provide a solution. It is about the whole process and the strategy behind it. In order to know how to improve processes, we need to understand them well and then deal with perfectly adapted software.
The specification steps (also for smaller projects)
- Requirements (incl. preparation and proposal)
- Process design (BSI and customer together)
There is no good software unless one makes it. Whether we develop the software ourselves or with a customer team: The secret of success is close coordination with the customer. It ensures that every development step leads in the right direction. When making the software we have two different methods to choose from: Waterfall or Agile.
Perfectly planned: Waterfall Method
The name says it all: The process of software development is predetermined right from the start, as a cascade of planned events. All requirements (functional and technical) are recorded in a project plan in advance. This is continuously monitored and updated, but is no longer fundamentally questioned. The work packages (subprojects) are grouped by topic; each package is assigned to a developer.
Correctly prioritized: Agile Method
Here the software is created in several waves instead of as a waterfall. The Agile Method allows the customer to re-weight the functions of the software at each iteration (sprint), to bring forward certain use cases in time, to bring new use cases into play or even to delete planned use cases.
With the software it's like building a house: How well architects, construction company and craftsmen have worked, you only notice when moving in. This makes it all the more important not to leave the transition from development to use to chance. Whether big bang or step by step - when introducing the software, the choice of scenario is decisive for success.
The appropriate scenario must be determined very early in the project and checked for risks, the introduction must be practiced intensively already during the integration tests.
Big Bang (all in one)
If the software is introduced for all users on a single weekend, it is called a big bang - a typical scenario for web applications without clients and training. The only risk, but one that can be controlled: that the new system cannot cope with a full load. If training is necessary, this also represents a risk, especially if a large number of users have to be trained by the deadline.
Iterative implementation (step by step)
If the software is activated for each user group, it is referred to as an iterative implementation. It's more complex than a big bang. The necessary parallel operation of old and new software is anything but trivial. Since the existing solution can still be used, the scenario is less risky. The first iteration is carried out for about 50 to 100 users with as little interconnection as possible with other departments. The experience gained with the pilot project will be incorporated into further iterations.
7. Quality assurance
There's nothing good unless you measure it: Only a precise understanding of quality and a clearly defined procedure for testing and optimizing it enable us to position BSI among our customers as a high-quality supplier.
Because BSI has very high quality standards, we have to define exactly what good software is in every project. There is a simple rule: quality is what makes the customer happy. And this is much more than a technical question.
Levels of customer satisfaction:
- Software has no technical errors: What is required in the requirement specification and promised in the offer works. The software is programmed technically flawlessly.
- Explicit requirements are fulfilled: What the different users had expected from the new software has been achieved. You experience (and enjoy) this as clear progress compared to the previous solution.
- Implicit requirements are fulfilled: The software also fulfils wishes that you only become aware of when using it (wow effect). This is particularly evident when even new requirements can be implemented without much effort.
8. Project documents
Every customer and every project is unique. That's why we create the following document types with Think & Write instead of copy & paste. Because we understand the meaning of every document, we can pay even more attention to its content.
These are the most important documents
- Requirements: The requirements resulting from the project idea are recorded in writing by the customer. BSI is happy to help.
- Offer: The document "Offer" is much more than a product description with price label at BSI. It lays the foundation for the project and contains an initial rough specification of the solution, for example with regard to adaptations and interfaces.
- Specification: The document "Specification" is prepared with the customer's specialist departments and approved by the customer. Ideally, before development starts.
- Test documents: Only a documented test is a good test. How we test depends on the complexity of the work package - and also influences the documentation.
- Releasenotes: In the document "Releasenotes" we record the scope and status of the software at this point in time for each delivery, i.e. for each release or patch.
- Software delivery: The task of the documentation is to provide the customer with the most important information about the software in a compact form.
- Test procedures: In addition to the BSI documents, customer specifications are also required for system tests. As a rule, these are documented by quality assurance.
- Release log: Before each rollout, functional system tests are carried out that verify the entire software one last time in one or two days. One result is the release for the rollout.
- Acceptance report: After the rollout, the software is accepted in the production environment. This is recorded in writing.
- Manuals: The reference manual, user manual and videos document the software from the point of view of technology, users, administrators and operators.
9. Project marketing
Do good things and talk about it. This also applies to software projects - and has nothing to do with vanity or boasting. Well planned project marketing creates acceptance for the changes that all good software naturally brings with it.
Project marketing by phases
Project marketing works best when it addresses the questions and concerns of the current project phase. Thus marketing must motivate at the beginning above all and point out the use for the individual. Towards the end, qualification comes to the fore.
10. Project controlling
For BSI, control is not a burden, but a pleasure. Because both sides benefit from a well-controlled project: BSI, because we recognize problems early and avoid subsequent problems. The customer, because he gets an overview and security.
Project controlling is one of the core tasks of the project manager. It enables risks such as lack of resources, schedule or quality problems to be identified and averted at an early stage. Control includes risks, costs, quality and deadlines.
About three months after its introduction, we test how well the software has proven itself in practice - and where there is still room for optimization.
Questions we ask ourselves (and those we face):
- Did the transition into operation go well?
- Is the software used correctly?
- Does everyone have the necessary know-how?
- Were the project goals achieved?
- How high is the user acceptance?
- Is the performance of the software good?