Business Online is developed by following agile software development methodology
Team and Stakeholders
Agile Principles
Agile methodology is a set of principles that changes the way people view and perform software development:
- Individuals and interactions over processes and tools
- "A fool with a tool is still a fool!" - appreciate people and the way they work together.
- Working software over comprehensive documentation
- Focus on the delivered increments of the software.
- Customer collaboration over contract negotiation
- Discover what stakeholders need and teach them along the way, so that changes can happen - It is normal for stakeholders to fail to describe what they want on the first attempt.
- Responding to change over following a plan
- Change is a reality in software development that our process must reflect. It is very good to have a plan, but it must be possible to change it as the situation changes, otherwise the plan quickly becomes irrelevant.
The left part of the statements is more important to us. But don’t be fooled: the right part is also important, but to a lesser degree.
Team Values
These are the values our team follows
- Focus
- We focus our work on only a few things at a time, so we can produce excellent work and deliver valuable solutions faster.
- Courage
- We are and feel supported and have more resources at our disposal. This gives us the courage to take on greater challenges.
- Openness
- We are not afraid to express how we feel, what is coming up, and our concerns so they can be resolved as soon as possible.
- Commitment
- We have better control over what is happening now and in the future, which makes us more committed to success.
- Respect
- By sharing successes and failures, we will respect and help each other every day.
Organization and Objectives
- Since we believe in constant improvement, our teams are fixed.
- This means that each team is responsible for several products and has the knowledge of the products spread throughout the team.
- It is up to the team’s backlog owner to prioritize the team backlog and indicate which products the team should work on next.
- The team can easily be scaled in case there is a need to increase development capacity.
- We want to spread technical and functional knowledge to everyone in the team.
- We want our teams to be cross-functional.
- Easy to manage when someone in the team has schedule constraints.
- We want to allow the development of synergies in each team.
- Always looking for improvements in our ways of working in each team.
- Development of a close connection with each other in the team.
- Easier to maintain these synergies if there are not many structural changes.
Roles
Our teams are made up of professionals with clearly defined roles:
- Product Owner/Team Backlog Owner
- Technical Project Manager
- Business Analyst
- Tester
- Developer
- Process Master
- Infrastructure
Benefits
- Constant internal process improvement in the team.
- Maintain and further improve development capacity.
- Deliver better and more consistent work.
- Handle development of multiple products simultaneously.
- Cross-functional team – everyone understands and knows how to perform most tasks.
- By not changing the team, we do not introduce noise that can affect communication and work capacity.
- Better collaboration between team and management.
Development Process
Based on proven agile methodologies, our project management practices leverage our capabilities while allowing us to be flexible enough to meet different customer needs.
We have a well-defined process that focuses on:
- Lifecycle
- Communication
- Project tracking
- Deployment
Lifecycle
- Our development process consists of a series of iterations;
- Each iteration adds incremental value (functionality) to the product;
- Small iterations allow for the introduction of changes/fixes in a short timeframe – just plan them for the next iteration;
- The user stories included in each iteration are selected by the team based on the current priorities in the Backlog;
- The amount of user stories selected takes into account the timeframe for each iteration;
- Support for existing products can easily be planned to be part of an iteration.
Our iterations are usually two weeks long
Internal Collaboration
We implement feedback loops to ensure everyone is updated on what is happening and to identify possible changes and improvements faster
- Code review: continuous, by the development team
- Daily Standup: Daily
- Scrum of Scrum: Weekly, with the project teams
- Iteration planning: Every other week
- Backlog grooming: Every other week
- Demo: At the end of each iteration
- Retrospective: After each demo
Lifecycle and Communication
Lifecycle and communication focus allows us to plan, collaborate, and deliver value to the product
Progress and Deployment
Project Tracking
We use good tools to manage our work. These allow us to:
- Document requirements as user stories.
- Each user story indicates what the user needs and why, and it is supplemented with a set of clearly defined acceptance criteria.
- All information about development, code check-in, code review, testing, and deployment is attached and traceable in each user story.
- User stories are usually divided into technical tasks so that developers can easily keep track of what everyone is doing.
- Deployment
- We provide a pre-production environment for iQubeS Management to test the different product releases when they are ready.
Benefits
The implementation of this process gives us:
- Better predictability
- We know what we are working on now, and what we will work on later.
- Constant feedback
- Through the feedback loop, everyone knows what is happening, which increases project transparency.
- Better involvement
- By keeping everyone informed and accountable, participants will feel and have a say in the outcome of the development phase.
- The customer gets exactly what they need
- All these benefits allow us and iQubeS Management to understand and improve the requirements as we go, so that the customer ultimately gets exactly what they need.
Comments
0 comments
Please sign in to leave a comment.