Wherever you look today, you can see the existence of mobility. Its omnipresence is felt and experienced by us all every time our colleagues and friends whip out a shiny, brightly lit rectangle, and swipe away at it. We all enjoy the style and comfort that the smartphones bring to our lives, along with the hundreds of applications that we have loaded on them. However, have you ever wondered what it takes to put the colorful icon on your favorite gadget? The mobile developers work hard to get you the functionality and features you so love.Just like mobility has transformed our personal lives, it has a huge impact on the software development lifecycle (SDLC). Development for mobile is significantly different from the development for Personal computers. The differences are not just limited to the platform or the code; there are fundamental differences in the approach in the two models. This is because the challenges faced by the teams coding for smartphones are quite different. They have higher workloads, expected to have a faster turnaround time, while ensuring the satisfaction of their customers, who demand high quality outputs.These challenges call for a very different application lifecycle. It needs to get shorter, iterative instead of big bang, requires more testing, and needs to have a special focus on security.ShorterIt is a lot tougher to manage the lifecycle of mobile apps as compared to the traditional web projects. The application process has to be speedy and much more flexible which means that the expected turnaround time for an application is not more than 60 days. Also, the technology in mobile devices is constantly evolving and to keep up with the same, developers have to constantly work under pressure. The evolution of the underlying platforms is also much faster. You cannot partake in the luxury of designing a project plan for six months. If you do, by the time the application goes live, it could be obsolete. IterativeShorter development cycles mean you cannot have the big bang approach and launch your app with all the bells and whistles. Therefore, you need to follow an iterative model, wherein you go live with a select set of features core to the functionality you were going for, and then add features and functionalities over a period of time.This approach has many benefits. Firstly, you get to spend more time focused on a smaller number of tasks, rather than having too many balls in the air at the same time. Also, the users of the application feel engaged since they are getting regular update. The users also feel that the dev team is still thinking about them. Another benefit is that you can tweak for the platform and content changes as they happen, rather than having to modify a fully developed and functionally complete product.Tougher testingSince the mobile landscape is fragmented and complex, with so many permutations of operating systems and devices, the testing is very challenging. The number of environments and use cases is just mind-boggling. Some analysts believe that mobile apps require three times the number of developers associated with the dev teams, compared to the traditional apps.Security is importantMobile devices and the apps that run on them demand security. This is because the likelihood for getting these devices lost or stolen is pretty high. Moreover, these devices carry a lot of sensitive data that drives the need for security testing. The Software teams that have never taken security seriously before are welcoming this change.