We started 2 years ago. we had a technical co-founder/full-stack developer with us. we used the waterfall approach and released our product 1 year ago and since then we moved very slow on development.
our developer/co-founder left us 3 months ago. we recruited another developer and also add two other experienced advisors (managerial and technical) to our team.
we're going to implement a software development/team management methodology to improve our productivity and increase our development speed and quality.
I've studied a lot about it and came to the conclusion that it's better for us to use a combination of scrum and kanban.
what do you think about it? keep that in mind that in this team we haven't used any methodology before.
Kind Regards
If your team is releasing updates constantly & there are edits to the list of features to do, Kanban would be the way to go.
AGILE is best when everything is defined and would not change.
I work in a company that worked on AGILE. But the nature of our team's work would constantly have numerous changes by the client mid-sprint. So, we shifted to Kanban
I have built a number of high-performing teams and defined the respective processes.
Honestly, I don’t think you are asking the right question. Asking for the simple red or the blue pill may be tempting, but it will not get you the results you need. For Scrum or Kanban to work out of the textbook, certain assumptions need to be met (which is rarely the case).
So in order to really improve your situation, you need to
- start with your customers, and understand how you serve them. What is important? What makes their day, and how do you make an impact?
- where is your risk? Is it with developing the wrong product? Or with being too slow/too late?
- do you have stable requirements, or would you need to adjust rather quickly?
And there is more depending on how you operate, or want to operate in order to succeed.
The right process for you needs to be derived from this, and then iteratively refined.
Sorry, this is more work than you looked for, but it will save you a lot of headache trying to make a blueprint work that never fitted in the first place.
Don’t bet your company on a method - shape your processes according to your situation. Get help to get it right.
Process evolution at startup is always a challenge.
Your current team (one developer and 2 advisors) is in actual one member team ( I am assuming that advisors are not doing any technical software development)
Formal SDLC approach will be a challenge and it will always be for this software developer to juggle
a) New feature / functionality development
b) Defect resolution from past year release
c) Any incident , defect or change in the past year release
My suggestion would be to build an ServiceDesk like item log ( divided into three categories above) and prioritize for the developer in consultation with manager and technical advisor.
To understand which one among these three is good for you, you must look at the differences they will make to your product. Let me consider the difference from all aspects, so that you can make a better judgment.
1. Roles and Responsibilities.
Kanban: There are no pre-defined roles for a team. Although there may still be a Project Manager, the team is encouraged to collaborate and chip in when any one person becomes overwhelmed.
Scrum: Each team member has a predefined role, where the Scrum master dictates timelines, Product owner defines goals and objectives, and team members execute the work
2. Due Dates / Delivery Timelines.
Kanban: Products and processes are delivered continuously on an as-needed basis (with due dates determined by the business as needed).
Scrum: Deliverables are determined by sprints or set periods of time in which a set of work must be completed and ready for review.
3. Delegation & Prioritization.
Kanban: Uses a “pull system,” or a systematic workflow that allows team members to only “pull” new tasks once the previous task is complete.
Scrum: Also uses a “pull system” however an entire batch is pulled for each iteration.
4. Modifications / Changes.
Kanban: Allows for changes to be made to a project mid-stream, allowing for iterations and continuous improvement prior to the completion of a project.
Scrum: Changes during the sprint are strongly discouraged.
5. Measurement of Productivity:
Kanban: Measures production using “cycle time,” or the amount of time it takes to complete one full piece of a project from beginning to end.
Scrum: Measures production using velocity through sprints. Each sprint is laid out back-to-back and/or concurrently so that each additional sprint relies on the success of the one before it.
6. Best Applications.
Kanban: Best for projects with widely varying priorities.
Scrum: Best for teams with stable priorities that may not change as much over time.
This is the difference primarily between Kanban & Scrum, now we will investigate the difference between Scum, Kanban and Scrumban
1. Scrum: Scrum is one of the dominant Agile frameworks which has a set of guidelines that manage the development of product. Methodology is iterative, measurable and incremental, since it focuses on really tightening up development cycles, which are based on scope that is divided into smaller tasks amounts of effort called sprints, rather than extensive planning, building, testing or deployment.
Advantages:
I. Iterative and incremental method allows tracking of a project workflow and provides intermediate results.
II. Adaptability for product development: scrum allows you to change priorities and requirements. Also, add modifications or features quickly.
III. Participation and enhancing communication: all team members are involved into process and motivated to express their opinion and contribute to all decisions. Team can easily communicate and eliminate obstacles as soon as possible.
IV. Cooperation: enhanced customer and client relationships by daily communication.
V. Increasing productivity: it allows to deliver products more quickly by determining an estimation and comparing the performance of team productivity.
Disadvantages:
I. Requires experienced team: usually, scrum methodology is applied for small 5-8 people teams. Team members must be committed to the project, as this framework requires experienced team. If a team consists of novices in this area, there might be a risk of not to completing the project on time. Moreover, strict control over the team might put a lot of pressure on them which may also lead to failure.
II. Time expenses: after each sprint, a new sprint planning needs to be done, which may consume a lot of time if a longer sprint is planned. Unexpected issues may also hinder the process of completing a sprint on time, thus more time will be needed to remove those issues.
III. Scope creep: scrum does not have a defined end date. For this reason, a released work may not have everything that the stakeholders want, and new features are needed to be released.
IV. Iteration definition: the scrum estimation is one of the hardest and wasteful parts, as tasks must be well defined, otherwise estimated project costs and time will not be precise.
Kanban: Kanban is a Lean scheduling manufacture system developed in Japan. A Kanban system utilizes visual cues that calculate what to produce, when to produce and how much to produce. Kanban is intended to manage the workflow and increase performance which aims are to focus the efforts on the items that bring value to the end customer and remove waste.
Advantages:
I. Reduces waste and scrap: products are manufactured only then when they are needed. In this way overproduction is eliminated.
II. Inventory level management: Kanban has great inventory practices which smoothens out inventory levels and eliminates carrying costs.
III. Flexibility in production: Kanban ensures you are not stuck with excess inventory if there is a sudden drop in demand for a product.
IV. Increases productivity and efficiency: Kanban helps to eliminate the time waste and people can focus on current work. For this reason, making supplies is more accessible and productivity increases.
Disadvantages:
I. Less effective in shared-resource situations: suppose that upward production line is made of several parts. Downstream line requires make more parts, but it requires a buffer to ensure that downstream station does not run out. System becomes more complex because each part needs a separate signalling card.
II. Inflexible in demand changes and product mix: Kanban system assumes there is a stable production plan, where supplier always delivers components for production when it is needed. Therefore, the system is not suitable for industries where volumes and mixes of production fluctuate.
III. Variability elimination: system can be disrupted by unpredictable and lengthy down times and any variability may affect system’s functions.
IV. Production flow: because Kanban requires planned weekly and monthly schedules linked with day-to-day flexibility, it may not be possible in an environment where multiple or short length product types are manufactured.
Scrumban: Scrumban is a mixed methodology of both Scrum and Kanban which increases adaptability and universality for product manufacturing and support focused companies.
Advantages:
I. Saving time: Scrumban uses planning on demand technique so there is no need to do estimating or sprint planning. Team plans only when there is a demand. For this reason, team members get extra day of work.
II. Quality: saved time on planning allows to focus on quality control and to verify if work item is ill-formed. Saved time allows to control a manufacturing process and to inspect if work is promoted to the ready queue. If something ill-formed is found, then it gets bounced and troubles are eliminated, then process is repeated once again.
III. Waste minimization: Scrumban uses inter-process buffers and flow diagrams to show weaknesses and opportunities of the process. This gives an opportunity to eliminate everything that is not adding value to the customer.
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath