Great! :)
Thanks, we'll contact you soon.
What do an 18-year-old high school senior and a fully established enterprise have in common?
The challenges of the software development lifecycle.
Whether you’re a part of a large corporation or are a young entrepreneur, software development doesn’t play favorites. One thing the software development lifecycle makes simple is the idea that no matter where your project development stands or who is behind the idea, every mobile app development project will face a common set of challenges.
When Aadam Awad, a senior at a local San Diego high school, put his mobile app idea into development, this sentiment rang true. From feature prioritization to writing user stories to maintaining and leadin g a team, Aadam’s project shines a light on the similarities of mobile application development at every level of expertise.
In this article, we’ll share the journey of this software project in addition to challenges that will be all too familiar if you’re involved with the SDLC, solutions, and strategies used to improve decision making (such as deciding or prioritizing MVP features) and efficiency.
Aadam, who started coding at a young age and has always had several ideas for businesses stemming from his interests, decided on a unique way to spend his time constructively that he could take on in tandem with his schooling. The idea began when Aadam saw a need in the e-commerce marketplace, and that idea evolved over time to serve a niche market. The idea for his first large-scale mobile app development project came to fruition: Ubix.
The general functionality of Ubix is to serve as an e-commerce marketplace that allows university students to leverage their community and facilitate the renting of products. The app provides some financial relief for both renters and rentees and promotes the reuse of products that are in high demand for university community members. Integrant experts came in to help bring this idea to life with our mobile app development services
At any point in a mobile app development project, new and unexpected challenges or roadblocks can present themselves. From medical device apps to e-commerce apps, several common challenges occur throughout the software development lifecycle.
MVP FeaturesDeciding on MVP features was the first real challenge Aadam faced when digging in to project planning. As is often the case, when first entering the project, Aadam had an abundant list of features he felt the app would benefit from. However, not every feature can be developed for the first launch. Due to the logistics of app development, Aadam needed to learn how to best prioritize which features would become MVP features and which would be tabled for later development | |
Project Estimates and TimelineDeciding on the project timeline was the next step in software development challenges. Often, ambitious timelines are implemented that don’t always consider factors and common roadblocks that we see in the SDLC such as changing team members, change requests, unclear requirements, and more. Aadam found himself needing more MVP features, meaning more time in production, and a need to adjust the product deadline in the early stages of planning. When Aadam first came into the project planning in June, he had intentions of releasing the app by September to target the start of the fall semester. The team members working with Aadam teach him more about the length of time the functionality of his app would take to develop so that they could come to a more reasonable app launch date. After going over more of the logistics of app development, they concluded that the deadline should be a bit farther out to ensure the initial launch is not rushed. | |
Building and Changing RequirementsChanging requirements is something seen very often in any software project. For mobile apps, this can happen for several reasons. In Aadam’s project, changing requirements came from a change in MVP features and resource allocation. The project needed a solution to approach this roadblock with the best interest of the user in mind. | |
DesignA challenge not unseen by most e-commerce apps was regarding user experience and how to keep users from going outside of the app to complete a transaction. The team needed to come up with a solution that would keep renter and rentee dealings within the grounds of the app rather than losing the transaction to outside communications. | |
Project Resources, Minimizing Roadblocks, and DependenciesAllocating and onboarding resources can be more complex than it seems. Having the right roles for the right amount of time to fit with your estimated schedule is important. So is having a solid onboarding plan to help get new resources up to speed and having efficient and effective knowledge transfer so you don’t skip a beat. In addition to resource allocation, timing the availability of the resources is crucial to a smooth, efficient software project. While many activities can run in parallel and the ability to responding to change is a key component of the agile manifesto, ensuring something like UX is complete so development can fully take place is important to the overall flow of the project. |
Creating successful teams starts with an understanding of how different individual strengths can combine to establish the perfect balance of technical and non-technical skills. Team structure and support can make or break a project. Having the exact expertise your project requires is critical to solving any software development challenges coming your way.
Adam wears several hats when it comes to this project. First, as this is Aadam’s vision, he acted as product owner in addition to project manager. He defined requirements, wrote user stories, and was responsible for the overall team and progress of his mobile application. The project manager also assists in rough wireframe mockups to figure out what each page will look like and where they will be located in the app.
On top of that, Aadam wanted to put his previous programming experience to use. He began learning programming in the fifth grade with a high-level programming language, Scratch, making rudimentary platform games. In middle school, he started learning Java, guiding him towards some basic training in HTML, JavaScript, and CSS.
Despite this background, Aadam admits that there is a huge learning curve when it comes to coding as a hobby and coding professionally. In any project, the product owner’s level of software development expertise varies widely. At Integrant, our team members are prepared to support product owners of all technical and non-technical backgrounds.
Apart from the project manager’s technical skills, non-technical skills such as strong communication and critical thinking abilities are necessary for this role to be as effective as possible. In many situations, the typical Integrant project manager will take on a teaching role to ensure the product owner has all the tools they need to help approach any challenges.
For this project, as it was Aadam’s first large-scale app endeavor, he had a more senior product owner to help with strategies on selecting MVP features, consulting on realistic timelines, writing user stories, and more.
Developing user stories helps present each feature from the perspective of the user and goes into the process of deciding which features are going to be the most crucial to a positive user experience. This is an important part of the process and one that requires some practice.
One key exercise that our senior product owner brought to the table was using swim lanes. Swim lanes were utilized to understand process flow and better understand how features would work and their priority.
In addition to our product owner consultant, our iOS tech lead also assisted Aadam in deciding on MVP features. Another method for this was using MoSCoW method for prioritizing features. He helped Aadam with estimates in regards to how long building certain features would take and how it would fit into an overall project timeline. This helped further determine which features could be tabled during initial development and added on later as updates.
The iOS tech lead advised Aadam in learning the basics of Swift was able to roll his sleeves up and take part in the iOS development. Aadam being able to assist in any front-end iOS development is beneficial for his own technical understanding and the allocation of resources such as time.
Lastly, our iOS tech lead mentors the other engineers on the team and plays a huge leadership role in not only educating the team in technical tasks, but in project management and communication skills as well. No matter how big your team is, it’s important to have tech leads who can communicate with all levels of the organization, has a problem solving mindset, and is able to pivot with you.
In this project, there are three more team members playing key roles in the development of the mobile app.
As a team, these members contribute knowledge for solutions to challenges like changing requirements and user experience. One instance of changing requirements seen in this project so far was regarding an in-app chat feature.
The development team alerted Aadam to a time constraint regarding the development of this feature. An in-app chat feature is more than doable; however, this feature comes with complexity and would add significant time to the project. Through team deliberation, it was decided that the feature was not essential to the success of the initial app launch and ultimately tabled.
From this came a new challenge of how they would now keep users from leaving the app to make transactions if the communication portion of the rental process would be via the user’s phone numbers. The solution to this was to provide incentives for each party, such as insurance policies and refund options, for all transactions completed in the app.
For Adam, the entire project has tasked him with a huge learning curve and is providing a level of experience he believes would have never come out of a typical internship. His biggest lessons learned from this project so far include:
Adam says that throughout the project he has grown a larger appreciation and a more discerning eye for the apps that he uses every day. When asked what advice he would give others starting mobile app development, he had the following advice to share:
The challenges seen in this project with an 18-year-old software entrepreneur might seem familiar regardless of the number of projects you’ve tackled. No matter what your level of technical expertise, your age, company size, or what stage of development you are in, similar ideas and questions present themselves throughout every project.
Working with creative, efficient, and experienced developers can help take your business idea from notebook to mobile application in no time. Whether you’re young and ambitious like Aadam or a member of a highly efficient enterprise, we encourage you to schedule a free consultation today to see how your idea can come to life with Integrant.
Integrant’s Vision is to transform the software development lifecycle through predictable results.