Problems with product development
I'm just starting out in the software development world and I'm trying to learn as much as possible.
I am currently working on an assignment about a scenario where a company / dev team has problems with their product development - both in building new features, as well as in developing a completely new product. And I mean a situation where the developers are actually stuck and/or the manpower of the team isn't enough.
If any of you have ever experienced those issues, what have you done?
I'd be grateful to get some insights if you're able to share some.
Thanks in advance!
Do you have an understanding of how much time is spent fighting technical debt? How is it visualized, quantified and managed? That might be a good place to start.
Not knowing the detail, some areas where things can go wrong.
Technical debt, over engineering, overly complex architecture are some reasons progress are slow. Also building all at once and not defining a minimal viable product with proper increment slices.
On the process side, to many items in progress, chop and change/switching between items or no priority (everything is important) or priorities change frequently. (The last is often a knee jerk reaction from management when things go slow. Instead of letting an item finish, keep jumping around work items) Having a top down decision making and low morale, infighting etc. Not embracing team empowerment where the team that knows best should be allowed to make decisions.
Then what is slow progress? Did the team agree to the timeline? Are the timelines and "deadlines" set to be unachievable?
A final resort, one can increase the amount of developers or upskill developers, but this is a longer term approach. New developers take time to adjust in a new team.
For some reason this sounds very much like a college homework assignment from a management class. If so, I doubt that the professor would appreciate Scrum based answers. But that is just my opinion. But my answers will be in the spirit of my opinion.
The problem may not be about the developers. It could be about the organization not understanding how software development works. @Pierre gives some good pointers. I'll try to give a few more.
Does the organization understand what their products are? Do they have a single source of information on what is needed for the product in order to make it more viable? Is that information conveyed clearly to the developers in a way that they understand what has to be built and why? Where is that information coming from? Is it "someone's good idea" or is it something that is being asked for by the end users/stakeholders? Is any of the work that is being done by the developers being shared with the end users/stakeholders as it is being done in order to gain feedback on the direction?
Is the organization delivering increments of value to the end users/stakeholders? For example, instead of delivering a product that does "everything" are they willing to deliver small parts of complete functionality to the end users/stakeholders in order to get feedback and course correct as they go? An example of this would be for a messaging app. Instead of delivering something that does text, SMS, video messaging with automatic language translation to every known language (including Klingon) and AI generated emojis would they be willing to deliver simple text messaging without any translation by itself? Get some feedback from the users and then work on introducing the next "slice" of functionality. This will allow for shorter cycles of development and will allow the developers to be more focused on specific problems rather than having to take everything into account from the beginning.
Good luck with your homework assignment. I hope some of the information we give you will help.
I truly appreciate you guys taking the time to respond - your suggestions and insights are actually really valuable to me!
@Daniel, it's actually to formulate the basis for an ethnography project, but I can see your point with the management class. :)
Again, thank you very much!