Enterprise software solutions take a lot of planning to get it right the first time. Even with good software development planning, you might need to go back and add revisions to your software. Several types of project management solutions are available, but most have some type of typical planning procedures that help you better manage your project.
Documentation and Requirements
The first step of a good software development plan is gather requirements. The typical people who gather the requirements are project managers and business analysts. Project managers usually manage big and small projects and gather requirements. System and business analysts help identify the software requirements needed to run the project and make the business systems better.
However, if you don’t have PMs or BAs, you can always gather requirements yourself. It’s difficult if it’s an enterprise application. You must go to each stakeholder and ask them to show you the parts of the system that need to be better and any additional functionality they need to perform their job. These stakeholders are typically department managers and executives who make decisions for the company.
The documentation and requirement process can take months to accomplish, especially if you have an enormous application to create. However, it’s imperative that you create the best documentation for your developers. Developers are bound by the business rules highlighted in the documentation. If documentation is incorrect or incomplete, it can mean disaster for the overall project. Bad documentation can mean an end result that does not meet user expectations and will therefore waste time and money for the business in revisions and additional requests that extend the deadline.
Creating “User Stories”
“User stories” is the name given to a list of functionality features required by users to effectively use the software to complete their job requirements. User stories determine the requirements for the software developers. You first must categorize your user stories, because each story has an order in which it can be carried out. For instance, a more complex user story might be better saved until the end of the development process, but easier stories such as graphics and layout can be finished at the beginning. Some stories depend on others, so they need to be programmed after other functional requirements.
User stories are also categorized by level of effort and the time it will take to complete the story. This process is usually done by the software developers, because they usually know the system well and can determine level of difficulty. Level of difficulty also determines which developer will be assigned certain tasks. In big organizations with a large enterprise application, you want your best developers on parts of the application that they know best. This ensures that tasks are not only programmed quickly, but they are also programmed will with each department in mind as the application is revised.
When you review user stories, you should also determine what is a requirement and what is a “nice to have.” A requirement is a priority. A “nice to have” is something that doesn’t need to be programmed unless the development team has extra time. You must be able to identify the two different types. Sometimes, this takes some input from key stakeholders who make decisions for the application.
Planning Poker is a clever way to make meetings for software development fun. In Planning Poker, developers are each given a set of cards. These cards have the numbers 0, 1, 3, 5, 7, 10, 13, and 20 printed on them. The numbers do not represent the number of hours it will take to complete a task. Instead, the numbers represent the level of difficult. Higher numbers represent more difficult tasks. When a task is 13 or more, it’s usually divided into more than one task, because the difficulty is too much to consolidate into only one task.
The goal of Planning Poker is to determine each task’s difficulty level or level of effort. It helps order tasks into level of difficulty and estimate the amount of time it will take to complete a task. This part of the software development planning cycle can take days, but it’s a fun way for developers to get involved with the project and provide input to the business on how long it will take to accomplish the project. Planning Poker plays a huge role in the deadline estimate and the cost of the project.
Sprint meetings are a part of software project planning where the developers get together and determine what tasks much be assigned for the week. Some sprint planning is for two weeks or even for a month. The length of the sprint planning is up to the development team, but it must stay in line with the timeline and what is expected for the project.
The sprint is separated into tasks. Each developer is given his tasks. The tasks given are usually determined by the experience of the developer. In this part of the project planning, it’s important that you know which developer is best suited for each task.
Sprint meetings are an integral part of software development plans, but they also take a large part of the development process when you need to consider the exact timing of a software project timeline. Spring meetings are the “meat” of the whole process, because these meetings determine what each developer must do for the length of the meeting. Again, this length of time could be a week, two weeks or a month. The length of the sprint meeting is totally dependent on the development team and any stakeholders who control the whole process.
Reviews are a part of the software development process where team leads, other developers and essentially the stakeholders have a say in each task as well as the final project completion. Good software development plans allow for some feedback as each task and sprint are completed. The benefit of this is that the project is completed to the stakeholders’ expectations. Without any feedback from stakeholders, developers would be developing blindly and the process would continue until the end. The problem is that the project continues without any feedback from users, and the ultimate result is a project that doesn’t meet users’ expectations. Companies spend thousands and even millions of dollars on failed projects that don’t meet the ultimate goal of the company’s end result.
After each sprint, it’s important that the team lead or development team asks for feedback from the stakeholders. This doesn’t mean that the entire scope can be changed. Instead, the stakeholders give feedback and tell the developers minor tweaks that can be changed to continue the project. Eventually, the feedback leads to a better project that meets the entirety of the project expectations and goals for the company.
Software development plans are hard to get right the first time, but if you focus on the needs of the business and not the needs of the individual, it can be accomplished with success and goals can be completed without a high cost to the business. If you keep business requirements clear from the very beginning, a better software development plan can be made that results in the best software plan in the end.