the importance of software development planning · 2018-01-16 · the importance of software...

2
The importance of software development planning The development environment has changed What do the professionals think? The importance of software development planning It’s been a long time since software was written for only one type of machine with one size of screen. Everything needs to be adaptive. While the number of operating systems have expanded, so have the number of programming languages and screen sizes. Project management has also changed, with the switch to more iterative approaches like Scrum and Lean. But while all these changes have taken place the act of cutting code has stayed fairly similar. Now is the time plan software development with a more logical approach. A recent study into software development planning asked developers and IT professionals to identify the most important benefits of planning a development project before writing any code. The results showed that the most commonly selected reason was “Help to identify problem areas that may need further investigation” (19%). This fits in well with the Agile process, where technical spikes are undertaken to investigate problem areas. However, more often than not a technical spike is only identified right before it happens and can adversely affect project timelines. By actually planning software development early, technical spikes can be added into discussions and added to the timeline strategically. The next most popular reason with 17% was “Help clarify assumptions / requirements”, with the third most popular “To help get everyone on the same level of understanding” receiving 15%. These two reasons help to eliminate software development moving in a different direction than intended and also help to promote practices like peer programming. Benefits of software development planning Identify problem areas that need may need further investigation Helps clarify assumptions / requirements Easier to deal with changes in scope Help identify dependencies and constraints Ensures greater quality To help get everyone on the same level of understanding Encourages team work Helps test planning Better estimation of tasks Minimises unnecessary rework Other Helps to break problems into manageable chunks Overall the study revealed three common themes: Estimation and planning – planning your software development before any code is written aids planning and estimation - not just within the development team but also for Project Managers, Software Testers and Designers. Team work – not only does planning bring the team together and helps everyone have the same level of understanding but it also helps identify dependencies and constraints. This means developers are able to work in a more collaborative way, as they know who to speak to about an identified dependency. Quality – on its own “Ensures greater quality” received 6% of the votes, but combined with “Helps test planning” 4% and “Minimises unnecessary rework” 3%, quality is clearly an area that benefits from development planning.

Upload: others

Post on 12-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The importance of software development planning · 2018-01-16 · The importance of software development planning What should you do? The options are simple - change nothing and go

The importance of software development planning

The development environment has changed

What do the professionals think?

The importance of software development planning

It’s been a long time since software was written for only one type of machine with one size of screen. Everything needs to be adaptive. While the number of operating systems have expanded, so have the number of programming languages and screen sizes. Project management has also changed, with the switch to more iterative approaches like Scrum and Lean. But while all these changes have taken place the act of cutting code has stayed fairly similar. Now is the time plan software development with a more logical approach.

A recent study into software development planning asked developers and IT professionals to identify the most important benefits of planning a development project before writing any code. The results showed that the most commonly selected reason was “Help to identify problem areas that may need further investigation” (19%). This fits in well with the Agile process, where technical spikes are undertaken to investigate problem areas. However, more often than not a technical spike is only identified right before it happens and can adversely affect project timelines. By actually planning software development early, technical spikes can be added into discussions and added to the timeline strategically. The next most popular reason with 17% was “Help clarify assumptions / requirements”, with the third most popular “To help get everyone on the same level of understanding” receiving 15%. These two reasons help to eliminate software development moving in a different direction than intended and also help to promote practices like peer programming.

Benefits of software

development planning

Identify problem areas that need may need further investigation

Helps clarify assumptions / requirements

Easier to deal with changes

in scope

Help identify dependencies

and constraints

Ensures greater quality

To help get everyone on the same level of

understandingEncourages team work

Helps test planning

Better estimation of tasks

Minimises unnecessary rework

Other

Helps to break problems into

manageable chunks

Overall the study revealed three common themes:

• Estimation and planning – planning your software development before any code is written aids planning and estimation - not just within the development team but also for Project Managers, Software Testers and Designers.

• Team work – not only does planning bring the team together and helps everyone have the same level of understanding but it also helps identify dependencies and constraints. This means developers are able to work in a more collaborative way, as they know who to speak to about an identified dependency.

• Quality – on its own “Ensures greater quality” received 6% of the votes, but combined with “Helps test planning” 4% and “Minimises unnecessary rework” 3%, quality is clearly an area that benefits from development planning.

Page 2: The importance of software development planning · 2018-01-16 · The importance of software development planning What should you do? The options are simple - change nothing and go

The importance of software development planning

What should you do?The options are simple - change nothing and go straight to cutting code or you can start planning. Planning is the right way to go. But how do you go about planning?The first step is to look at things from a logical point of view rather than a coding perspective. By breaking down the development into event driven activities, i.e. a user interacts with the system by performing a task, means that already there is synergy between the way the developers are looking at the functionality and also the designers. Let’s take a simple example - the popular nursery rhyme, Jack and Jill.

Conclusion

About the author About Method Map

Software development planning should be included in every project. By planning early and designing the code from a logical point of view ensures that estimation is easy and changes in scope can be handled with minimum impact. Development planning allows for more control on resource planning and helps to aid in collaboration between disparate teams, as they can have the same level of understanding.Using a tool to design your development plan allows for easy on going changes, and as more detail is known the planned methods and functions can be expanded to include extra information, i.e. variables or pseudo code. By using a tool, it also gives access to everyone to have the same viewpoint on the project which ensures continued collaboration.

Dominic Rogers is the founder of Siso Solutions.Siso Solutions helps clients design and build solutions with a focus on user experience and logical thinking. Using their expertise Siso Solutions has also built products to aid in productivity, one of these tools is Method Map.One of Dominic’s passions is breaking down the boundaries between disciplines. He regularly provides training and speaks at meet-ups and conferences on how to bridge the gap between analysis, design and development.

www.siso.co.nz [email protected]

Method Map is designed to make development planning simple.It allows you to plan your development based on logic rather than thinking about actual lines of code.You can identify your methods / functions and define the relationships between them, even defining the parameters and variables that are used.The simple tagging system allows you easily identify methods by either resource or programming language - you decide.Available for Mac and Windows - it’s time to start planning.

Development Planning Made SimpleMETHOD MAP

@

Jack and Jill went up the hillTo fetch a pail of waterJack fell down and broke his crown,And Jill came tumbling after

If we look at the nursery rhyme we can see there are a number of different events that occur:

• They go up the hill• Fetch water• Jack falls down• Jack breaks his crown• Jill tumbles

But we can also see that there are a number of points were assumptions can be made:

• Do Jack and Jill go up the hill together or does one go up the hill first and then the other?

• Do they actually fetch water or is does Jack fall down before they succeed?

• What instigates Jill tumbling, is it Jack falling down or is it the act of Jack breaking his crown?

So, even with a simple nursery rhyme there can be a number of different interpretations. But breaking it down into manageable chunks allows for those assumptions to be identified and discussions to take place around what the intended order and interaction of events are.