When you’re working with a team to develop a piece of software, you need to determine the best means for the final product. This requires designing a system that will bring the team together under the best conditions for a successful launch. What are the right steps to include in your creation process? Watch this video to see how working with your software team is a delicate balance between just enough awareness without too much interference.
Why are you trying to define a software development process?
This is the real question. You’re about to run a project and you’re trying to work out how you’re going to run that project. Why are you trying to define the project?
- You are trying to provide a set of rules for your team to work with. You’re trying to state what those rules are and give people a framework that they are trying to work within.
- You’re trying to create a shared understanding for the people in your team so that what one person thinks about what the testing should involve it is the same as what another person thinks. It means there is no chance of an assumption messing things up. If I see that something is ready, I can have the confidence that a certain set of steps have occurred. So you’re trying to create that shared understanding.
- You’re trying to generally improve the quality of your product. You believe that this process is going to produce a good outcome.
- You’re trying to remove or alleviate risks in your project. I mean this from a process perspective, not a from a product perspective. You’re trying to build in enough bits of testing and design to ensure the right people are doing the right jobs and bringing things forward in a good way.
Defining the best process
The best software development process is as lightweight as it can be. That is not saying that there is any upper limit on how involved your process can be. It’s just saying, if you see extraneous steps in there, remove them. The more extraneous steps there are, the more chance there is for people to make mistakes or for things to fall through the cracks. Every jump between parts of the process is a handoff, so we talked about waste. So you want it to be as lightweight as it physically can be, without being underdone.
It satisfies the needs of the project. If you have a project that will run well in waterfall, use waterfall, it’s fine. Think about what you’re trying to achieve and how best you can achieve that. It doesn’t matter whether or not it meets your personal preferences, do the right thing for the project.
The best process should engage every member of your team in the optimal way. If you have people who are brilliant graphic designers and you want a visually stunning product, then you should give them a space in the process that allows them to bring their skills to bear. But at the same time you wouldn’t put a design piece into something where you don’t have someone who can do the job or there is no requirement for it in the process.
Cherry pick your process
So, that is talking about business processes. I love learning about general processes, all of the different ones you can have and cherry picking them when it comes to running a new project. Whenever we start a new project, the first step is to sit down with the people in the team and discuss how you’re going to roll it out.
Think of the waterfall model. It’s a non iterative model. But if you consider you’re going to run your project in the space of one week and that next week you’re going to kick off a new waterfall project, and it’s going to run over the space of a week, really what you’ve now turned it into is an iterative process that is effectively now lean or agile. It doesn’t matter what the labels are. Think of how you can make your software development process work for what you’re trying to do.
Use a delicate balance between support, staying in the loop, and knowing when to rally the troops. Every software project is different, but there are ways to organise groups of people working to a united goal so they can shine forth with their talents. Moving forward cautiously, but confidently is a win-win for a successful launch.
Software design is a unique skill. Do you need help pulling together the right team or support for your unique design? Contact us today.