For developers, comfort is a dead end. When a particular practice becomes second nature, it can sink applications like a pair of cement shoes. Speed and efficiency get sucked down and competing applications make it to market first. Blind loyalty to old methodologies holds businesses back, especially once they are moving further and further from application development best practices.
What is the secret sauce that keeps some companies (Google, Amazon, etc.) constantly succeeding? Innovation is baked into their culture. An eager willingness to explore new tools, new practices, and new methodologies makes their applications staples of consumers and businesses everywhere.
How can your next application lock step with these disrupters? Look at your planning, building, and deployment phases to find opportunities for improvement. Freshening up your strategies with these application development best practices can enhance your performance in ways you might not expect.
Requirement gathering has long been a stale process. For starters, the word “requirement” makes interviewing end users, stakeholders, and developers into a begrudgingly accepted chore. And in practice, the results are not exemplary. Less than holistic approaches to requirement gathering result in less insight when developers begin to build their apps.
Focusing on users is no less important, but the way we structure their story affects the end result. That is why many development teams are ditching traditional user cases for story mapping.
In the words of Jeff Patton, an early originator of the story mapping technique, the quality of user stories gathered from traditional methods offer the same amount of guidance as a “bag of context free mulch.” Fibers rich in detail exist at the end, but barely anyone knows the source story that it was collected from. How can you expect your team to visualize the whole story?
Story mapping is different, providing teams with a visualization of the user story, their activities, and the context for each development task. By identifying the activities that are most important to end users, developers can cut out the frills and identify the Minimal Viable Product – the holy grail for fast and efficient development. Often, you will hear it being described as a “walking skeleton” because you can see the structure of your work in place.
The other major benefit is that story mapping has a brief and simple learning curve. End users and stakeholders understand the visual layout of a color-coded story map (yellow for small importance to green for large importance) and have been known to spot needs/activities that need to be part of the map long before your business analysts or developers notice it.
Best of all, once your story map is completed, it is a reference point that can quickly be referred to again during build and deployment phases.
Our industry has long moved beyond Word or Excel documents to manage applications. Project collaboration has taken on a new life in the cloud. That means, developers have access to untold levels of efficiency and real-time collaboration that old techniques cannot compete with.
Take project management tools. Web based platforms like JIRA Atlassian streamline communication and provide team members with a visual way to evaluate project progress. JIRA uses a number of panels, not unlike story mapping, showing which tasks are still in ideation, to do, overdue, or completed status. Any team member connected with the project can make updates, share new ideas, and track issues.
For teams already following Agile methodology, JIRA is a great way to stay current on the objectives of your sprints and for pair programming partners to track their contributions to a given project. Also, you can log and track application glitches so that they are easy to find when your team focuses on refining a program’s working functionality.
The deployment phase is not an island unto itself. Compatible thought processes should carry all throughout the lifecycle of an application. Otherwise, the insight that you fought for in your story mapping stage would crumble after your release. DevOps exists to unify everything from planning to deployment, giving competitive development teams an end-to-end edge.
What separates DevOps from Agile methodologies? This process treats business analysts, developers, and operations team members as equally integral to the health and performance of an application. Silos are razed and communicative collaboration is encouraged between departments from the start.
For example: DevOps involves systems administrators the moment the team begins to explore the underlying vision of your application. This level of inclusion helps to identify extra tasks and requirements in the story mapping phase and ensures that those ideas survive once the application sees the light of day.
What is the end result? A sense of product ownership exists at every level. Companies like Google and Zappos cherish employee ownership as part of their core principles. And both continue to innovate above and beyond their competition.
Quickly Adopting Application Development Best Practices
If your business is looking for new application development best practices, but does not know where to start, we can help you get on the right path. Our diverse group of IT consultants have worked alongside a variety of businesses and continually expose themselves to cutting edge technology. Contact us today and we can connect you with a compatible consultant for your business.